Skip to content

Commit faa8298

Browse files
Copilotmikebarkmin
andcommitted
Add isDefaultRoadmapData helper and update welcome message visibility
Co-authored-by: mikebarkmin <2592379+mikebarkmin@users.noreply.github.com>
1 parent 3a5beec commit faa8298

2 files changed

Lines changed: 26 additions & 2 deletions

File tree

packages/learningmap/src/LearningMapEditor.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ import { RoadmapData, NodeData, ImageNodeData, TextNodeData, Settings } from "./
2828
import { SettingsDrawer } from "./SettingsDrawer";
2929
import FloatingEdge from "./FloatingEdge";
3030
import { EditorToolbar } from "./EditorToolbar";
31-
import { parseRoadmapData } from "./helper";
31+
import { parseRoadmapData, isDefaultRoadmapData } from "./helper";
3232
import { LearningMap } from "./LearningMap";
3333
import { Info, Redo, Undo, RotateCw, ShieldAlert } from "lucide-react";
3434
import useUndoable from "./useUndoable";
@@ -840,7 +840,7 @@ export function LearningMapEditor({
840840
backgroundColor: settings?.background?.color || "#ffffff",
841841
}}
842842
>
843-
{nodes.length === 0 && edges.filter(e => !e.id.startsWith("debug-")).length === 0 && (
843+
{isDefaultRoadmapData(nodes, edges, settings) && (
844844
<WelcomeMessage
845845
onOpenFile={handleOpen}
846846
onAddTopic={() => addNewNode("topic")}

packages/learningmap/src/helper.ts

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,3 +83,27 @@ export const parseRoadmapData = (
8383
return { settings: { title: "New Roadmap" }, version: 1 };
8484
}
8585
};
86+
87+
export const isDefaultRoadmapData = (
88+
nodes: any[],
89+
edges: any[],
90+
settings?: any
91+
): boolean => {
92+
// Check if there are no nodes or edges
93+
const hasNoContent = nodes.length === 0 && edges.filter(e => !e.id.startsWith("debug-")).length === 0;
94+
95+
if (!hasNoContent) {
96+
return false;
97+
}
98+
99+
// Check if settings are in default state
100+
// Default settings: { background: { color: "#ffffff" } }
101+
const hasDefaultSettings =
102+
!settings?.title &&
103+
!settings?.language &&
104+
(!settings?.background ||
105+
(settings.background.color === "#ffffff" &&
106+
(!settings.background.nodes || settings.background.nodes.length === 0)));
107+
108+
return hasDefaultSettings;
109+
};

0 commit comments

Comments
 (0)