From da1f18c60f75f1087b88d6c9ca5f332833d5d0ef Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sun, 10 Aug 2025 12:22:11 +0300 Subject: [PATCH] refactor(react/dialogs): integrate proper closing of modal --- apps/client/src/widgets/dialogs/add_link.tsx | 5 ++--- apps/client/src/widgets/dialogs/branch_prefix.tsx | 3 +-- apps/client/src/widgets/dialogs/bulk_actions.tsx | 3 +-- apps/client/src/widgets/dialogs/clone_to.tsx | 3 +-- apps/client/src/widgets/dialogs/confirm.tsx | 5 ++--- apps/client/src/widgets/dialogs/delete_notes.tsx | 5 ++--- apps/client/src/widgets/dialogs/export.tsx | 3 +-- apps/client/src/widgets/dialogs/import.tsx | 3 +-- apps/client/src/widgets/dialogs/include_note.tsx | 3 +-- .../src/widgets/dialogs/incorrect_cpu_arch.tsx | 3 +-- apps/client/src/widgets/dialogs/info.tsx | 3 +-- apps/client/src/widgets/dialogs/jump_to_note.tsx | 3 +-- .../client/src/widgets/dialogs/markdown_import.tsx | 3 +-- apps/client/src/widgets/dialogs/move_to.tsx | 3 +-- .../src/widgets/dialogs/note_type_chooser.tsx | 3 +-- .../src/widgets/dialogs/password_not_set.tsx | 3 +-- .../widgets/dialogs/protected_session_password.tsx | 6 +----- apps/client/src/widgets/dialogs/recent_changes.tsx | 14 +++++++------- apps/client/src/widgets/dialogs/revisions.tsx | 12 ++++++------ .../src/widgets/dialogs/sort_child_notes.tsx | 4 +--- .../src/widgets/dialogs/upload_attachments.tsx | 3 +-- apps/client/src/widgets/react/Modal.tsx | 13 +++++++++++-- 22 files changed, 46 insertions(+), 60 deletions(-) diff --git a/apps/client/src/widgets/dialogs/add_link.tsx b/apps/client/src/widgets/dialogs/add_link.tsx index 7b8c512ac..2cca69347 100644 --- a/apps/client/src/widgets/dialogs/add_link.tsx +++ b/apps/client/src/widgets/dialogs/add_link.tsx @@ -1,4 +1,3 @@ -import { closeActiveDialog } from "../../services/dialog"; import { t } from "../../services/i18n"; import Modal from "../react/Modal"; import ReactBasicWidget from "../react/ReactBasicWidget"; @@ -80,11 +79,11 @@ function AddLinkDialogComponent() { function onSubmit() { if (suggestion?.notePath) { // Handle note link - closeActiveDialog(); + setShown(false); textTypeWidget?.addLink(suggestion.notePath, linkType === "reference-link" ? null : linkTitle); } else if (suggestion?.externalLink) { // Handle external link - closeActiveDialog(); + setShown(false); textTypeWidget?.addLink(suggestion.externalLink, linkTitle, true); } else { logError("No link to add."); diff --git a/apps/client/src/widgets/dialogs/branch_prefix.tsx b/apps/client/src/widgets/dialogs/branch_prefix.tsx index fb3b24294..67ab3d62b 100644 --- a/apps/client/src/widgets/dialogs/branch_prefix.tsx +++ b/apps/client/src/widgets/dialogs/branch_prefix.tsx @@ -1,6 +1,5 @@ import { useRef, useState } from "preact/hooks"; import appContext from "../../components/app_context.js"; -import { closeActiveDialog } from "../../services/dialog.js"; import { t } from "../../services/i18n.js"; import server from "../../services/server.js"; import toast from "../../services/toast.js"; @@ -50,7 +49,7 @@ function BranchPrefixDialogComponent() { } savePrefix(branch.branchId, prefix); - closeActiveDialog(); + setShown(false); } return ( diff --git a/apps/client/src/widgets/dialogs/bulk_actions.tsx b/apps/client/src/widgets/dialogs/bulk_actions.tsx index 8fa9b5caa..8071bb5a1 100644 --- a/apps/client/src/widgets/dialogs/bulk_actions.tsx +++ b/apps/client/src/widgets/dialogs/bulk_actions.tsx @@ -1,5 +1,4 @@ import { useEffect, useState } from "preact/hooks"; -import { closeActiveDialog } from "../../services/dialog"; import { t } from "../../services/i18n"; import Modal from "../react/Modal"; import ReactBasicWidget from "../react/ReactBasicWidget"; @@ -64,7 +63,7 @@ function BulkActionComponent() { }); toast.showMessage(t("bulk_actions.bulk_actions_executed"), 3000); - closeActiveDialog(); + setShown(false); }} onHidden={() => setShown(false)} > diff --git a/apps/client/src/widgets/dialogs/clone_to.tsx b/apps/client/src/widgets/dialogs/clone_to.tsx index aed632020..791da3f1b 100644 --- a/apps/client/src/widgets/dialogs/clone_to.tsx +++ b/apps/client/src/widgets/dialogs/clone_to.tsx @@ -1,6 +1,5 @@ import { useRef, useState } from "preact/compat"; import appContext from "../../components/app_context"; -import { closeActiveDialog } from "../../services/dialog"; import { t } from "../../services/i18n"; import Modal from "../react/Modal"; import ReactBasicWidget from "../react/ReactBasicWidget"; @@ -52,7 +51,7 @@ function CloneToDialogComponent() { return; } - closeActiveDialog(); + setShown(false); cloneNotesTo(notePath, clonedNoteIds, prefix); } diff --git a/apps/client/src/widgets/dialogs/confirm.tsx b/apps/client/src/widgets/dialogs/confirm.tsx index bbdf36c03..db344ab00 100644 --- a/apps/client/src/widgets/dialogs/confirm.tsx +++ b/apps/client/src/widgets/dialogs/confirm.tsx @@ -1,7 +1,6 @@ import ReactBasicWidget from "../react/ReactBasicWidget"; import Modal from "../react/Modal"; import Button from "../react/Button"; -import { closeActiveDialog } from "../../services/dialog"; import { t } from "../../services/i18n"; import { useState } from "react"; import FormCheckbox from "../react/FormCheckbox"; @@ -48,10 +47,10 @@ function ConfirmDialogComponent() { setShown(false); }} footer={<> -