diff --git a/src/contexts/RouterContext.jsx b/src/contexts/RouterContext.jsx index 72c983a..906a6fb 100644 --- a/src/contexts/RouterContext.jsx +++ b/src/contexts/RouterContext.jsx @@ -31,6 +31,7 @@ import PaymentSuccessView from '../views/Payments/PaymentSuccessView' import PrivacyPolicyView from '../views/PrivacyPolicy/PrivacyPolicyView' import ProjectView from '../views/Projects/ProjectView' import APITokenSettings from '../views/Settings/APITokenSettings' +import LocalizationSettings from '../views/Settings/LocalizationSettings' import MFASettings from '../views/Settings/MFASettings' import NotificationSetting from '../views/Settings/NotificationSetting' import ProfileSettings from '../views/Settings/ProfileSettings' @@ -115,6 +116,10 @@ const Router = createBrowserRouter([ path: 'theme', element: , }, + { + path: 'localization', + element: , + }, { path: 'advanced', element: , diff --git a/src/views/Settings/LocalizationSettings.jsx b/src/views/Settings/LocalizationSettings.jsx index 02761c5..5bf9aab 100644 --- a/src/views/Settings/LocalizationSettings.jsx +++ b/src/views/Settings/LocalizationSettings.jsx @@ -8,17 +8,16 @@ import { Box, Button, Card, - Chip, Divider, FormControl, FormHelperText, - FormLabel, Option, Select, Typography, } from '@mui/joy' import moment from 'moment' import { useTranslation } from 'react-i18next' +import SettingsLayout from './SettingsLayout' const LocalizationSettings = () => { const { t } = useTranslation('settings') @@ -46,141 +45,147 @@ const LocalizationSettings = () => { ] return ( - - - - - - - {t('localization.language')} - - - - {t('localization.languageDescription')} - - - - {isRTL && ( - - This language uses right-to-left (RTL) text direction - - )} - - + +
+ + {t('localization.description')} + - - - - - {t('localization.dateFormat')} - - - {t('localization.dateFormatDescription')} - - - - - Preview: {sampleDate.format(dateFormat)} - - - - - - - - - {t('localization.timeFormat')} - - - {t('localization.timeFormatDescription')} - - - - - Preview: {sampleDate.format(timeFormat)} - - - - - - - - - {t('localization.firstDayOfWeek')} - - - {t('localization.firstDayOfWeekDescription')} - - - - - + + + + + + {t('localization.language')} + - - - - + + {t('localization.languageDescription')} + + + + {isRTL && ( + + This language uses right-to-left (RTL) text direction + + )} + + + + + + + + {t('localization.dateFormat')} + + + {t('localization.dateFormatDescription')} + + + + + Preview: {sampleDate.format(dateFormat)} + + + + + + + + + {t('localization.timeFormat')} + + + {t('localization.timeFormatDescription')} + + + + + Preview: {sampleDate.format(timeFormat)} + + + + + + + + + {t('localization.firstDayOfWeek')} + + + {t('localization.firstDayOfWeekDescription')} + + + + + + + + + +
+
) } diff --git a/src/views/Settings/SettingsOverview.jsx b/src/views/Settings/SettingsOverview.jsx index 066d4eb..c83d08a 100644 --- a/src/views/Settings/SettingsOverview.jsx +++ b/src/views/Settings/SettingsOverview.jsx @@ -5,6 +5,7 @@ import { Circle, Code, FamilyRestroom, + Language, Notifications, Palette, Person, @@ -109,6 +110,13 @@ const SettingsOverview = () => { 'Choose your preferred theme and configure dark/light mode settings.', icon: , }, + { + id: 'localization', + title: 'Localization', + description: + 'Customize language, date format, time format, and regional preferences.', + icon: , + }, { id: 'advanced', title: 'Advanced Settings',