From 60248888d7d2e235d7a823ae67e36b230ee7dacb Mon Sep 17 00:00:00 2001 From: Adam Setch Date: Sat, 18 Oct 2025 10:18:15 -0700 Subject: [PATCH] refactor: use `useConfirm` @primer hook Signed-off-by: Adam Setch --- .../components/settings/SettingsReset.tsx | 55 ++++++++----------- 1 file changed, 23 insertions(+), 32 deletions(-) diff --git a/src/renderer/components/settings/SettingsReset.tsx b/src/renderer/components/settings/SettingsReset.tsx index 5b1aa968a..338ffc65b 100644 --- a/src/renderer/components/settings/SettingsReset.tsx +++ b/src/renderer/components/settings/SettingsReset.tsx @@ -1,51 +1,42 @@ -import { type FC, useCallback, useContext, useState } from 'react'; +import { type FC, useContext } from 'react'; -import { Button, Dialog, Stack, Text } from '@primer/react'; +import { Button, Stack, useConfirm } from '@primer/react'; import { AppContext } from '../../context/App'; +import { rendererLogInfo } from '../../utils/logger'; export const SettingsReset: FC = () => { const { resetSettings } = useContext(AppContext); - const [isOpen, setIsOpen] = useState(false); - const onDialogClose = useCallback(() => setIsOpen(false), []); - const onDialogProceed = useCallback(() => { - resetSettings(); - setIsOpen(false); - }, [resetSettings]); + + const confirm = useConfirm(); + + const handleReset = async () => { + const confirmed = await confirm({ + title: 'Reset settings?', + content: + 'Please confirm that you want to reset all settings to the Gitify defaults', + + confirmButtonContent: 'Reset', + cancelButtonContent: 'Cancel', + confirmButtonType: 'danger', + }); + + if (confirmed) { + resetSettings(); + rendererLogInfo('settingsReset', 'Settings have been reset to defaults'); + } + }; return ( - {isOpen && ( - - Please confirm that you want to reset all settings to the{' '} - Gitify defaults - - )} ); };