feat: migrated app store

This commit is contained in:
TrèsAbhi committed 2024-07-09 20:05:34 -05:00
1 parent 5aa4b262f8
commit cf841c9bb2
14 files changed
+156 -191

No files matched your search

+1
View File
@@ -0,0 +1 @@
export const CURRENT_POLICIES_AGREEMENT_INDEX = 0;
+14 -17
View File
@@ -1,7 +1,7 @@
import { produce } from 'immer';
import { merge } from 'lodash';
import { create } from 'zustand';
import { persist } from 'zustand/middleware';
import { createNextSafeStore } from '../../core/zustand/createNextSafeStore';
interface WargamingLogin {
id: number;
@@ -25,20 +25,17 @@ export interface App {
policiesAgreementIndex: number;
}
export const CURRENT_POLICIES_AGREEMENT_INDEX = 0;
export const useApp = create<App>()(
persist(
(set) => ({
devBuildAgreementTime: 0,
developerMode: false,
policiesAgreementIndex: -1,
logins: {},
}),
{ name: 'app', merge: (a, b) => merge(b, a) },
),
export const { Provider, use, useMutation, useStore } = createNextSafeStore(
() =>
create<App>()(
persist(
(set) => ({
devBuildAgreementTime: 0,
developerMode: false,
policiesAgreementIndex: -1,
logins: {},
}),
{ name: 'app', merge: (a, b) => merge(b, a) },
),
),
);
export function mutateApp(recipe: (draft: App) => void) {
useApp.setState(produce(recipe));
}