Commit Graph

29 Commits

Author SHA1 Message Date
Yusuf Suleman
af1765bd8e fix: mobile nav spacing + safe area, PDF viewer mobile layout
- Mobile nav: tighter spacing, safe-area-inset-bottom padding
- Nav items closer together so bottom section stays visible
- Nav sheet scrollable if content overflows
- PDF viewer mobile: 55vh for PDF, rest for sidebar (scrollable)
- Full screen on mobile (no border-radius, no padding)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 00:27:16 -05:00
Yusuf Suleman
5098545580 fix: mobile nav full height + upload paste box, PDF zoom fit
- Mobile nav sheet: flex layout, bottom section pushed to bottom
- Upload paste box + file picker added to mobile nav drawer
- Date shown at bottom of mobile nav
- PDF viewer: added #zoom=page-fit to iframe URL

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 00:18:45 -05:00
Yusuf Suleman
2ab27d048a fix: mobile tags pills show all active tags regardless of item count
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 22:42:56 -05:00
Yusuf Suleman
9f51f3bcd3 feat: brain mobile pills — tags shown after separator, prefixed with #
Scroll: [All] [Home] [Work] ... | [#guide] [#important] [#dev] ...

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 22:35:37 -05:00
Yusuf Suleman
3531360827 feat: brain colored folders/tags — color + icon fields, mobile pills
Backend:
- Added color (hex) and icon (lucide name) columns to folders and tags
- Default folders seeded with colors: Home=green, Work=indigo, Travel=blue, etc.
- API returns color/icon in sidebar and CRUD responses
- Create/update endpoints accept color and icon

Frontend:
- Mobile: horizontal scrollable pill tabs with colored dots
- Desktop sidebar: colored dots next to folder names
- Active pill gets tinted border matching folder color

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 22:32:40 -05:00
Yusuf Suleman
8f3afd46c3 feat: brain mobile sidebar — slide-out drawer with overlay
- "Folders & Tags" button shown only on mobile
- Click opens sidebar as slide-out drawer from left
- Dark overlay behind, click to dismiss
- Selecting a folder/tag auto-closes the drawer
- Desktop sidebar unchanged

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 22:13:48 -05:00
Yusuf Suleman
a52b13eb28 feat: brain sidebar — settings icon at top, tags show counts, hide empty tags
- Settings gear icon in sidebar header (replaces bottom manage button)
- Click gear → manage mode (shows as checkmark when active)
- Tags only show ones with items (counts visible)
- Manage mode shows ALL tags with delete buttons
- Add input inline under each section in manage mode
- Fixed button-inside-button error (use span for delete)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 22:05:01 -05:00
Yusuf Suleman
adef1dbeb8 fix: sidebar add button no longer cut off — input shrinks, button stays visible
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 21:58:45 -05:00
Yusuf Suleman
02a9783d4f feat: brain sidebar manage mode — add/delete folders and tags
- "Manage folders & tags" button at bottom of sidebar
- Click to enter manage mode:
  - + button appears next to Folders/Tags headers
  - Inline input to type and add new folder/tag
  - × delete button appears on each item
  - Delete confirms before removing
- "Done" button exits manage mode
- Tags/folders created/deleted via taxonomy API
- Sidebar refreshes after changes

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 21:25:29 -05:00
Yusuf Suleman
11965eccd1 fix: brain sidebar — show all tags, fix content overflow, match nav styling
- Tags now show regardless of item_count (were hidden when 0)
- Content padding fixed (28px, overflow-x hidden)
- Sidebar nav items use same var(--text-sm) and var(--transition) as AppShell
- Active count color matches AppShell pattern
- Hero command-actions narrower to prevent overflow

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 21:20:30 -05:00
Yusuf Suleman
5689ee1f6a fix: brain layout — sidebar + content as flex siblings, no page wrapper
Template restructured to match Reader pattern:
brain-layout (flex) > brain-sidebar (248px) + brain-content (flex:1)
Hero and capture bar moved inside brain-content.
Removed page/app-surface wrappers.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 21:17:14 -05:00
Yusuf Suleman
e982b10db5 fix: brain second sidebar — Reader-style panel between AppShell and content
- Removed AppShell sub-nav items (wrong approach)
- Brain page now has its own sidebar column (248px, like Reader)
- Layout: [AppShell Nav] | [Brain Sidebar] | [Masonry Grid]
- Sidebar shows: All items, Folders section, Tags section (with counts)
- Matches Reader page pattern exactly (same CSS, same structure)
- Mobile: sidebar hidden

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 21:12:40 -05:00
Yusuf Suleman
e8c5636d98 refactor: brain sidebar lives in AppShell nav, not in-page
- Removed duplicate in-page sidebar from AtelierBrainPage
- AppShell sub-items now full-sized, matching main nav style
- Folders/Tags tabs as pill toggle in sidebar
- All folders shown (not just ones with items)
- All tags shown (not limited to 12)
- Brain page is now just capture + search + masonry grid
- Sidebar links use /brain?folder=X and /brain?tag=X

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 20:58:49 -05:00
Yusuf Suleman
fd636f01fa feat: brain sub-sidebar in AppShell — folders/tags under Brain nav item
- Brain nav item expands when on /brain page
- Shows Folders/Tags toggle tabs
- Folder links: /brain?folder=Work etc
- Tag links: /brain?tag=dev etc
- Counts shown next to each
- Brain page reads filter from URL params
- Only shows folders with items + key defaults (Home, Work, Knowledge)
- Tags limited to 12 most-used

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 20:35:19 -05:00
Yusuf Suleman
5f2fe8eca6 fix: brain page 500 — removed stale folderCounts reference
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 20:30:18 -05:00
Yusuf Suleman
68a8d4c228 feat: brain taxonomy — DB-backed folders/tags, sidebar, CRUD API
Backend:
- New Folder/Tag/ItemTag models with proper relational tables
- Taxonomy CRUD endpoints: list, create, rename, delete, merge tags
- Sidebar endpoint with folder/tag counts
- AI classification reads live folders/tags from DB, not hardcoded
- Default folders/tags seeded on first request per user
- folder_id FK on items for relational integrity

Frontend:
- Left sidebar with Folders/Tags tabs (like Karakeep)
- Click folder/tag to filter items
- "Manage" mode: add new folders/tags, delete existing
- Counts next to each folder/tag
- "All items" option to clear filter
- Replaces the old signal-strip cards

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 20:23:45 -05:00
Yusuf Suleman
e7b7ff3400 feat: brain live search — results appear as you type (300ms debounce)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 19:51:13 -05:00
Yusuf Suleman
85a075260d fix: brain search — Meilisearch settings use PATCH not PUT
Settings were failing with 405 (PUT not supported in Meilisearch v1.12).
Changed to PATCH. Filterable/searchable attributes now applied.
Keyword search working: wedding, yusuf, insurance, airport all return results.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 19:48:27 -05:00
Yusuf Suleman
f7fd7cf7d5 fix: brain viewer — centered popup modal instead of full-screen
- 90vw x 80vh centered modal with rounded corners and shadow
- Blurred backdrop overlay, click outside to close
- PDF viewer on left, metadata sidebar on right
- Feels like a popup, not a page takeover

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 19:18:34 -05:00
Yusuf Suleman
840c7d6ea7 feat: brain full-screen PDF/image viewer with sidebar details
- PDFs open in full-screen split layout: PDF viewer (left) + metadata sidebar (right)
- Uses native browser PDF viewer (iframe) for full rendering
- Images open in centered viewer with dark background
- Sidebar shows title, summary, tags, folder, extracted text, download button
- Mobile: stacks vertically (viewer top, sidebar bottom)
- Links and notes still use the slide-over sheet

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 19:14:59 -05:00
Yusuf Suleman
783faa0abd feat: brain inline PDF viewer — reuses PdfInlinePreview from trips
- PDF detail sheet now shows inline rendered PDF pages
- Click to expand inline, "Full view" for overlay viewer
- Uses pdfjs-dist canvas rendering (same as trips app)
- Falls back to screenshot if no original upload found

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 19:08:42 -05:00
Yusuf Suleman
b58313ec8e fix: brain polling — update individual items instead of full reload
Polls only pending/processing items by ID every 4s instead of
reloading the entire list every 3s. Prevents screen flashing.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 19:06:52 -05:00
Yusuf Suleman
7a5c3382d3 feat: brain file upload button — PDFs, images, text files
- Upload button (arrow icon) in capture bar next to text input
- Accepts: PDF, PNG, JPG, GIF, WEBP, TXT, MD, CSV
- Multiple file upload supported
- Hidden file input triggered by button click
- Upload status indicator while processing
- Files sent to /api/brain/items/upload endpoint

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 19:03:52 -05:00
Yusuf Suleman
3264aad614 feat: brain cards show PDF thumbnails, image previews, extracted text
- PDF cards: show first page render as thumbnail with "PDF" badge
- Image cards: show the original uploaded image
- PDF detail sheet: shows screenshot + extracted text in mono font
- Image detail sheet: shows the original image
- Card content shows page count for PDFs, extracted text preview
- Links still open URL on screenshot click, PDFs/images open detail

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 18:57:14 -05:00
Yusuf Suleman
2c3f0d263b feat: brain detail sheet — screenshot for links, editable notes, spelling fix
- Link detail: shows screenshot image (clickable to open URL), URL, summary, tags
- Note detail: click note text to edit, save/cancel buttons
- Notes: AI now fixes spelling/grammar instead of rewriting
- AI returns corrected_text field for notes, worker replaces raw_content
- Removed verbose meta grid (folder/confidence/status/saved)
- Folder shown as a pill badge in meta line

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 18:27:27 -05:00
Yusuf Suleman
6694795726 fix: brain UX — links open URL, notes are editable, remove meta grid
- Link card screenshots now open the original URL in new tab
- Card content area opens the detail sheet
- Notes: clicking the note body in detail sheet enters edit mode
- Removed Folder/Confidence/Status/Saved meta grid from detail
- Replaced with single inline folder + date line
- Tags still clickable for filtering

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 17:56:04 -05:00
Yusuf Suleman
b26392a2ca feat: brain tag filtering — click any tag to filter, clear pill, auto-poll
- Tags are now clickable buttons on cards and detail sheet
- Active tag filter shows as a pill with clear button
- Items filtered by tag via API query param
- Auto-polling every 3s for pending/processing items
- Detail sheet shows raw_content for notes with "Note" label

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 17:49:53 -05:00
Yusuf Suleman
6565b23deb feat: brain masonry card grid — Karakeep-style layout with Atelier aesthetics
- 3-column CSS masonry grid (2 on tablet, 1 on mobile)
- Link cards show screenshot thumbnails
- Note cards show content body inline
- Tags as pills, folder/date in meta footer
- Screenshot serving endpoint added to brain API
- Auto-polling for pending items (3s interval)
- Detail sheet shows raw_content for notes
- Warm frosted glass card styling matching Atelier design

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 17:42:59 -05:00
Yusuf Suleman
477188f542 feat: brain frontend — Atelier-style page with capture, search, feed, detail sheet
- AtelierBrainPage.svelte with full CRUD UI
- Capture bar: paste URL or type note, saves instantly
- Folder signal cards with counts
- Hybrid search (keyword + semantic)
- Item feed with metadata, tags, confidence indicators
- Detail slide-over sheet with summary, metadata, actions
- Added to AppShell nav, legacy Navbar, and layout allApps
- Route at /brain

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 17:18:36 -05:00