Merge pull request #77 from johndoe6345789/codex/encapsulate-confirmdialog-in-a-hook

Extract confirm dialog state and handlers into `useConfirmDialog` hook
This commit is contained in:
2026-01-18 01:02:43 +00:00
committed by GitHub

View File

@@ -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<ReturnType<typeof useSeedTemplates>, 'clearAndLoadTemplate' | 'mergeTemplate'>) => {
const [confirmDialog, setConfirmDialog] = useState<ConfirmDialogState>({
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 (
<>
<Tabs defaultValue="templates" className="w-full">