import React from 'react' import { Button } from '@/components/ui' import { useLocalization } from '@/utils/hooks/useLocalization' import DesignerDrawer from './DesignerDrawer' import { translateLabel } from './localization' import { DesignerFieldValue, DesignerLanguageOption, DesignerSelection } from './types' export interface DesignerLayerController { isDesignMode: boolean isPanelVisible: boolean isSaving: boolean isDirty: boolean canUndo: boolean canRedo: boolean selectedLanguage: string drawerLanguages: DesignerLanguageOption[] setIsPanelVisible: (visible: boolean) => void changeLanguage: (cultureName: string) => void changeField: (fieldKey: string, value: DesignerFieldValue) => void resetContent: () => void exitDesignMode: () => void save: () => void undo: () => void redo: () => void } interface DesignerLayerProps { pageTitle: string selection: DesignerSelection | null designer: DesignerLayerController } /** * Tasarim modunun sayfadan bagimsiz arayuzu: durum cubugu ve duzenleme paneli. * Tasarim modu kapaliyken hicbir sey render etmez. */ const DesignerLayer: React.FC = ({ pageTitle, selection, designer }) => { const { translate } = useLocalization() if (!designer.isDesignMode) { return null } return ( <>
{pageTitle}
designer.setIsPanelVisible(false)} onSave={designer.save} onLanguageChange={designer.changeLanguage} onReset={designer.resetContent} onFieldChange={designer.changeField} onUndo={designer.undo} onRedo={designer.redo} /> ) } export default DesignerLayer