1import { create } from 'zustand';23interface UIState {4 sidebarOpen: boolean;5 panelOpen: boolean;6 settingsOpen: boolean;7 course: string;8 setSidebar: (v: boolean) => void;9 setPanel: (v: boolean) => void;10 setSettings: (v: boolean) => void;11 setCourse: (c: string) => void;12}1314export const useUI = create<UIState>((set) => ({15 sidebarOpen: false,16 panelOpen: false,17 settingsOpen: false,18 course: localStorage.getItem('uqo.course') || 'IMM1003',19 setSidebar: (v) => set({ sidebarOpen: v }),20 setPanel: (v) => set({ panelOpen: v }),21 setSettings: (v) => set({ settingsOpen: v }),22 setCourse: (c) => {23 localStorage.setItem('uqo.course', c);24 set({ course: c });25 },26}));27