Skip to content

Commit 594a606

Browse files
ENG-1194 Suggestive Mode Overlay in personal settings should only show if suggestive mode is enabled (#635)
* Conditionally render Suggestive Mode Overlay checkbox based on settings * Update apps/roam/src/components/settings/HomePersonalSettings.tsx Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * Update apps/roam/src/components/settings/HomePersonalSettings.tsx Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix coderabbit --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
1 parent c5932d9 commit 594a606

1 file changed

Lines changed: 30 additions & 26 deletions

File tree

apps/roam/src/components/settings/HomePersonalSettings.tsx

Lines changed: 30 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import React from "react";
1+
import React, { useMemo } from "react";
22
import { OnloadArgs } from "roamjs-components/types";
33
import { Label, Checkbox } from "@blueprintjs/core";
44
import Description from "roamjs-components/components/Description";
@@ -27,10 +27,12 @@ import internalError from "~/utils/internalError";
2727
import KeyboardShortcutInput from "./KeyboardShortcutInput";
2828
import { getSetting, setSetting } from "~/utils/extensionSettings";
2929
import streamlineStyling from "~/styles/streamlineStyling";
30+
import { getFormattedConfigTree } from "~/utils/discourseConfigRef";
3031

3132
const HomePersonalSettings = ({ onloadArgs }: { onloadArgs: OnloadArgs }) => {
3233
const extensionAPI = onloadArgs.extensionAPI;
3334
const overlayHandler = getOverlayHandler(onloadArgs);
35+
const settings = useMemo(() => getFormattedConfigTree(), []);
3436

3537
return (
3638
<div className="flex flex-col gap-4 p-1">
@@ -83,31 +85,33 @@ const HomePersonalSettings = ({ onloadArgs }: { onloadArgs: OnloadArgs }) => {
8385
</>
8486
}
8587
/>
86-
<Checkbox
87-
defaultChecked={
88-
extensionAPI.settings.get("suggestive-mode-overlay") as boolean
89-
}
90-
onChange={(e) => {
91-
const target = e.target as HTMLInputElement;
92-
void extensionAPI.settings.set(
93-
"suggestive-mode-overlay",
94-
target.checked,
95-
);
96-
onPageRefObserverChange(getSuggestiveOverlayHandler(onloadArgs))(
97-
target.checked,
98-
);
99-
}}
100-
labelElement={
101-
<>
102-
Suggestive Mode Overlay
103-
<Description
104-
description={
105-
"Whether or not to overlay Suggestive Mode button over Discourse Node references."
106-
}
107-
/>
108-
</>
109-
}
110-
/>
88+
{settings.suggestiveModeEnabled?.value && (
89+
<Checkbox
90+
defaultChecked={
91+
extensionAPI.settings.get("suggestive-mode-overlay") as boolean
92+
}
93+
onChange={(e) => {
94+
const target = e.target as HTMLInputElement;
95+
void extensionAPI.settings.set(
96+
"suggestive-mode-overlay",
97+
target.checked,
98+
);
99+
onPageRefObserverChange(getSuggestiveOverlayHandler(onloadArgs))(
100+
target.checked,
101+
);
102+
}}
103+
labelElement={
104+
<>
105+
Suggestive Mode Overlay
106+
<Description
107+
description={
108+
"Whether or not to overlay Suggestive Mode button over Discourse Node references."
109+
}
110+
/>
111+
</>
112+
}
113+
/>
114+
)}
111115
<Checkbox
112116
defaultChecked={
113117
extensionAPI.settings.get("text-selection-popup") !== false

0 commit comments

Comments
 (0)