Files
openchamber/packages/ui/src/stores/useSessionDisplayStore.ts
T

28 lines
828 B
TypeScript

import { create } from 'zustand';
import { persist } from 'zustand/middleware';
export type SessionDisplayMode = 'default' | 'minimal';
type SessionDisplayStore = {
displayMode: SessionDisplayMode;
showRecentSection: boolean;
setDisplayMode: (mode: SessionDisplayMode) => void;
setShowRecentSection: (show: boolean) => void;
toggleRecentSection: () => void;
};
export const useSessionDisplayStore = create<SessionDisplayStore>()(
persist(
(set) => ({
displayMode: 'default',
showRecentSection: true,
setDisplayMode: (mode) => set({ displayMode: mode }),
setShowRecentSection: (show) => set({ showRecentSection: show }),
toggleRecentSection: () => set((state) => ({ showRecentSection: !state.showRecentSection })),
}),
{
name: 'session-display-mode',
},
),
);