Commit Graph
12 Commits
Author SHA1 Message Date
DorianandClaude Opus 4.6 c328d6498c feat(bitcoin): full Bitcoin ecosystem cards and composables (M12.2-M12.8)
M12.2: Fedimint ecash card with Fedi deep-link
M12.3: BOLT12 offer card with QR and wallet deep-link
M12.4: Nostr Wallet Connect (NWC) composable with NIP-47 scaffolding
M12.5: LNURL-auth login composable with challenge generation
M12.6: Live sat/fiat price from mempool.space/api/v1/prices (60s refresh)
M12.7: Mempool.space tx viewer with confirmations, fee rate, block height
M12.8: BOLT11 invoice decoder card with amount, expiry countdown, pay link

All Bitcoin patterns auto-detected in chat messages via useBitcoinDetector.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 00:35:38 +00:00
DorianandClaude Opus 4.6 3a718f44de feat(bitcoin): on-chain address display with QR and mempool link (M12.1)
Detect bech32, bech32m, P2PKH, P2SH addresses in chat messages.
Show address card with type badge, QR code, copy button, and
mempool.space link. Bitcoin detector utility for all BTC patterns.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 00:32:59 +00:00
DorianandClaude Opus 4.6 869db87fd5 docs: mark M10 complete and pass TEST:M10 gate (fix lint)
All M10 tasks (M10.1–M10.12) implemented and verified.
74 tests pass, 0 typecheck errors, 0 lint errors.
Fixed CodeRunner.vue script tag string literal lint issue.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 00:05:59 +00:00
DorianandClaude Opus 4.6 f4270424f8 feat(renderer): video player with HLS.js & YouTube embed (M10.12)
- VideoPlayer.vue: native <video> with custom glass styling
- HLS.js lazy-loaded for adaptive streaming (.m3u8)
- YouTube detection → youtube-nocookie.com embed
- Fullscreen via native controls, playsinline for mobile

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 00:03:30 +00:00
DorianandClaude Opus 4.6 7fa06ce500 feat(renderer): sandboxed code runner for HTML/JS/CSS (M10.11)
- CodeRunner.vue: sandboxed iframe with srcdoc, allow-scripts only
- Console capture via postMessage (log + error)
- Run button, clear output, code preview
- Extracts runnable code blocks from markdown

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 00:02:36 +00:00
DorianandClaude Opus 4.6 7f67f0863d feat(renderer): vertical timeline for multiple events (M10.10)
- TimelineRenderer.vue: alternating left/right on desktop, single column mobile
- Animated entries with staggered fade-up
- Auto-switches to timeline when 3+ events detected
- Individual EventCards for 1-2 events

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 00:01:06 +00:00
DorianandClaude Opus 4.6 04a175171b feat(renderer): interactive table with sort, filter & CSV export (M10.9)
- InteractiveTable.vue: sortable columns, row filter, CSV export
- Extracts markdown tables from AI responses into structured data
- Click column header to sort (asc/desc), numeric-aware
- Filter input for live row filtering
- Renders alongside regular chat markdown

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 00:00:08 +00:00
DorianandClaude Opus 4.6 9404085668 feat(renderer): audio waveform player with WaveSurfer.js (M10.8)
- Lazy-loads WaveSurfer.js on first audio render
- Bitcoin orange waveform on dark background
- Click-to-seek, play/pause, time display
- Responsive width, touch-friendly

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 23:58:39 +00:00
DorianandClaude Opus 4.6 c070e76515 feat(renderer): recipe & event card renderers (M10.4, M10.5)
- RecipeCard: ingredients checklist, numbered steps, scale slider
- EventCard: date chip, countdown timer, ICS download, Google Calendar
- Extract <recipe_ext> and <event_ext> tags from AI responses
- Both render inline in chat messages

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 23:55:02 +00:00
DorianandClaude Opus 4.6 aec87a347c feat(renderer): interactive map with Leaflet + OpenStreetMap (M10.3)
- MapRenderer.vue: lazy-loads Leaflet, renders OSM tiles
- Orange marker pins for all places with coordinates
- Place list sidebar on desktop, popup on click
- "View on map" button in chat messages with places
- Integrated into content panel via openMapView()

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 23:52:16 +00:00
DorianandClaude Opus 4.6 7a3d874f5e feat(renderer): PDF viewer with page nav & zoom controls (M10.2)
- PdfViewer.vue: lazy-loads pdfjs-dist, renders to canvas
- Page navigation (arrows), zoom controls (50%–200%)
- Keyboard navigation (arrow keys)
- Integrated into content panel via openPdfViewer()

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 23:50:07 +00:00
DorianandClaude Opus 4.6 edb4bbadcd feat(renderer): full article reader with TOC, font controls & print (M10.1)
- ArticleReader.vue: sticky TOC sidebar (desktop), mobile dropdown
- Auto-generated heading anchors with IntersectionObserver tracking
- Reading time estimate, font size controls (persisted localStorage)
- Print mode opens clean window with serif typography
- Long-form detection (>800 words + headings) shows "Read as article"
- Removed isDark conditionals from ArticleDetail (dark-only app)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 23:48:00 +00:00