From 44cf7926067fead2323e9152cf673fa879f5b834 Mon Sep 17 00:00:00 2001 From: johndoe6345789 Date: Sun, 18 Jan 2026 01:02:30 +0000 Subject: [PATCH] Refactor template confirm dialog hook --- src/components/TemplateSelector.tsx | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/src/components/TemplateSelector.tsx b/src/components/TemplateSelector.tsx index 1a75595..0a11b04 100644 --- a/src/components/TemplateSelector.tsx +++ b/src/components/TemplateSelector.tsx @@ -172,8 +172,10 @@ const formatToastDescription = (actionType: 'replace' | 'merge', template: Templ return description.replace('{template}', template) } -export function TemplateSelector() { - const { templates, isLoading, clearAndLoadTemplate, mergeTemplate } = useSeedTemplates() +const useConfirmDialog = ({ + clearAndLoadTemplate, + mergeTemplate +}: Pick, 'clearAndLoadTemplate' | 'mergeTemplate'>) => { const [confirmDialog, setConfirmDialog] = useState({ open: false, actionType: 'replace', @@ -211,6 +213,23 @@ export function TemplateSelector() { } } + return { + confirmDialog, + handleSelectTemplate, + handleConfirmLoad, + handleDialogToggle + } +} + +export function TemplateSelector() { + const { templates, isLoading, clearAndLoadTemplate, mergeTemplate } = useSeedTemplates() + const { + confirmDialog, + handleSelectTemplate, + handleConfirmLoad, + handleDialogToggle + } = useConfirmDialog({ clearAndLoadTemplate, mergeTemplate }) + return ( <>