systemModeSlice.ts 675 B

123456789101112131415161718192021222324252627282930
  1. import { createSlice, PayloadAction } from '@reduxjs/toolkit';
  2. export const SystemMode = {
  3. Unkonwn: 'Unknown',
  4. Emergency: 'Emergency',
  5. Normal: 'Normal',
  6. } as const;
  7. export type SystemMode = (typeof SystemMode)[keyof typeof SystemMode];
  8. interface SystemModeState {
  9. mode: SystemMode;
  10. }
  11. const initialState: SystemModeState = {
  12. mode: SystemMode.Unkonwn,
  13. };
  14. const systemModeSlice = createSlice({
  15. name: 'systemMode',
  16. initialState,
  17. reducers: {
  18. setSystemMode: (state, action: PayloadAction<SystemMode>) => {
  19. state.mode = action.payload;
  20. },
  21. },
  22. });
  23. export const { setSystemMode } = systemModeSlice.actions;
  24. export default systemModeSlice.reducer;