import { create } from 'zustand'; /** * Store Zustand pour gérer l'état global de la FontMap * Remplace le props drilling pour les valeurs les plus problématiques */ export const useFontMapStore = create((set, get) => ({ // État de navigation selectedFont: null, hoveredFont: null, // État de visualisation characterSize: 1.5, variantSizeImpact: false, // Mode debug debugMode: false, // Actions pour la navigation setSelectedFont: (font) => { console.log('🎯 Store: Setting selectedFont to', font?.name || 'null'); set({ selectedFont: font }); }, setHoveredFont: (font) => { console.log('🎯 Store: Setting hoveredFont to', font?.name || 'null'); set({ hoveredFont: font }); }, // Actions pour la visualisation setCharacterSize: (size) => { console.log('🎯 Store: Setting characterSize to', size); set({ characterSize: size }); }, setVariantSizeImpact: (impact) => { console.log('🎯 Store: Setting variantSizeImpact to', impact); set({ variantSizeImpact: impact }); }, // Actions pour le debug setDebugMode: (debug) => { console.log('🎯 Store: Setting debugMode to', debug); set({ debugMode: debug }); }, // Action utilitaire pour réinitialiser l'état resetState: () => { console.log('🎯 Store: Resetting state'); set({ selectedFont: null, hoveredFont: null, characterSize: 1.5, variantSizeImpact: false, debugMode: false }); } }));