import { create } from 'zustand'; interface UIState { sidebarOpen: boolean; panelOpen: boolean; settingsOpen: boolean; course: string; draft: string; setDraft: (d: string) => void; setSidebar: (v: boolean) => void; setPanel: (v: boolean) => void; setSettings: (v: boolean) => void; setCourse: (c: string) => void; } export const useUI = create((set) => ({ sidebarOpen: false, panelOpen: false, settingsOpen: false, course: localStorage.getItem('uqo.course') || 'IMM1003', draft: '', setDraft: (d) => set({ draft: d }), setSidebar: (v) => set({ sidebarOpen: v }), setPanel: (v) => set({ panelOpen: v }), setSettings: (v) => set({ settingsOpen: v }), setCourse: (c) => { localStorage.setItem('uqo.course', c); set({ course: c }); }, }));