mirror of
https://github.com/blitzkit/blitzkit.git
synced 2026-10-24 12:09:51 +02:00
feat: migrate session store
This commit is contained in:
1 parent
3a31191d9a
commit
f423f8f797
3 files changed
+31
-25
No files matched your search
+12
-13
@@ -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));
|
||||
}
|
||||
Reference in new issue
Block a user