import { create } from 'zustand';

interface DockviewStore {
  layoutConfig: any | null;
  setLayoutConfig: (config: any) => void;
  resetLayoutConfig: () => void;
}

/**
 * Store global para manejar el estado del layout de Dockview.
 * Guarda y restaura la configuración del layout (panels, groups, floating, etc).
 */
export const useDockviewStore = create<DockviewStore>((set) => ({
  layoutConfig: null,

  // Guarda la configuración serializada
  setLayoutConfig: (config) => set({ layoutConfig: config }),

  // Limpia el layout almacenado
  resetLayoutConfig: () => set({ layoutConfig: null }),
}));
