Files
blitzkit/packages/website/src/stores/comparePersistent.ts
T

24 lines
688 B
TypeScript
Raw Normal View History

2024-09-14 19:43:14 -05:00
import lodash from 'lodash-es';
2024-07-09 19:53:50 -05:00
import { create } from 'zustand';
import { persist, subscribeWithSelector } from 'zustand/middleware';
2024-09-21 20:26:58 -05:00
import { createContextualStore } from '../core/zustand/createContextualStore';
2024-07-09 19:53:50 -05:00
export type DeltaMode = 'none' | 'percentage' | 'absolute';
export interface ComparePersistent {
deltaMode: DeltaMode;
}
2024-09-21 20:26:58 -05:00
export const { Provider, use, useMutation, useStore } = createContextualStore(
() =>
2024-07-09 19:53:50 -05:00
create<ComparePersistent>()(
persist(
subscribeWithSelector<ComparePersistent>(() => ({
deltaMode: 'none',
})),
{
name: 'compare',
2024-09-14 18:32:36 -05:00
merge: (a, b) => lodash.merge(b, a),
2024-07-09 19:53:50 -05:00
},
),
),
2024-09-21 20:26:58 -05:00
);