UX improvements: connected node sorting, markdown descriptions, book resources, edge handling, node centering, and edge defaults#35
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
- Sort dropdown options to show connected nodes first - Add markdown support for node descriptions - Add support for physical book resources (name + location) - Remove Concert One font from descriptions - Change edge selection to use color instead of border - Exclude edges from multiple selection - Enable keyboard deletion for edges Co-authored-by: mikebarkmin <2592379+mikebarkmin@users.noreply.github.com>
- Import and use Resource type instead of 'any' - Add DOMPurify to sanitize markdown HTML output - Remove unnecessary type assertion - Improve type safety across resource handling Co-authored-by: mikebarkmin <2592379+mikebarkmin@users.noreply.github.com>
|
@copilot I get this error, when opening the preview mode: can't access property "data", o is null |
- Add null check for node in useMemo before accessing node.data - Update early return condition to check both open and node - Fixes "can't access property 'data', o is null" error Co-authored-by: mikebarkmin <2592379+mikebarkmin@users.noreply.github.com>
Fixed in commit 5d453ce. The issue was that the useMemo hook was trying to access |
|
@copilot Add an internet icon before url resources. Add an book icon before book resources. A book resource should look like this: 📚 Label (Name, Location) if name is empty no comma should be visible |
- Add 🌐 icon before URL resources - Add 📚 icon before book resources - Format book resources as: 📚 Label (Name, Location) - Handle empty name field properly (no comma when name is empty) Co-authored-by: mikebarkmin <2592379+mikebarkmin@users.noreply.github.com>
Done in commit fcd8273. Added:
|
|
@copilot Three more things:
|
1. Use normal font for resource list (not Concert One) 2. Center node labels and add configurable font size 3. Add default edge type and color settings with bulk update Changes: - Resource list now uses system font for better readability - Node labels centered within nodes (flex center) - Added fontSize field to NodeData (configurable per node) - Added defaultEdgeType and defaultEdgeColor to Settings - New controls in Settings drawer for edge defaults - Button to update all edges to default settings - EditorCanvas uses default edge settings from settings Co-authored-by: mikebarkmin <2592379+mikebarkmin@users.noreply.github.com>
Done in commit 748f6d0. Implemented all three improvements:
|
|
@copilot the description textarea does not use the system font. |
- Changed textarea font-family from 'inherit' to system font stack - Ensures description input uses readable font consistently Co-authored-by: mikebarkmin <2592379+mikebarkmin@users.noreply.github.com>
Better UX Improvements ✅
This PR successfully implements all 7 original UX improvements for the learningmap editor plus 5 additional enhancements:
Original Requirements:
markedlibrary withDOMPurifysanitizationAdditional Enhancements:
Technical Implementation:
Files Modified:
packages/learningmap/src/types.ts- Added Resource interface, fontSize to NodeData, edge defaults to Settingspackages/learningmap/src/EditorDrawer.tsx- Implemented connected node sortingpackages/learningmap/src/EditorDrawerTaskContent.tsx- Added book resource UI and font size controlpackages/learningmap/src/Drawer.tsx- Markdown rendering with sanitization, book display with icons, fixed null referencepackages/learningmap/src/KeyboardShortcuts.tsx- Edge deletion supportpackages/learningmap/src/EditorCanvas.tsx- Box selection behavior, use default edge settingspackages/learningmap/src/SettingsDrawer.tsx- Added edge default controls and bulk update buttonpackages/learningmap/src/nodes/TaskNode.tsx- Centered labels, configurable font sizepackages/learningmap/src/nodes/TopicNode.tsx- Centered labels, configurable font sizepackages/learningmap/src/index.css- Typography and edge styling, resource list font, textarea fontpackages/learningmap/package.json- AddedmarkedanddompurifydependenciesResource Display:
Edge Settings:
Bug Fixes:
Security:
Testing:
Backward Compatibility:
typefield will default to URL typeFixes #34
Original prompt
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.