// // Copyright (c) 2025-2026 rustmailer.com (https://rustmailer.com) // // This file is part of the Bichon Email Archiving Project // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU Affero General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU Affero General Public License for more details. // // You should have received a copy of the GNU Affero General Public License // along with this program. If not, see . import { Outlet } from '@tanstack/react-router' import { Main } from '@/components/layout/main' import SidebarNav from './components/sidebar-nav' import { KeyRound, Palette, SettingsIcon, UserCog, Waypoints } from 'lucide-react' import { FixedHeader } from '@/components/layout/fixed-header' import { useCurrentUser } from '@/hooks/use-current-user' import { useTranslation } from 'react-i18next' export default function Settings() { const { t } = useTranslation() const { canGlobal } = useCurrentUser() const sidebarNavItems = [ { title: t('settings.sidebar.profile'), href: '/settings/profile', icon: , }, { title: t('settings.appearance.title'), href: '/settings/appearance', icon: , }, { title: t('settings.sidebar.apiTokens'), href: '/settings/api-tokens', icon: , }, { title: t('settings.sidebar.proxy'), icon: , href: '/settings/proxy', }, { title: t('settings.sidebar.configurations'), icon: , href: '/settings/configurations', visible: canGlobal('system:root'), }, ].filter(item => item.visible !== false) return ( <>
) }