'use client' import { useTheme } from '@/lib/ThemeContext' import { useLanguage } from '@/lib/LanguageContext' import { useWorksheet } from '@/lib/worksheet-editor/WorksheetContext' interface PageNavigatorProps { className?: string } export function PageNavigator({ className = '' }: PageNavigatorProps) { const { isDark } = useTheme() const { t } = useLanguage() const { document, currentPageIndex, setCurrentPageIndex, addPage, deletePage, canvas } = useWorksheet() const pages = document?.pages || [] const handlePageChange = (index: number) => { if (!canvas || !document || index === currentPageIndex) return // Save current page state const currentPage = document.pages[currentPageIndex] if (currentPage) { currentPage.canvasJSON = JSON.stringify(canvas.toJSON()) } // Load new page setCurrentPageIndex(index) const newPage = document.pages[index] if (newPage?.canvasJSON) { canvas.loadFromJSON(JSON.parse(newPage.canvasJSON), () => { canvas.renderAll() }) } else { // Clear canvas for new page canvas.clear() canvas.backgroundColor = '#ffffff' canvas.renderAll() } } // Glassmorphism styles const containerStyle = isDark ? 'backdrop-blur-xl bg-white/10 border border-white/20' : 'backdrop-blur-xl bg-white/70 border border-black/10 shadow-xl' const pageButtonStyle = (isActive: boolean) => isDark ? isActive ? 'bg-purple-500/30 text-purple-300 border-purple-400/50' : 'bg-white/5 text-white/70 border-white/10 hover:bg-white/10' : isActive ? 'bg-purple-100 text-purple-700 border-purple-300' : 'bg-white/50 text-slate-600 border-slate-200 hover:bg-slate-100' const labelStyle = isDark ? 'text-white/70' : 'text-slate-600' return (