'use client';

/**
 * Zustand store for portal sidebar UI state.
 *
 * Manages the mobile menu open/close state for the Client Portal sidebar.
 * Separate from the dashboard sidebar store to avoid state conflicts.
 */

import { create } from 'zustand';

export interface PortalSidebarState {
  isMobileOpen: boolean;
  openMobile: () => void;
  closeMobile: () => void;
  toggleMobile: () => void;
}

export const usePortalSidebarStore = create<PortalSidebarState>()((set) => ({
  isMobileOpen: false,
  openMobile: () => set({ isMobileOpen: true }),
  closeMobile: () => set({ isMobileOpen: false }),
  toggleMobile: () => set((state) => ({ isMobileOpen: !state.isMobileOpen })),
}));
