import { defineMessages, useIntl } from 'react-intl'; import globalMessages from '../../i18n/globalMessages'; import PageTitle from '../Common/PageTitle'; import type { SettingsRoute } from '../Common/SettingsTabs'; import SettingsTabs from '../Common/SettingsTabs'; const messages = defineMessages({ menuGeneralSettings: 'General', menuUsers: 'Users', menuPlexSettings: 'Plex', menuServices: 'Services', menuNotifications: 'Notifications', menuLogs: 'Logs', menuJobs: 'Jobs & Cache', menuAbout: 'About', }); type SettingsLayoutProps = { children: React.ReactNode; }; const SettingsLayout = ({ children }: SettingsLayoutProps) => { const intl = useIntl(); const settingsRoutes: SettingsRoute[] = [ { text: intl.formatMessage(messages.menuGeneralSettings), route: '/settings/main', regex: /^\/settings(\/main)?$/, }, { text: intl.formatMessage(messages.menuUsers), route: '/settings/users', regex: /^\/settings\/users/, }, { text: intl.formatMessage(messages.menuPlexSettings), route: '/settings/plex', regex: /^\/settings\/plex/, }, { text: intl.formatMessage(messages.menuServices), route: '/settings/services', regex: /^\/settings\/services/, }, { text: intl.formatMessage(messages.menuNotifications), route: '/settings/notifications/email', regex: /^\/settings\/notifications/, }, { text: intl.formatMessage(messages.menuLogs), route: '/settings/logs', regex: /^\/settings\/logs/, }, { text: intl.formatMessage(messages.menuJobs), route: '/settings/jobs', regex: /^\/settings\/jobs/, }, { text: intl.formatMessage(messages.menuAbout), route: '/settings/about', regex: /^\/settings\/about/, }, ]; return ( <>
{children}
); }; export default SettingsLayout;