27 lines
758 B
TypeScript
27 lines
758 B
TypeScript
// File: lib/stores/ui-store.ts
|
|
import { create } from 'zustand';
|
|
import { persist } from 'zustand/middleware';
|
|
|
|
interface UIState {
|
|
isSidebarOpen: boolean;
|
|
toggleSidebar: () => void;
|
|
closeSidebar: () => void; // ✅ เพิ่มกลับมา
|
|
openSidebar: () => void; // ✅ เพิ่มกลับมา
|
|
}
|
|
|
|
export const useUIStore = create<UIState>()(
|
|
persist(
|
|
(set) => ({
|
|
isSidebarOpen: true,
|
|
|
|
toggleSidebar: () => set((state) => ({ isSidebarOpen: !state.isSidebarOpen })),
|
|
|
|
// ✅ เพิ่ม Implementation กลับมา
|
|
closeSidebar: () => set({ isSidebarOpen: false }),
|
|
openSidebar: () => set({ isSidebarOpen: true }),
|
|
}),
|
|
{
|
|
name: 'sidebar-state',
|
|
}
|
|
)
|
|
); |