- Increase logo size (48x48 desktop, 56x56 mobile) for better visibility
- Add logo as favicon
- Add logo to mobile header
- Move user menu to navigation bars (sidebar on desktop, bottom bar on mobile)
- Fix desktop chat layout - container structure prevents voice controls cutoff
- Fix mobile bottom bar - use icon-only ActionIcons instead of truncated text buttons
- Hide Create Node/New Conversation buttons on mobile to save header space
- Make fixed header and voice controls work properly with containers
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Implemented the node editor page and AI-powered link suggestions:
1. Node Editor Page (/editor/[id]):
- Form with title and body fields using Mantine
- Pre-fill support from query params (for chat redirects)
- "Find Related" button to discover similar nodes
- "Publish Node" button to save to ATproto + SurrealDB
- Display of suggested links with similarity scores
- Mantine notifications for success/error feedback
2. Suggest Links API (/api/suggest-links):
- Authenticates using SurrealDB JWT cookie
- Generates embedding for draft text using Google AI
- Performs vector similarity search using SurrealDB
- Returns top 5 most similar nodes with cosine scores
- Enforces row-level security (users only see their nodes)
3. Magnitude Tests:
- Editor page rendering
- Pre-filled form from query params
- Publishing new nodes
- Form validation
The editor integrates with the existing /api/nodes write-through
cache from Step 6, completing the node creation workflow.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>