From c85977cb68b10ba06c1f43c02b48a8bf67e1c69f Mon Sep 17 00:00:00 2001 From: Cyril Date: Wed, 18 Feb 2026 14:28:14 +0100 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8(frontend)=20add=20clickable=20setting?= =?UTF-8?q?s=20general=20link=20in=20idle=20modal?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit helps users quickly disable idle warning from the right settings tab. --- CHANGELOG.md | 4 ++++ .../components/IsIdleDisconnectModal.tsx | 19 +++++++++++++++++-- src/frontend/src/locales/de/rooms.json | 4 +++- src/frontend/src/locales/en/rooms.json | 4 +++- src/frontend/src/locales/fr/rooms.json | 4 +++- src/frontend/src/locales/nl/rooms.json | 4 +++- 6 files changed, 33 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 242b7b9b..e3ebdcf4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,10 @@ and this project adheres to ## [Unreleased] +### Changed + +- ✨(frontend) add clickable settings general link in idle modal #974 + ## [1.6.0] - 2026-02-10 ### Added diff --git a/src/frontend/src/features/rooms/livekit/components/IsIdleDisconnectModal.tsx b/src/frontend/src/features/rooms/livekit/components/IsIdleDisconnectModal.tsx index 0eca6343..60f3d2f2 100644 --- a/src/frontend/src/features/rooms/livekit/components/IsIdleDisconnectModal.tsx +++ b/src/frontend/src/features/rooms/livekit/components/IsIdleDisconnectModal.tsx @@ -1,4 +1,4 @@ -import { Button, Dialog, H, P, ScreenReaderAnnouncer } from '@/primitives' +import { A, Button, Dialog, H, P, ScreenReaderAnnouncer } from '@/primitives' import { useTranslation } from 'react-i18next' import { css } from '@/styled-system/css' import { useSnapshot } from 'valtio' @@ -9,6 +9,8 @@ import { navigateTo } from '@/navigation/navigateTo' import humanizeDuration from 'humanize-duration' import i18n from 'i18next' import { useScreenReaderAnnounce } from '@/hooks/useScreenReaderAnnounce' +import { useSettingsDialog } from '@/features/settings/hook/useSettingsDialog' +import { SettingsDialogExtendedKey } from '@/features/settings/type' const IDLE_DISCONNECT_TIMEOUT_MS = 120000 // 2 minutes const COUNTDOWN_ANNOUNCEMENT_SECONDS = [90, 60, 30] @@ -18,6 +20,7 @@ export const IsIdleDisconnectModal = () => { const connectionObserverSnap = useSnapshot(connectionObserverStore) const [timeRemaining, setTimeRemaining] = useState(IDLE_DISCONNECT_TIMEOUT_MS) const lastAnnouncementRef = useRef(null) + const { openSettingsDialog } = useSettingsDialog() const { t } = useTranslation('rooms', { keyPrefix: 'isIdleDisconnectModal' }) const announce = useScreenReaderAnnounce() @@ -117,7 +120,19 @@ export const IsIdleDisconnectModal = () => { }), })}

-

{t('settings')}

+

+ {t('settingsPrefix')}{' '} + { + connectionObserverStore.isIdleDisconnectModalOpen = false + openSettingsDialog(SettingsDialogExtendedKey.GENERAL) + }} + > + {t('settingsLink')} + + {t('settingsSuffix')} +