Loading frontend/src/routes/_protected/_navbar/users/index.tsx +6 −0 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ import { Sidebar, sidebarClass, Table, TimeFormatSwitch, } from '@inject/shared' import { createFileRoute, useNavigate } from '@tanstack/react-router' import { useLocalStorageState } from 'ahooks' Loading Loading @@ -168,6 +169,11 @@ const RouteComponent = () => { </> ), }, { id: 'time', name: t('userPanel.time.title'), node: <TimeFormatSwitch />, }, { id: 'domains', name: t('userPanel.domains.title'), Loading locale/resources/cs/frontend.json +8 −0 Original line number Diff line number Diff line Loading @@ -191,6 +191,14 @@ } } }, "time": { "title": "Formát času", "timeFormat": { "inExercise": "Použijte čas cvičení", "relative": "Použijte relativní čas", "absolute": "Použijte absolutní čas" } }, "domains": { "title": "Omezené domény", "label": "Spravovat domény", Loading locale/resources/en/frontend.json +8 −0 Original line number Diff line number Diff line Loading @@ -191,6 +191,14 @@ } } }, "time": { "title": "Time format", "timeFormat": { "inExercise": "Use in-exercise time", "relative": "Use relative time", "absolute": "Use absolute time" } }, "domains": { "title": "Restricted domains", "label": "Manage domains", Loading shared/components/TimeFormatSwitch/index.tsx +6 −3 Original line number Diff line number Diff line import { Button } from '@blueprintjs/core' import { useTranslationFrontend } from '@inject/locale' import { HelpIcon, setTimeFormat, Loading @@ -14,6 +15,8 @@ interface TimeFormatSwitchProps { export const TimeFormatSwitch: FC<TimeFormatSwitchProps> = ({ hideLabel }) => { const timeFormat = useTimeFormat() const { t } = useTranslationFrontend() const nextTimeFormat = (() => { switch (timeFormat) { case 'in-exercise': Loading @@ -28,11 +31,11 @@ export const TimeFormatSwitch: FC<TimeFormatSwitchProps> = ({ hideLabel }) => { const label = (() => { switch (nextTimeFormat) { case 'in-exercise': return 'Use in-exercise time' return t('userPanel.time.timeFormat.inExercise') case 'relative': return 'Use relative time' return t('userPanel.time.timeFormat.relative') case 'absolute': return 'Use absolute time' return t('userPanel.time.timeFormat.absolute') } })() Loading Loading
frontend/src/routes/_protected/_navbar/users/index.tsx +6 −0 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ import { Sidebar, sidebarClass, Table, TimeFormatSwitch, } from '@inject/shared' import { createFileRoute, useNavigate } from '@tanstack/react-router' import { useLocalStorageState } from 'ahooks' Loading Loading @@ -168,6 +169,11 @@ const RouteComponent = () => { </> ), }, { id: 'time', name: t('userPanel.time.title'), node: <TimeFormatSwitch />, }, { id: 'domains', name: t('userPanel.domains.title'), Loading
locale/resources/cs/frontend.json +8 −0 Original line number Diff line number Diff line Loading @@ -191,6 +191,14 @@ } } }, "time": { "title": "Formát času", "timeFormat": { "inExercise": "Použijte čas cvičení", "relative": "Použijte relativní čas", "absolute": "Použijte absolutní čas" } }, "domains": { "title": "Omezené domény", "label": "Spravovat domény", Loading
locale/resources/en/frontend.json +8 −0 Original line number Diff line number Diff line Loading @@ -191,6 +191,14 @@ } } }, "time": { "title": "Time format", "timeFormat": { "inExercise": "Use in-exercise time", "relative": "Use relative time", "absolute": "Use absolute time" } }, "domains": { "title": "Restricted domains", "label": "Manage domains", Loading
shared/components/TimeFormatSwitch/index.tsx +6 −3 Original line number Diff line number Diff line import { Button } from '@blueprintjs/core' import { useTranslationFrontend } from '@inject/locale' import { HelpIcon, setTimeFormat, Loading @@ -14,6 +15,8 @@ interface TimeFormatSwitchProps { export const TimeFormatSwitch: FC<TimeFormatSwitchProps> = ({ hideLabel }) => { const timeFormat = useTimeFormat() const { t } = useTranslationFrontend() const nextTimeFormat = (() => { switch (timeFormat) { case 'in-exercise': Loading @@ -28,11 +31,11 @@ export const TimeFormatSwitch: FC<TimeFormatSwitchProps> = ({ hideLabel }) => { const label = (() => { switch (nextTimeFormat) { case 'in-exercise': return 'Use in-exercise time' return t('userPanel.time.timeFormat.inExercise') case 'relative': return 'Use relative time' return t('userPanel.time.timeFormat.relative') case 'absolute': return 'Use absolute time' return t('userPanel.time.timeFormat.absolute') } })() Loading