From 4a53be1e338fff4d0049f05cd42309b3c5428e2b Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 9 Aug 2025 16:47:05 +0300 Subject: [PATCH] feat(react/bulk_actions): port delete note --- .../src/widgets/bulk_actions/BulkAction.tsx | 4 +- .../widgets/bulk_actions/note/delete_note.ts | 38 ------------------- .../widgets/bulk_actions/note/delete_note.tsx | 33 ++++++++++++++++ 3 files changed, 35 insertions(+), 40 deletions(-) delete mode 100644 apps/client/src/widgets/bulk_actions/note/delete_note.ts create mode 100644 apps/client/src/widgets/bulk_actions/note/delete_note.tsx diff --git a/apps/client/src/widgets/bulk_actions/BulkAction.tsx b/apps/client/src/widgets/bulk_actions/BulkAction.tsx index df933a1df..1f9595971 100644 --- a/apps/client/src/widgets/bulk_actions/BulkAction.tsx +++ b/apps/client/src/widgets/bulk_actions/BulkAction.tsx @@ -2,8 +2,8 @@ import { ComponentChildren } from "preact"; import AbstractBulkAction from "./abstract_bulk_action"; interface BulkActionProps { - label: string; - children: ComponentChildren; + label: string | ComponentChildren; + children?: ComponentChildren; helpText?: ComponentChildren; bulkAction: AbstractBulkAction; } diff --git a/apps/client/src/widgets/bulk_actions/note/delete_note.ts b/apps/client/src/widgets/bulk_actions/note/delete_note.ts deleted file mode 100644 index b524f03e7..000000000 --- a/apps/client/src/widgets/bulk_actions/note/delete_note.ts +++ /dev/null @@ -1,38 +0,0 @@ -import { t } from "../../../services/i18n.js"; -import AbstractBulkAction from "../abstract_bulk_action.js"; - -const TPL = /*html*/` - - - - - ${t("delete_note.delete_matched_notes")} - - - - - - -`; - -export default class DeleteNoteBulkAction extends AbstractBulkAction { - static get actionName() { - return "deleteNote"; - } - static get actionTitle() { - return t("delete_note.delete_note"); - } - - doRender() { - return $(TPL); - } -} diff --git a/apps/client/src/widgets/bulk_actions/note/delete_note.tsx b/apps/client/src/widgets/bulk_actions/note/delete_note.tsx new file mode 100644 index 000000000..9369ffc2f --- /dev/null +++ b/apps/client/src/widgets/bulk_actions/note/delete_note.tsx @@ -0,0 +1,33 @@ +import { t } from "../../../services/i18n.js"; +import AbstractBulkAction from "../abstract_bulk_action.js"; +import BulkAction from "../BulkAction.jsx"; +import Icon from "../../react/Icon.jsx"; + +function DeleteNoteBulkActionComponent({ bulkAction }: { bulkAction: AbstractBulkAction }) { + return ( + {t("delete_note.delete_matched_notes")}} + helpText={<> +

${t("delete_note.delete_matched_notes_description")}

+ +

${t("delete_note.undelete_notes_instruction")}

+ + ${t("delete_note.erase_notes_instruction")} + } + /> + ); +} + +export default class DeleteNoteBulkAction extends AbstractBulkAction { + static get actionName() { + return "deleteNote"; + } + static get actionTitle() { + return t("delete_note.delete_note"); + } + + doRender() { + return + } +}