diff --git a/ts/components/dialog/user-settings/pages/DefaultSettingsPage.tsx b/ts/components/dialog/user-settings/pages/DefaultSettingsPage.tsx index ab42c3148..553e53cef 100644 --- a/ts/components/dialog/user-settings/pages/DefaultSettingsPage.tsx +++ b/ts/components/dialog/user-settings/pages/DefaultSettingsPage.tsx @@ -46,6 +46,7 @@ import { } from '../../../../state/selectors/proBackendData'; import { focusVisibleBoxShadowOutsetStr } from '../../../../styles/focusVisible'; import { createButtonOnKeyDownForClickEventHandler } from '../../../../util/keyboardShortcuts'; +import { useDebugMode } from '../../../../state/selectors/debug'; function SessionIconForSettings(props: Omit) { return ( @@ -272,33 +273,40 @@ const StyledButtonSessionInfo = styled.span<{ opacity?: number }>` `; const SessionInfo = () => { - const [clickCount, setClickCount] = useState(0); - + const [, setClickCount] = useState(0); const dispatch = getAppDispatch(); + const inDebugMode = useDebugMode(); + + const onClickLogo = () => showLinkVisitWarningDialog('https://token.getsession.org/', dispatch); - const openVersion = createButtonOnKeyDownForClickEventHandler(() => + const onClickVersion = () => showLinkVisitWarningDialog( `https://github.com/session-foundation/session-desktop/releases/tag/v${window.versionInfo.version}`, dispatch - ) - ); + ); - const openCommit = createButtonOnKeyDownForClickEventHandler(() => { - setClickCount(clickCount + 1); - if (clickCount === 10) { - dispatch(setDebugMode(true)); - setClickCount(0); - } - }); + const onClickCommit = () => + setClickCount(n => { + if (n === 9) { + dispatch(setDebugMode(!inDebugMode)); + ToastUtils.pushToastSuccess( + 'toggle-debug-mode', + tr(inDebugMode ? 'debugModeDisabledToastDev' : 'debugModeEnabledToastDev') + ); + return 0; + } + return n + 1; + }); + + const onKeyDownVersion = createButtonOnKeyDownForClickEventHandler(onClickVersion); + const onKeyDownCommit = createButtonOnKeyDownForClickEventHandler(onClickCommit); return ( { - showLinkVisitWarningDialog('https://token.getsession.org/', dispatch); - }} + onClick={onClickLogo} // disable transition here as the transition does the opposite that usual (hovering makes it more opaque/bright) style={{ transition: 'none' }} /> @@ -308,18 +316,10 @@ const SessionInfo = () => { $alignItems="center" $flexGap="var(--margins-sm)" > - void openVersion(null as any)} - tabIndex={0} - > + v{window.versionInfo.version} - void openCommit(null as any)} - tabIndex={0} - > + {window.versionInfo.commitHash?.slice(0, 8)} diff --git a/ts/localization b/ts/localization index 6e7c9d682..7e6603e97 160000 --- a/ts/localization +++ b/ts/localization @@ -1 +1 @@ -Subproject commit 6e7c9d6825b6570c7ddf76d2d920a7ce00d793d8 +Subproject commit 7e6603e97326cd267eade5667bf43d3a8dcecd22