diff --git a/apps/roam/src/components/settings/NodeConfig.tsx b/apps/roam/src/components/settings/NodeConfig.tsx index 4bed1469b..7be870286 100644 --- a/apps/roam/src/components/settings/NodeConfig.tsx +++ b/apps/roam/src/components/settings/NodeConfig.tsx @@ -141,6 +141,19 @@ const useDebouncedRoamUpdater = < return { value, handleChange, handleBlur }; }; +const generateTagPlaceholder = (node: DiscourseNode): string => { + // Extract first reference from format like [[CLM]], [[QUE]], [[EVD]] + const referenceMatch = node.format.match(/\[\[([A-Z]+)\]\]/); + + if (referenceMatch) { + const reference = referenceMatch[1].toLowerCase(); + return `#${reference.slice(0, 3)}-candidate`; // [[EVD]] - {content} = #evd-candidate + } + + const nodeTextPrefix = node.text.toLowerCase().slice(0, 3); + return `#${nodeTextPrefix}-candidate`; // Evidence = #evi-candidate +}; + const NodeConfig = ({ node, onloadArgs, @@ -288,7 +301,7 @@ const NodeConfig = ({ onChange={handleTagChange} onBlur={handleTagBlur} error={tagError} - placeholder={`#${node.text.toLowerCase()}`} + placeholder={generateTagPlaceholder(node)} /> } diff --git a/apps/roam/src/data/defaultDiscourseNodes.ts b/apps/roam/src/data/defaultDiscourseNodes.ts index 1cd05277d..cec808386 100644 --- a/apps/roam/src/data/defaultDiscourseNodes.ts +++ b/apps/roam/src/data/defaultDiscourseNodes.ts @@ -6,6 +6,7 @@ const INITIAL_NODE_VALUES: Partial[] = [ format: "[[CLM]] - {content}", text: "Claim", shortcut: "C", + tag: "#clm-candidate", graphOverview: true, canvasSettings: { color: "7DA13E", @@ -26,6 +27,7 @@ const INITIAL_NODE_VALUES: Partial[] = [ format: "[[EVD]] - {content} - {Source}", text: "Evidence", shortcut: "E", + tag: "#evd-candidate", graphOverview: true, canvasSettings: { color: "DB134A",