32 lines
694 B
TypeScript
32 lines
694 B
TypeScript
import { createSlice } from '@reduxjs/toolkit';
|
|
import type { PayloadAction } from '@reduxjs/toolkit';
|
|
|
|
export interface QMCSettings {
|
|
keys: Record<string, string>; // { [fileName]: ekey }
|
|
}
|
|
|
|
export interface SettingsState {
|
|
qmc2: QMCSettings;
|
|
}
|
|
|
|
const initialState: SettingsState = {
|
|
qmc2: { keys: {} },
|
|
};
|
|
|
|
export const settingsSlice = createSlice({
|
|
name: 'settings',
|
|
initialState,
|
|
reducers: {
|
|
updateSettings: (_state, { payload }: PayloadAction<SettingsState>) => {
|
|
return payload;
|
|
},
|
|
resetConfig: () => {
|
|
return initialState;
|
|
},
|
|
},
|
|
});
|
|
|
|
export const { updateSettings, resetConfig } = settingsSlice.actions;
|
|
|
|
export default settingsSlice.reducer;
|