refactor(ui): refactor persist config

Add more structure around persist configs to avoid bugs from typos and misplaced persist denylists.
This commit is contained in:
psychedelicious
2024-02-03 20:18:13 +11:00
committed by Kent Keirsey
parent 0976ddba23
commit c1300fa8b1
24 changed files with 175 additions and 189 deletions

View File

@ -1,6 +0,0 @@
import type { CanvasState } from './canvasTypes';
/**
* Canvas slice persist denylist
*/
export const canvasPersistDenylist: (keyof CanvasState)[] = [];

View File

@ -1,6 +1,6 @@
import type { PayloadAction } from '@reduxjs/toolkit';
import { createSlice } from '@reduxjs/toolkit';
import type { RootState } from 'app/store/store';
import type { PersistConfig, RootState } from 'app/store/store';
import { roundDownToMultiple, roundToMultiple } from 'common/util/roundDownToMultiple';
import calculateCoordinates from 'features/canvas/util/calculateCoordinates';
import calculateScale from 'features/canvas/util/calculateScale';
@ -731,3 +731,10 @@ export const migrateCanvasState = (state: any): any => {
}
return state;
};
export const canvasPersistConfig: PersistConfig<CanvasState> = {
name: canvasSlice.name,
initialState: initialCanvasState,
migrate: migrateCanvasState,
persistDenylist: [],
};