Skip to content

Commit 8317887

Browse files
committed
every other remaining personal setting
1 parent 8c30d4b commit 8317887

5 files changed

Lines changed: 35 additions & 28 deletions

File tree

apps/roam/src/components/DiscourseNodeMenu.tsx

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,10 @@ import { getNewDiscourseNodeText } from "~/utils/formatUtils";
2727
import { OnloadArgs } from "roamjs-components/types";
2828
import { formatHexColor } from "./settings/DiscourseNodeCanvasSettings";
2929
import posthog from "posthog-js";
30-
import { setPersonalSetting } from "~/components/settings/utils/accessors";
30+
import {
31+
getPersonalSetting,
32+
setPersonalSetting,
33+
} from "~/components/settings/utils/accessors";
3134

3235
type Props = {
3336
textarea?: HTMLTextAreaElement;
@@ -423,9 +426,10 @@ export const NodeMenuTriggerComponent = ({
423426
const [isActive, setIsActive] = useState(false);
424427
const [comboKey, setComboKey] = useState<IKeyCombo>(
425428
() =>
426-
(extensionAPI.settings.get(
427-
"personal-node-menu-trigger",
428-
) as IKeyCombo) || { modifiers: 0, key: "" },
429+
getPersonalSetting<IKeyCombo>(["Personal node menu trigger"]) || {
430+
modifiers: 0,
431+
key: "",
432+
},
429433
);
430434

431435
const handleKeyDown = useCallback(

apps/roam/src/components/DiscourseNodeSearchMenu.tsx

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,11 @@ import { OnloadArgs } from "roamjs-components/types";
2424
import getDiscourseNodes, { DiscourseNode } from "~/utils/getDiscourseNodes";
2525
import getDiscourseNodeFormatExpression from "~/utils/getDiscourseNodeFormatExpression";
2626
import { Result } from "~/utils/types";
27-
import { getSetting } from "~/utils/extensionSettings";
2827
import MiniSearch from "minisearch";
29-
import { setPersonalSetting } from "~/components/settings/utils/accessors";
28+
import {
29+
getPersonalSetting,
30+
setPersonalSetting,
31+
} from "~/components/settings/utils/accessors";
3032

3133
type Props = {
3234
textarea: HTMLTextAreaElement;
@@ -711,7 +713,7 @@ export const NodeSearchMenuTriggerSetting = ({
711713
}) => {
712714
const extensionAPI = onloadArgs.extensionAPI;
713715
const [nodeSearchTrigger, setNodeSearchTrigger] = useState<string>(
714-
getSetting("node-search-trigger", "@"),
716+
getPersonalSetting<string>(["Node search menu trigger"]) ?? "@",
715717
);
716718

717719
const handleNodeSearchTriggerChange = (

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

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,10 @@ import {
99
} from "@blueprintjs/core";
1010
import Description from "roamjs-components/components/Description";
1111
import { DISCOURSE_TOOL_SHORTCUT_KEY } from "~/data/userSettings";
12-
import { setPersonalSetting } from "~/components/settings/utils/accessors";
12+
import {
13+
getPersonalSetting,
14+
setPersonalSetting,
15+
} from "~/components/settings/utils/accessors";
1316
import { comboToString } from "~/components/DiscourseNodeMenu";
1417

1518
type KeyboardShortcutInputProps = {
@@ -34,7 +37,7 @@ const KeyboardShortcutInput = ({
3437
const [isActive, setIsActive] = useState(false);
3538
const [comboKey, setComboKey] = useState<IKeyCombo>(
3639
() =>
37-
(extensionAPI.settings.get(settingKey) as IKeyCombo) || {
40+
getPersonalSetting<IKeyCombo>([blockPropKey]) || {
3841
modifiers: 0,
3942
key: "",
4043
},

apps/roam/src/utils/initializeObserversAndListeners.ts

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,6 @@ import {
5151
import { renderNodeTagPopupButton } from "./renderNodeTagPopup";
5252
import { renderImageToolsMenu } from "./renderImageToolsMenu";
5353
import { formatHexColor } from "~/components/settings/DiscourseNodeCanvasSettings";
54-
import { getSetting } from "./extensionSettings";
5554
import { mountLeftSidebar } from "~/components/LeftSidebarView";
5655
import { getUidAndBooleanSetting } from "./getExportSettings";
5756
import { getCleanTagText } from "~/components/settings/NodeConfig";
@@ -263,12 +262,13 @@ export const initObservers = async ({
263262
key: "trigger",
264263
defaultValue: "\\",
265264
}).trim();
266-
const personalTriggerCombo =
267-
(onloadArgs.extensionAPI.settings.get(
268-
"personal-node-menu-trigger",
269-
) as IKeyCombo) || undefined;
265+
const personalTriggerCombo = getPersonalSetting<IKeyCombo>([
266+
"Personal node menu trigger",
267+
]);
270268
const personalTrigger = personalTriggerCombo?.key;
271-
const personalModifiers = getModifiersFromCombo(personalTriggerCombo);
269+
const personalModifiers = personalTriggerCombo
270+
? getModifiersFromCombo(personalTriggerCombo)
271+
: [];
272272

273273
const leftSidebarObserver = createHTMLObserver({
274274
tag: "DIV",
@@ -330,7 +330,8 @@ export const initObservers = async ({
330330
}
331331
};
332332

333-
const customTrigger = getSetting("node-search-trigger", "@");
333+
const customTrigger =
334+
getPersonalSetting<string>(["Node search menu trigger"]) ?? "@";
334335

335336
const discourseNodeSearchTriggerListener = (e: Event) => {
336337
const evt = e as KeyboardEvent;
Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,15 @@
11
import { OnloadArgs } from "roamjs-components/types";
2+
import {
3+
getPersonalSetting,
4+
setPersonalSetting,
5+
} from "~/components/settings/utils/accessors";
26

37
export const setQueryPages = (onloadArgs: OnloadArgs) => {
4-
const queryPages = onloadArgs.extensionAPI.settings.get("query-pages");
5-
const queryPageArray = Array.isArray(queryPages)
6-
? queryPages
7-
: typeof queryPages === "object"
8-
? []
9-
: typeof queryPages === "string" && queryPages
10-
? [queryPages]
11-
: [];
8+
const queryPages = getPersonalSetting<string[]>(["Query", "Query pages"]);
9+
const queryPageArray = Array.isArray(queryPages) ? queryPages : [];
1210
if (!queryPageArray.includes("discourse-graph/queries/*")) {
13-
onloadArgs.extensionAPI.settings.set("query-pages", [
14-
...queryPageArray,
15-
"discourse-graph/queries/*",
16-
]);
11+
const updated = [...queryPageArray, "discourse-graph/queries/*"];
12+
void onloadArgs.extensionAPI.settings.set("query-pages", updated);
13+
setPersonalSetting(["Query", "Query pages"], updated);
1714
}
1815
};

0 commit comments

Comments
 (0)