feat: migrate session store

This commit is contained in:
TrèsAbhi committed 2024-07-09 19:42:57 -05:00
1 parent 3a31191d9a
commit f423f8f797
3 files changed
+31 -25

No files matched your search

+12 -13
View File
@@ -1,9 +1,9 @@
import { produce } from 'immer';
import { merge } from 'lodash';
import { create } from 'zustand';
import { persist } from 'zustand/middleware';
import { Region } from '../constants/regions';
import { Stat } from '../core/blitz/generateStats';
import { createNextSafeStore } from '../core/zustand/createNextSafeStore';
import { IndividualTankStats } from '../types/tanksStats';
interface SessionBase {
@@ -26,16 +26,15 @@ interface SessionNotTracking extends SessionBase {
type Session = SessionTracking | SessionNotTracking;
export const useSession = create<Session>()(
persist(
(set) => ({
columns: ['battles', 'winrate', 'wn8', 'averageDamage'],
tracking: false,
}),
{ name: 'session-2', merge: (a, b) => merge(b, a) },
),
export const { Provider, use, useMutation, useStore } = createNextSafeStore(
() =>
create<Session>()(
persist(
(set) => ({
columns: ['battles', 'winrate', 'wn8', 'averageDamage'],
tracking: false,
}),
{ name: 'session-2', merge: (a, b) => merge(b, a) },
),
),
);
export default function mutateSession(recipe: (draft: Session) => void) {
useSession.setState(produce(recipe));
}