2023-01-03 19:55:46 +00:00
|
|
|
// Copyright 2021 Signal Messenger, LLC
|
2021-08-18 20:08:14 +00:00
|
|
|
// SPDX-License-Identifier: AGPL-3.0-only
|
|
|
|
|
|
|
|
import { ipcRenderer } from 'electron';
|
2024-11-18 19:20:23 +00:00
|
|
|
import type { Middleware, UnknownAction } from 'redux';
|
2021-08-18 20:08:14 +00:00
|
|
|
|
2022-09-15 20:10:46 +00:00
|
|
|
import {
|
|
|
|
COLORS_CHANGED,
|
|
|
|
COLOR_SELECTED,
|
|
|
|
SET_VOICE_NOTE_PLAYBACK_RATE,
|
|
|
|
} from '../state/ducks/conversations';
|
2021-08-18 20:08:14 +00:00
|
|
|
|
2021-11-11 22:43:05 +00:00
|
|
|
export const dispatchItemsMiddleware: Middleware =
|
|
|
|
({ getState }) =>
|
|
|
|
next =>
|
2024-11-18 19:20:23 +00:00
|
|
|
_action => {
|
|
|
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
|
|
const action = _action as any as UnknownAction;
|
2021-11-11 22:43:05 +00:00
|
|
|
const result = next(action);
|
|
|
|
if (
|
|
|
|
action.type === 'items/PUT' ||
|
|
|
|
action.type === 'items/PUT_EXTERNAL' ||
|
|
|
|
action.type === 'items/REMOVE' ||
|
|
|
|
action.type === 'items/REMOVE_EXTERNAL' ||
|
|
|
|
action.type === 'items/RESET' ||
|
|
|
|
action.type === COLOR_SELECTED ||
|
2022-09-15 20:10:46 +00:00
|
|
|
action.type === COLORS_CHANGED ||
|
|
|
|
action.type === SET_VOICE_NOTE_PLAYBACK_RATE
|
2021-11-11 22:43:05 +00:00
|
|
|
) {
|
|
|
|
ipcRenderer.send('preferences-changed', getState().items);
|
|
|
|
}
|
|
|
|
return result;
|
|
|
|
};
|