diff --git a/src/components/admin/narrative-flow/BooleanNode.tsx b/src/components/admin/narrative-flow/BooleanNode.tsx index a8cd6b3..c30948c 100644 --- a/src/components/admin/narrative-flow/BooleanNode.tsx +++ b/src/components/admin/narrative-flow/BooleanNode.tsx @@ -8,7 +8,7 @@ export function BooleanNode({ data }: NodeProps) { return (
- +
@@ -18,7 +18,7 @@ export function BooleanNode({ data }: NodeProps) {
{d.description || "Boolean flag"}
- +
); } diff --git a/src/components/admin/narrative-flow/ChoiceNode.tsx b/src/components/admin/narrative-flow/ChoiceNode.tsx index 8db2c66..8e618e9 100644 --- a/src/components/admin/narrative-flow/ChoiceNode.tsx +++ b/src/components/admin/narrative-flow/ChoiceNode.tsx @@ -10,13 +10,13 @@ export function ChoiceNode({ data }: NodeProps) { return (
- +
{d.question || "Untitled Choice"} - +
{options.length === 0 ? ( diff --git a/src/components/admin/narrative-flow/DateNode.tsx b/src/components/admin/narrative-flow/DateNode.tsx index 5745da1..2a3801a 100644 --- a/src/components/admin/narrative-flow/DateNode.tsx +++ b/src/components/admin/narrative-flow/DateNode.tsx @@ -8,7 +8,7 @@ export function DateNode({ data }: NodeProps) { return (
- +
@@ -18,7 +18,7 @@ export function DateNode({ data }: NodeProps) {
{d.description || "Date value"}
- +
); } diff --git a/src/components/admin/narrative-flow/NarrativeBeatNode.tsx b/src/components/admin/narrative-flow/NarrativeBeatNode.tsx index 8b690af..91ce415 100644 --- a/src/components/admin/narrative-flow/NarrativeBeatNode.tsx +++ b/src/components/admin/narrative-flow/NarrativeBeatNode.tsx @@ -8,7 +8,7 @@ export function NarrativeBeatNode({ data }: NodeProps) { return (
- +
@@ -19,7 +19,7 @@ export function NarrativeBeatNode({ data }: NodeProps) {
{d.text || "No description."}
- +
); } diff --git a/src/components/admin/narrative-flow/NarrativeFlowEditor.tsx b/src/components/admin/narrative-flow/NarrativeFlowEditor.tsx index 93064d6..c61c6f7 100644 --- a/src/components/admin/narrative-flow/NarrativeFlowEditor.tsx +++ b/src/components/admin/narrative-flow/NarrativeFlowEditor.tsx @@ -267,13 +267,30 @@ export function NarrativeFlowEditor() { - n.type === "choice" - ? "#d97706" - : n.type === "outcome" - ? "#10b981" - : "#3b82f6" - } + nodeColor={(n) => { + switch (n.type) { + case "choice": + return "#d97706"; // amber + case "outcome": + return "#10b981"; // emerald + case "narrativeBeat": + return "#3b82f6"; // blue + case "wait": + return "#facc15"; // yellow + case "number": + return "#a855f7"; // purple + case "string": + return "#14b8a6"; // teal + case "random": + return "#ec4899"; // pink + case "boolean": + return "#34d399"; // light green + case "date": + return "#06b6d4"; // cyan + default: + return "#6366f1"; // indigo + } + }} /> diff --git a/src/components/admin/narrative-flow/NumberNode.tsx b/src/components/admin/narrative-flow/NumberNode.tsx index fadf85d..6247638 100644 --- a/src/components/admin/narrative-flow/NumberNode.tsx +++ b/src/components/admin/narrative-flow/NumberNode.tsx @@ -8,7 +8,7 @@ export function NumberNode({ data }: NodeProps) { return (
- +
@@ -18,7 +18,7 @@ export function NumberNode({ data }: NodeProps) {
{d.description || "Numeric value"}
- +
); } diff --git a/src/components/admin/narrative-flow/OutcomeNode.tsx b/src/components/admin/narrative-flow/OutcomeNode.tsx index 1ef4043..a5b8cd1 100644 --- a/src/components/admin/narrative-flow/OutcomeNode.tsx +++ b/src/components/admin/narrative-flow/OutcomeNode.tsx @@ -14,13 +14,13 @@ export function OutcomeNode({ data }: NodeProps) { return (
- +
{d.title || "Untitled Outcome"} - +
{d.text || "No description."} diff --git a/src/components/admin/narrative-flow/RandomNode.tsx b/src/components/admin/narrative-flow/RandomNode.tsx index 27f8421..b560456 100644 --- a/src/components/admin/narrative-flow/RandomNode.tsx +++ b/src/components/admin/narrative-flow/RandomNode.tsx @@ -8,7 +8,7 @@ export function RandomNode({ data }: NodeProps) { return (
- +
@@ -18,7 +18,7 @@ export function RandomNode({ data }: NodeProps) {
{d.description || "Random number generator"}
- +
); } diff --git a/src/components/admin/narrative-flow/StringNode.tsx b/src/components/admin/narrative-flow/StringNode.tsx index 43eaed5..c906479 100644 --- a/src/components/admin/narrative-flow/StringNode.tsx +++ b/src/components/admin/narrative-flow/StringNode.tsx @@ -8,7 +8,7 @@ export function StringNode({ data }: NodeProps) { return (
- +
@@ -18,7 +18,7 @@ export function StringNode({ data }: NodeProps) {
{d.description || "String value"}
- +
); } diff --git a/src/components/admin/narrative-flow/WaitNode.tsx b/src/components/admin/narrative-flow/WaitNode.tsx index dffdf5b..0fa546c 100644 --- a/src/components/admin/narrative-flow/WaitNode.tsx +++ b/src/components/admin/narrative-flow/WaitNode.tsx @@ -8,7 +8,7 @@ export function WaitNode({ data }: NodeProps) { return (
- +
@@ -18,7 +18,7 @@ export function WaitNode({ data }: NodeProps) {
{d.input !== undefined ? `Input: ${String(d.input).substring(0, 50)}${String(d.input).length > 50 ? "..." : ""}` : "No input"}
- +
); }