UNPKG

@gamesberry/karmyc-core

Version:

A flexible and powerful layout management system for React applications

34 lines (33 loc) 953 B
import { StateCreator } from 'zustand'; import { RootStateType } from '../store'; import { AreasState } from "./areas-slice"; /** * État des écrans (screens) dans le store. */ export interface ScreenState { areas: AreasState; isDetached?: boolean; detachedFromAreaId?: string; isLocked?: boolean; } /** * Actions possibles sur les écrans (screens). */ export interface ScreensActions { addScreen: () => void; switchScreen: (screenId: string) => void; removeScreen: (screenId: string) => void; duplicateScreen: (screenId: string) => void; detachArea: (areaId: string) => void; } export type ScreensState = { screens: Record<string, ScreenState>; activeScreenId: string; nextScreenId: number; lastUpdated: number; }; export type ScreensSlice = ScreensState & ScreensActions; export declare const createScreensSlice: StateCreator<RootStateType, // le type global du store [ ], [ ], ScreensSlice>;