diff --git a/apps/client/src/translations/en/translation.json b/apps/client/src/translations/en/translation.json index d2fdb2f4b9..5e6bba615a 100644 --- a/apps/client/src/translations/en/translation.json +++ b/apps/client/src/translations/en/translation.json @@ -2303,6 +2303,7 @@ "menu_run_hourly": "Hourly", "menu_run_daily": "Daily", "menu_run_frontend_startup": "When the desktop frontend starts up", - "menu_run_mobile_startup": "When the mobile frontend starts up" + "menu_run_mobile_startup": "When the mobile frontend starts up", + "menu_toggle_widget": "Widget" } } diff --git a/apps/client/src/widgets/layout/ActiveContentBadges.tsx b/apps/client/src/widgets/layout/ActiveContentBadges.tsx index 4d00cbca26..64ef118181 100644 --- a/apps/client/src/widgets/layout/ActiveContentBadges.tsx +++ b/apps/client/src/widgets/layout/ActiveContentBadges.tsx @@ -7,9 +7,9 @@ import attributes from "../../services/attributes"; import { t } from "../../services/i18n"; import { openInAppHelpFromUrl } from "../../services/utils"; import { BadgeWithDropdown } from "../react/Badge"; -import { FormDropdownDivider, FormDropdownSubmenu, FormListItem } from "../react/FormList"; +import { FormDropdownDivider, FormDropdownSubmenu, FormListItem, FormListToggleableItem } from "../react/FormList"; import FormToggle from "../react/FormToggle"; -import { useNoteContext, useNoteLabel, useTriliumEvent, useTriliumOption } from "../react/hooks"; +import { useNoteContext, useNoteLabel, useNoteLabelBoolean, useTriliumEvent, useTriliumOption } from "../react/hooks"; const DANGEROUS_ATTRIBUTES = BUILTIN_ATTRIBUTES.filter(a => a.isDangerous); const activeContentLabels = [ "iconPack" ] as const; @@ -65,6 +65,7 @@ function ActiveContentBadge({ info, note }: { note: FNote, info: ActiveContentIn triggerCommand="runActiveNote" >{t("active_content_badges.menu_execute_now")} + {info.type === "frontendScript" && } )} @@ -135,6 +136,19 @@ function ScriptRunOptions({ info, note }: { note: FNote, info: ActiveContentInfo ); } +function WidgetSwitcher({ note }: { note: FNote }) { + const [ widget, setWidget ] = useNoteLabelBoolean(note, "widget"); + + return ( + setWidget(newValue)} + /> + ); +} + function getTranslationForType(type: ActiveContentInfo["type"]) { switch (type) { case "iconPack":