import React from 'react' import { Settings, Palette, Map, Bell, Plug, CloudOff, User, Info } from 'lucide-react' import { useTranslation } from '../i18n' import PageShell from '../components/Layout/PageShell' import PageSidebar, { type PageSidebarTab } from '../components/Layout/PageSidebar' import DisplaySettingsTab from '../components/Settings/DisplaySettingsTab' import MapSettingsTab from '../components/Settings/MapSettingsTab' import NotificationsTab from '../components/Settings/NotificationsTab' import IntegrationsTab from '../components/Settings/IntegrationsTab' import AccountTab from '../components/Settings/AccountTab' import AboutTab from '../components/Settings/AboutTab' import OfflineTab from '../components/Settings/OfflineTab' import { useSettings } from './settings/useSettings' export default function SettingsPage(): React.ReactElement { const { t } = useTranslation() // Page = wiring container: addon/version loading + active-tab state in the hook. const { hasIntegrations, appVersion, activeTab, setActiveTab } = useSettings() const tabs: PageSidebarTab[] = [ { id: 'display', label: t('settings.tabs.display'), icon: Palette }, { id: 'map', label: t('settings.tabs.map'), icon: Map }, { id: 'notifications', label: t('settings.tabs.notifications'), icon: Bell }, ...(hasIntegrations ? [{ id: 'integrations', label: t('settings.tabs.integrations'), icon: Plug }] : []), { id: 'offline', label: t('settings.tabs.offline'), icon: CloudOff }, { id: 'account', label: t('settings.tabs.account'), icon: User }, ...(appVersion ? [{ id: 'about', label: t('settings.tabs.about'), icon: Info }] : []), ] return (
{/* Header */}

{t('settings.title')}

{t('settings.subtitle')}

{/* Sidebar layout */} {activeTab === 'display' && } {activeTab === 'map' && } {activeTab === 'notifications' && } {activeTab === 'integrations' && hasIntegrations && } {activeTab === 'offline' && } {activeTab === 'account' && } {activeTab === 'about' && appVersion && }
) }