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

26 lines
690 B
TypeScript
Raw Normal View History

2024-07-09 19:53:50 -05:00
'use client';
import { merge } from 'lodash';
import { create } from 'zustand';
import { persist, subscribeWithSelector } from 'zustand/middleware';
2024-09-08 10:42:34 -05:00
import { createNextSafeStore } from '../core/zustand/createNextSafeStore';
2024-07-09 19:53:50 -05:00
export type DeltaMode = 'none' | 'percentage' | 'absolute';
export interface ComparePersistent {
deltaMode: DeltaMode;
}
export const { Provider, use, useMutation, useStore } = createNextSafeStore(
() =>
create<ComparePersistent>()(
persist(
subscribeWithSelector<ComparePersistent>(() => ({
deltaMode: 'none',
})),
{
name: 'compare',
merge: (a, b) => merge(b, a),
},
),
),
);