Skip to content

Commit 40c6870

Browse files
authored
Merge pull request #1859 from session-foundation/fix/settings_debug_toggle
fix: click events for debug menu toggle in the settings page
2 parents b8f872b + 5d504b8 commit 40c6870

File tree

2 files changed

+26
-26
lines changed

2 files changed

+26
-26
lines changed

ts/components/dialog/user-settings/pages/DefaultSettingsPage.tsx

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ import {
4646
} from '../../../../state/selectors/proBackendData';
4747
import { focusVisibleBoxShadowOutsetStr } from '../../../../styles/focusVisible';
4848
import { createButtonOnKeyDownForClickEventHandler } from '../../../../util/keyboardShortcuts';
49+
import { useDebugMode } from '../../../../state/selectors/debug';
4950

5051
function SessionIconForSettings(props: Omit<SessionIconProps, 'iconSize' | 'style'>) {
5152
return (
@@ -272,33 +273,40 @@ const StyledButtonSessionInfo = styled.span<{ opacity?: number }>`
272273
`;
273274

274275
const SessionInfo = () => {
275-
const [clickCount, setClickCount] = useState(0);
276-
276+
const [, setClickCount] = useState(0);
277277
const dispatch = getAppDispatch();
278+
const inDebugMode = useDebugMode();
279+
280+
const onClickLogo = () => showLinkVisitWarningDialog('https://token.getsession.org/', dispatch);
278281

279-
const openVersion = createButtonOnKeyDownForClickEventHandler(() =>
282+
const onClickVersion = () =>
280283
showLinkVisitWarningDialog(
281284
`https://github.com/session-foundation/session-desktop/releases/tag/v${window.versionInfo.version}`,
282285
dispatch
283-
)
284-
);
286+
);
285287

286-
const openCommit = createButtonOnKeyDownForClickEventHandler(() => {
287-
setClickCount(clickCount + 1);
288-
if (clickCount === 10) {
289-
dispatch(setDebugMode(true));
290-
setClickCount(0);
291-
}
292-
});
288+
const onClickCommit = () =>
289+
setClickCount(n => {
290+
if (n === 9) {
291+
dispatch(setDebugMode(!inDebugMode));
292+
ToastUtils.pushToastSuccess(
293+
'toggle-debug-mode',
294+
tr(inDebugMode ? 'debugModeDisabledToastDev' : 'debugModeEnabledToastDev')
295+
);
296+
return 0;
297+
}
298+
return n + 1;
299+
});
300+
301+
const onKeyDownVersion = createButtonOnKeyDownForClickEventHandler(onClickVersion);
302+
const onKeyDownCommit = createButtonOnKeyDownForClickEventHandler(onClickCommit);
293303

294304
return (
295305
<StyledVersionInfo>
296306
<SessionIconButton
297307
iconSize="medium"
298308
iconType="sessionTokenLogoWithText"
299-
onClick={() => {
300-
showLinkVisitWarningDialog('https://token.getsession.org/', dispatch);
301-
}}
309+
onClick={onClickLogo}
302310
// disable transition here as the transition does the opposite that usual (hovering makes it more opaque/bright)
303311
style={{ transition: 'none' }}
304312
/>
@@ -308,18 +316,10 @@ const SessionInfo = () => {
308316
$alignItems="center"
309317
$flexGap="var(--margins-sm)"
310318
>
311-
<StyledButtonSessionInfo
312-
onKeyDown={openVersion}
313-
onClick={() => void openVersion(null as any)}
314-
tabIndex={0}
315-
>
319+
<StyledButtonSessionInfo onKeyDown={onKeyDownVersion} onClick={onClickVersion} tabIndex={0}>
316320
v{window.versionInfo.version}
317321
</StyledButtonSessionInfo>
318-
<StyledButtonSessionInfo
319-
onKeyDown={openCommit}
320-
onClick={() => void openCommit(null as any)}
321-
tabIndex={0}
322-
>
322+
<StyledButtonSessionInfo onKeyDown={onKeyDownCommit} onClick={onClickCommit} tabIndex={0}>
323323
{window.versionInfo.commitHash?.slice(0, 8)}
324324
</StyledButtonSessionInfo>
325325
</Flex>

ts/localization

0 commit comments

Comments
 (0)