import { GenericPageData } from '../../pageInterface'; import { FaCog } from 'react-icons/fa'; import { createSettingsHook } from '../../../../hooks/useSettings'; export const settingsPageData: GenericPageData = { id: 'settings', path: 'settings', name: 'Settings', description: 'Manage your account settings and preferences', // Visual icon: FaCog, title: 'settings.title', subtitle: 'Manage your account settings and preferences', // Page behavior persistent: false, preserveState: false, preload: true, moduleEnabled: true, // Sidebar showInSidebar: true, order: 999, // Put at the end // Content sections content: [ { id: 'settings-content', type: 'settings', settingsConfig: { sections: [ { id: 'user-info', sectionId: 'user-info', title: 'settings.userinfo', description: 'settings.userinfo.description', saveButtonLabel: 'settings.userinfo.save', saveButtonVariant: 'primary', saveButtonSize: 'md', // Static fields for user information staticFields: [ { id: 'username', type: 'text', label: 'settings.userinfo.username', description: 'settings.userinfo.username.description', dataKey: 'username', required: true, placeholder: 'settings.userinfo.username' }, { id: 'fullName', type: 'text', label: 'settings.userinfo.fullname', description: 'settings.userinfo.fullname.description', dataKey: 'fullName', required: false, placeholder: 'settings.userinfo.fullname' }, { id: 'email', type: 'text', inputType: 'email', label: 'settings.userinfo.email', description: 'settings.userinfo.email.description', dataKey: 'email', required: true, placeholder: 'settings.userinfo.email' }, { id: 'language', type: 'select', label: 'settings.userinfo.language', description: 'settings.userinfo.language.description', dataKey: 'language', required: false, options: [ { id: 'en', label: 'English', value: 'en' }, { id: 'de', label: 'Deutsch', value: 'de' }, { id: 'fr', label: 'Français', value: 'fr' }, { id: 'it', label: 'Italiano', value: 'it' } ] }, { id: 'phone-name', type: 'text', label: 'settings.userinfo.phone_name', description: 'settings.userinfo.phone_name.description', dataKey: 'phoneName', required: false, placeholder: 'settings.userinfo.phone_name' } ] }, { id: 'theme', title: '', sectionId: 'theme', saveButtonLabel: 'settings.save', saveButtonVariant: 'primary', saveButtonSize: 'md', staticFields: [ { id: 'theme-select', type: 'select', label: 'settings.theme', dataKey: 'theme', required: false, options: [ { id: 'light', label: 'settings.theme.light', value: 'light' }, { id: 'dark', label: 'settings.theme.dark', value: 'dark' } ] } ] } ], hookFactory: createSettingsHook } } ], // Lifecycle hooks onActivate: async () => { if (import.meta.env.DEV) console.log('Settings page activated'); } };