- Reorganize into apps/, packages/, docs/, e2e/, pocketbase/ directories - Add Dockerfiles for web, worker, and PocketBase services - Add docker-compose.yml for local orchestration - Add turbo.json for monorepo task management - Add Playwright e2e test infrastructure - Add PocketBase backend with migrations - Remove Vite/Next.js/ESLint/PostCSS config files - Update package.json with workspace dependencies - Add .env.example and .dockerignore
29 lines
654 B
TypeScript
29 lines
654 B
TypeScript
import { create } from 'zustand';
|
|
import { persist } from 'zustand/middleware';
|
|
|
|
interface SidebarState {
|
|
collapsed: boolean;
|
|
mobileOpen: boolean;
|
|
|
|
// Actions
|
|
toggle: () => void;
|
|
setCollapsed: (collapsed: boolean) => void;
|
|
setMobileOpen: (open: boolean) => void;
|
|
}
|
|
|
|
export const useSidebarStore = create<SidebarState>()(
|
|
persist(
|
|
(set) => ({
|
|
collapsed: false,
|
|
mobileOpen: false,
|
|
|
|
toggle: () => set((state) => ({ collapsed: !state.collapsed })),
|
|
setCollapsed: (collapsed) => set({ collapsed }),
|
|
setMobileOpen: (mobileOpen) => set({ mobileOpen }),
|
|
}),
|
|
{
|
|
name: 'project-e-sidebar',
|
|
}
|
|
)
|
|
);
|