2
0
mirror of https://github.com/hibiken/asynqmon.git synced 2025-10-26 08:16:10 +08:00

Use redux for drawer open state

This commit is contained in:
Ken Hibino
2021-01-22 22:26:04 -08:00
parent 3547d27214
commit 1eafcbeed5
3 changed files with 34 additions and 9 deletions

View File

@@ -2,21 +2,27 @@ import { ThemePreference } from "../reducers/settingsReducer";
// List of settings related action types.
export const POLL_INTERVAL_CHANGE = "POLL_INTERVAL_CHANGE";
export const THEME_PREFERENCE_CHANGE = "THEME_PREFERENCE_CHANGE";
export const TOGGLE_DRAWER = "TOGGLE_DRAWER";
interface PollIntervalChangeAction {
type: typeof POLL_INTERVAL_CHANGE;
value: number; // new poll interval value in seconds
}
interface ToggleDarkThemeAction {
interface ThemePreferenceChangeAction {
type: typeof THEME_PREFERENCE_CHANGE;
value: ThemePreference;
}
interface ToggleDrawerAction {
type: typeof TOGGLE_DRAWER;
}
// Union of all settings related action types.
export type SettingsActionTypes =
| PollIntervalChangeAction
| ToggleDarkThemeAction;
| ThemePreferenceChangeAction
| ToggleDrawerAction;
export function pollIntervalChange(value: number) {
return {
@@ -31,3 +37,7 @@ export function selectTheme(value: ThemePreference) {
value,
};
}
export function toggleDrawer() {
return { type: TOGGLE_DRAWER };
}