'use client'; import { ReactNode } from 'react'; import { create } from 'zustand'; import { devtools } from 'zustand/middleware'; export type FinanceTabActionsSlice = { // State - actions per tab ID tabActions: Record; // Actions setTabActions: (tabId: string, actions: ReactNode) => void; clearTabActions: (tabId: string) => void; clearAllTabActions: () => void; }; export const useFinanceTabStore = create()( devtools( (set) => ({ tabActions: {}, setTabActions: (tabId, actions) => set( (state) => ({ tabActions: { ...state.tabActions, [tabId]: actions, }, }), false, 'setTabActions' ), clearTabActions: (tabId) => set( (state) => { const { [tabId]: _, ...rest } = state.tabActions; return { tabActions: rest }; }, false, 'clearTabActions' ), clearAllTabActions: () => set({ tabActions: {} }, false, 'clearAllTabActions'), }), { name: 'FinanceTabStore', } ) );