From de92fbaa45432b4e5acc05d1dcd228cd1a62f832 Mon Sep 17 00:00:00 2001 From: sid597 Date: Mon, 12 Jan 2026 21:26:18 +0530 Subject: [PATCH 1/7] fix --- .gitignore | 1 + .../settings/HomePersonalSettings.tsx | 296 +++++------------- apps/roam/src/utils/createDiscourseNode.ts | 1 - 3 files changed, 87 insertions(+), 211 deletions(-) diff --git a/.gitignore b/.gitignore index 6b5f96f5e..08ae108b2 100644 --- a/.gitignore +++ b/.gitignore @@ -38,3 +38,4 @@ yarn-error.log* # Local development files local/* .cursor/debug.log +CLAUDE.md diff --git a/apps/roam/src/components/settings/HomePersonalSettings.tsx b/apps/roam/src/components/settings/HomePersonalSettings.tsx index 1bc1b4b71..d136055f1 100644 --- a/apps/roam/src/components/settings/HomePersonalSettings.tsx +++ b/apps/roam/src/components/settings/HomePersonalSettings.tsx @@ -1,6 +1,6 @@ import React, { useMemo } from "react"; import { OnloadArgs } from "roamjs-components/types"; -import { Label, Checkbox } from "@blueprintjs/core"; +import { Label } from "@blueprintjs/core"; import Description from "roamjs-components/components/Description"; import { addStyle } from "roamjs-components/dom"; import { NodeMenuTriggerComponent } from "~/components/DiscourseNodeMenu"; @@ -16,18 +16,18 @@ import { } from "~/components/DiscourseFloatingMenu"; import { NodeSearchMenuTriggerSetting } from "../DiscourseNodeSearchMenu"; import { + DISCOURSE_TOOL_SHORTCUT_KEY, AUTO_CANVAS_RELATIONS_KEY, DISCOURSE_CONTEXT_OVERLAY_IN_CANVAS_KEY, - DISCOURSE_TOOL_SHORTCUT_KEY, STREAMLINE_STYLING_KEY, DISALLOW_DIAGNOSTICS, } from "~/data/userSettings"; +import { getSetting, setSetting } from "~/utils/extensionSettings"; import { enablePostHog, disablePostHog } from "~/utils/posthog"; -import internalError from "~/utils/internalError"; import KeyboardShortcutInput from "./KeyboardShortcutInput"; -import { getSetting, setSetting } from "~/utils/extensionSettings"; import streamlineStyling from "~/styles/streamlineStyling"; import { getFormattedConfigTree } from "~/utils/discourseConfigRef"; +import { PersonalFlagPanel } from "./components/BlockPropSettingPanels"; const HomePersonalSettings = ({ onloadArgs }: { onloadArgs: OnloadArgs }) => { const extensionAPI = onloadArgs.extensionAPI; @@ -61,246 +61,122 @@ const HomePersonalSettings = ({ onloadArgs }: { onloadArgs: OnloadArgs }) => { description="Set a single key to activate the discourse tool in tldraw. Only single keys (no modifiers) are supported. Leave empty for no shortcut." placeholder="Click to set single key" /> - { - const target = e.target as HTMLInputElement; - extensionAPI.settings.set( - "discourse-context-overlay", - target.checked, - ); - - onPageRefObserverChange(overlayHandler)(target.checked); + ("discourse-context-overlay", false)} + onChange={(checked) => { + void setSetting("discourse-context-overlay", checked); + onPageRefObserverChange(overlayHandler)(checked); }} - labelElement={ - <> - Overlay - - - } /> {settings.suggestiveModeEnabled?.value && ( - { - const target = e.target as HTMLInputElement; - void extensionAPI.settings.set( - "suggestive-mode-overlay", - target.checked, - ); + ("suggestive-mode-overlay", false)} + onChange={(checked) => { + void setSetting("suggestive-mode-overlay", checked); onPageRefObserverChange(getSuggestiveOverlayHandler(onloadArgs))( - target.checked, + checked, ); }} - labelElement={ - <> - Suggestive mode overlay - - - } /> )} - { - const target = e.target as HTMLInputElement; - extensionAPI.settings.set("text-selection-popup", target.checked); + { + void setSetting("text-selection-popup", checked); }} - labelElement={ - <> - Text selection popup - - - } /> - { - const target = e.target as HTMLInputElement; - extensionAPI.settings.set("disable-sidebar-open", target.checked); + ("disable-sidebar-open", false)} + onChange={(checked) => { + void setSetting("disable-sidebar-open", checked); }} - labelElement={ - <> - Disable Sidebar Open - - - } /> - { - const target = e.target as HTMLInputElement; - extensionAPI.settings.set("page-preview", target.checked); - onPageRefObserverChange(previewPageRefHandler)(target.checked); + ("page-preview", false)} + onChange={(checked) => { + void setSetting("page-preview", checked); + onPageRefObserverChange(previewPageRefHandler)(checked); }} - labelElement={ - <> - Preview - - - } /> - { - const target = e.target as HTMLInputElement; - extensionAPI.settings.set("hide-feedback-button", target.checked); - - if (target.checked) { + ("hide-feedback-button", false)} + onChange={(checked) => { + void setSetting("hide-feedback-button", checked); + if (checked) { hideDiscourseFloatingMenu(); } else { showDiscourseFloatingMenu(); } }} - labelElement={ - <> - Hide Feedback Button - - - } /> - { - const target = e.target as HTMLInputElement; - void extensionAPI.settings.set( - AUTO_CANVAS_RELATIONS_KEY, - target.checked, - ); + (AUTO_CANVAS_RELATIONS_KEY, false)} + onChange={(checked) => { + void setSetting(AUTO_CANVAS_RELATIONS_KEY, checked); }} - labelElement={ - <> - Auto Canvas Relations - - - } /> - { - const target = e.target as HTMLInputElement; - void setSetting( - DISCOURSE_CONTEXT_OVERLAY_IN_CANVAS_KEY, - target.checked, - ).catch(() => undefined); + + (DISCOURSE_CONTEXT_OVERLAY_IN_CANVAS_KEY, false)} + onChange={(checked) => { + void setSetting(DISCOURSE_CONTEXT_OVERLAY_IN_CANVAS_KEY, checked); }} - labelElement={ - <> - (BETA) Overlay in Canvas - - - } /> - { - const target = e.target as HTMLInputElement; - void setSetting(STREAMLINE_STYLING_KEY, target.checked).catch( - () => undefined, - ); - - // Load or unload the streamline styling + (STREAMLINE_STYLING_KEY, false)} + onChange={(checked) => { + void setSetting(STREAMLINE_STYLING_KEY, checked); const existingStyleElement = document.getElementById("streamline-styling"); - if (target.checked && !existingStyleElement) { - // Load the styles + if (checked && !existingStyleElement) { const styleElement = addStyle(streamlineStyling); styleElement.id = "streamline-styling"; - } else if (!target.checked && existingStyleElement) { - // Unload the styles + } else if (!checked && existingStyleElement) { existingStyleElement.remove(); } }} - labelElement={ - <> - Streamline Styling - - - } /> - { - const target = e.target as HTMLInputElement; - const disallow = target.checked; - void setSetting(DISALLOW_DIAGNOSTICS, disallow) - .then(() => { - if (disallow) { - disablePostHog(); - } else { - enablePostHog(); - } - }) - .catch((error) => { - target.checked = !disallow; - internalError({ - error, - userMessage: "Could not change settings", - }); - }); + (DISALLOW_DIAGNOSTICS, false)} + onChange={(checked) => { + void setSetting(DISALLOW_DIAGNOSTICS, checked); + if (checked) { + disablePostHog(); + } else { + enablePostHog(); + } }} - labelElement={ - <> - Disable Product Diagnostics - - - } /> ); diff --git a/apps/roam/src/utils/createDiscourseNode.ts b/apps/roam/src/utils/createDiscourseNode.ts index 699f704d2..851cba630 100644 --- a/apps/roam/src/utils/createDiscourseNode.ts +++ b/apps/roam/src/utils/createDiscourseNode.ts @@ -7,7 +7,6 @@ import getFullTreeByParentUid from "roamjs-components/queries/getFullTreeByParen import getSubTree from "roamjs-components/util/getSubTree"; import openBlockInSidebar from "roamjs-components/writes/openBlockInSidebar"; import getDiscourseNodes from "./getDiscourseNodes"; -import isFlagEnabled from "./isFlagEnabled"; import resolveQueryBuilderRef from "./resolveQueryBuilderRef"; import { OnloadArgs, RoamBasicNode } from "roamjs-components/types"; import runQuery from "./runQuery"; From 333311839dd32d83b1c83df2cfc266bd02cd7b50 Mon Sep 17 00:00:00 2001 From: sid597 Date: Sat, 7 Feb 2026 23:59:10 +0530 Subject: [PATCH 2/7] port more simple components, revert git ignore --- .gitignore | 3 +- .../src/components/settings/QuerySettings.tsx | 75 +++++++++---------- .../components/BlockPropSettingPanels.tsx | 8 ++ 3 files changed, 44 insertions(+), 42 deletions(-) diff --git a/.gitignore b/.gitignore index 08ae108b2..77b6dab89 100644 --- a/.gitignore +++ b/.gitignore @@ -37,5 +37,4 @@ yarn-error.log* # Local development files local/* -.cursor/debug.log -CLAUDE.md +.cursor/debug.log \ No newline at end of file diff --git a/apps/roam/src/components/settings/QuerySettings.tsx b/apps/roam/src/components/settings/QuerySettings.tsx index 386a5350f..ad93b61bd 100644 --- a/apps/roam/src/components/settings/QuerySettings.tsx +++ b/apps/roam/src/components/settings/QuerySettings.tsx @@ -1,59 +1,54 @@ import React from "react"; import { OnloadArgs } from "roamjs-components/types"; -import { Label, NumericInput, Checkbox } from "@blueprintjs/core"; +import { Label } from "@blueprintjs/core"; import Description from "roamjs-components/components/Description"; -import { getSettings } from "~/utils/parseResultSettings"; import { DEFAULT_PAGE_SIZE_KEY, HIDE_METADATA_KEY } from "~/data/userSettings"; import DefaultFilters from "./DefaultFilters"; -import QueryPagesPanel from "./QueryPagesPanel"; -import { setSetting } from "~/utils/extensionSettings"; +import { getQueryPages } from "./QueryPagesPanel"; +import { + PersonalFlagPanel, + PersonalNumberPanel, + PersonalMultiTextPanel, +} from "./components/BlockPropSettingPanels"; const QuerySettings = ({ extensionAPI, }: { extensionAPI: OnloadArgs["extensionAPI"]; }) => { - const { globalPageSize, hideMetadata } = getSettings(extensionAPI); return (
- { - const target = e.target as HTMLInputElement; - void setSetting(HIDE_METADATA_KEY, target.checked); + { + void extensionAPI.settings.set(HIDE_METADATA_KEY, checked); }} - labelElement={ - <> - Hide Query Metadata - - + /> + { + void extensionAPI.settings.set(DEFAULT_PAGE_SIZE_KEY, value); + }} + /> + { + void extensionAPI.settings.set("query-pages", values); + }} /> - -
- +
{ return (
- + {