jlightner
c42d21a29f
feat: Added Export My Data download button to CreatorDashboard with loa…
...
- "frontend/src/pages/CreatorDashboard.tsx"
- "frontend/src/pages/CreatorDashboard.module.css"
- "frontend/src/api/creator-dashboard.ts"
GSD-Task: S07/T02
2026-04-04 14:19:30 +00:00
jlightner
6f3a0cc3d2
feat: Built CreatorTransparency page with four collapsible sections, AP…
...
- "frontend/src/api/creator-transparency.ts"
- "frontend/src/pages/CreatorTransparency.tsx"
- "frontend/src/pages/CreatorTransparency.module.css"
- "frontend/src/App.tsx"
- "frontend/src/pages/CreatorDashboard.tsx"
GSD-Task: S05/T02
2026-04-04 13:58:33 +00:00
jlightner
be1919e223
feat: Added GET /admin/usage endpoint with today/week/month token aggre…
...
- "backend/routers/admin.py"
- "frontend/src/api/admin-usage.ts"
- "frontend/src/pages/AdminUsage.tsx"
- "frontend/src/pages/AdminUsage.module.css"
- "frontend/src/App.tsx"
- "frontend/src/components/AdminDropdown.tsx"
- "frontend/src/api/index.ts"
GSD-Task: S04/T02
2026-04-04 13:44:44 +00:00
jlightner
d243344ce8
feat: Built 3-step onboarding wizard (Welcome → Consent → Tour), wired…
...
- "frontend/src/pages/CreatorOnboarding.tsx"
- "frontend/src/pages/CreatorOnboarding.module.css"
- "frontend/src/api/auth.ts"
- "frontend/src/context/AuthContext.tsx"
- "frontend/src/pages/Login.tsx"
- "frontend/src/App.tsx"
GSD-Task: S03/T02
2026-04-04 13:16:58 +00:00
jlightner
60b281b9d8
feat: Added ≤400px responsive breakpoints to ConsentDashboard, CreatorS…
...
- "frontend/src/pages/ConsentDashboard.module.css"
- "frontend/src/pages/CreatorSettings.module.css"
- "frontend/src/pages/Login.module.css"
- "frontend/src/pages/Register.module.css"
GSD-Task: S02/T02
2026-04-04 12:55:34 +00:00
jlightner
cb3a6c919c
test: Added GET/PUT notification preferences endpoints, signed-token un…
...
- "backend/routers/notifications.py"
- "backend/main.py"
- "backend/tests/notifications/test_notifications.py"
- "frontend/src/api/notifications.ts"
- "frontend/src/pages/CreatorSettings.tsx"
GSD-Task: S01/T03
2026-04-04 12:27:18 +00:00
jlightner
0eecee4271
feat: Extract shared citation parser and formatTime utilities, add time…
...
- "frontend/src/utils/chatCitations.tsx"
- "frontend/src/utils/formatTime.ts"
- "frontend/src/api/chat.ts"
- "frontend/src/pages/ChatPage.tsx"
- "frontend/src/pages/ChatPage.module.css"
- "frontend/src/components/ChatWidget.tsx"
- "frontend/src/components/ChatWidget.module.css"
GSD-Task: S05/T02
2026-04-04 11:46:00 +00:00
jlightner
a60f4074dc
chore: Add GET/PUT shorts-template admin endpoints, collapsible templat…
...
- "backend/routers/creators.py"
- "backend/schemas.py"
- "frontend/src/api/templates.ts"
- "frontend/src/pages/HighlightQueue.tsx"
- "frontend/src/pages/HighlightQueue.module.css"
- "backend/routers/shorts.py"
- "backend/pipeline/stages.py"
- "frontend/src/api/shorts.ts"
GSD-Task: S04/T03
2026-04-04 11:25:29 +00:00
jlightner
18e9a4dce1
feat: Wired /embed/:videoId route outside AppShell for chrome-free rend…
...
- "frontend/src/App.tsx"
- "frontend/src/pages/WatchPage.tsx"
- "frontend/src/App.css"
GSD-Task: S03/T02
2026-04-04 10:59:14 +00:00
jlightner
8444fbdb12
feat: Extracted shared copyToClipboard utility and created EmbedPlayer…
...
- "frontend/src/utils/clipboard.ts"
- "frontend/src/pages/EmbedPlayer.tsx"
- "frontend/src/pages/EmbedPlayer.module.css"
- "frontend/src/pages/ShortPlayer.tsx"
GSD-Task: S03/T01
2026-04-04 10:55:21 +00:00
jlightner
9208b134b6
feat: Added collapsible inline video player to TechniquePage with chapt…
...
- "frontend/src/pages/TechniquePage.tsx"
- "frontend/src/App.css"
GSD-Task: S02/T02
2026-04-04 10:48:12 +00:00
jlightner
160b1a8445
feat: Added public ShortPlayer page at /shorts/:token with video playba…
...
- "frontend/src/pages/ShortPlayer.tsx"
- "frontend/src/pages/ShortPlayer.module.css"
- "frontend/src/api/shorts.ts"
- "frontend/src/App.tsx"
- "frontend/src/pages/HighlightQueue.tsx"
- "frontend/src/pages/HighlightQueue.module.css"
GSD-Task: S01/T02
2026-04-04 10:35:56 +00:00
jlightner
84d8dc4455
feat: Added shorts router with generate/list/download endpoints, fronte…
...
- "backend/routers/shorts.py"
- "backend/main.py"
- "frontend/src/api/shorts.ts"
- "frontend/src/pages/HighlightQueue.tsx"
- "frontend/src/pages/HighlightQueue.module.css"
GSD-Task: S03/T03
2026-04-04 09:52:01 +00:00
jlightner
9431aa2095
feat: Added PostsFeed component to creator profile pages with Tiptap HT…
...
- "frontend/src/components/PostsFeed.tsx"
- "frontend/src/components/PostsFeed.module.css"
- "frontend/src/pages/PostsList.tsx"
- "frontend/src/pages/PostsList.module.css"
- "frontend/src/pages/CreatorDetail.tsx"
- "frontend/src/App.tsx"
- "frontend/src/pages/CreatorDashboard.tsx"
GSD-Task: S01/T04
2026-04-04 09:17:30 +00:00
jlightner
9139d5a93a
feat: Built Tiptap rich text post editor with file attachments, multipa…
...
- "frontend/src/pages/PostEditor.tsx"
- "frontend/src/pages/PostEditor.module.css"
- "frontend/src/api/posts.ts"
- "frontend/src/api/client.ts"
- "frontend/src/App.tsx"
- "frontend/src/pages/CreatorDashboard.tsx"
GSD-Task: S01/T03
2026-04-04 09:13:48 +00:00
jlightner
eab362d897
feat: Added collapsible PersonalityProfile component to CreatorDetail p…
...
- "frontend/src/components/PersonalityProfile.tsx"
- "frontend/src/api/creators.ts"
- "frontend/src/pages/CreatorDetail.tsx"
- "frontend/src/App.css"
GSD-Task: S06/T03
2026-04-04 08:31:37 +00:00
jlightner
34acf468c6
feat: Updated streamChat() API, ChatWidget, and ChatPage to thread conv…
...
- "frontend/src/api/chat.ts"
- "frontend/src/components/ChatWidget.tsx"
- "frontend/src/pages/ChatPage.tsx"
- "frontend/src/pages/ChatPage.module.css"
GSD-Task: S04/T02
2026-04-04 07:53:50 +00:00
jlightner
3226709382
feat: Built floating ChatWidget with streaming responses, citation link…
...
- "frontend/src/components/ChatWidget.tsx"
- "frontend/src/components/ChatWidget.module.css"
- "frontend/src/pages/CreatorDetail.tsx"
GSD-Task: S03/T01
2026-04-04 07:41:59 +00:00
jlightner
243a7a3eb6
feat: Follow system + tier config page (M022/S02)
...
- CreatorFollow model + pure SQL migration 022
- Follow router: POST/DELETE /follows/{creator_id}, GET /follows/me, GET /follows/{id}/status
- follower_count on creator detail endpoint
- Follow button on CreatorDetail (authenticated users only)
- CreatorTiers page with Free/Pro/Premium cards, Coming Soon modals
- Tiers link in creator sidebar nav
- Route /creator/tiers (protected)
2026-04-04 07:34:03 +00:00
jlightner
ddeaf9ac41
fix: resolve TS errors in ChapterReview and HighlightQueue (noUncheckedIndexedAccess)
2026-04-04 07:09:39 +00:00
jlightner
ce08d729cd
feat: Built HighlightQueue page with filter tabs, candidate cards with…
...
- "frontend/src/api/highlights.ts"
- "frontend/src/pages/HighlightQueue.tsx"
- "frontend/src/pages/HighlightQueue.module.css"
- "frontend/src/App.tsx"
- "frontend/src/pages/CreatorDashboard.tsx"
GSD-Task: S01/T02
2026-04-04 07:01:57 +00:00
jlightner
4bda29705d
feat: Added AdminAuditLog page with paginated impersonation log table,…
...
- "frontend/src/pages/AdminAuditLog.tsx"
- "frontend/src/pages/AdminAuditLog.module.css"
- "frontend/src/App.tsx"
- "frontend/src/components/AdminDropdown.tsx"
GSD-Task: S07/T03
2026-04-04 06:29:47 +00:00
jlightner
4969935c76
feat: Added ConfirmModal component, Edit As button with write-mode conf…
...
- "frontend/src/components/ConfirmModal.tsx"
- "frontend/src/components/ConfirmModal.module.css"
- "frontend/src/api/auth.ts"
- "frontend/src/context/AuthContext.tsx"
- "frontend/src/pages/AdminUsers.tsx"
- "frontend/src/pages/AdminUsers.module.css"
- "frontend/src/components/ImpersonationBanner.tsx"
- "frontend/src/components/ImpersonationBanner.module.css"
GSD-Task: S07/T02
2026-04-04 06:27:38 +00:00
jlightner
f822415f6f
feat: Wired ChapterReview into App routes (/creator/chapters, /creator/…
...
- "frontend/src/App.tsx"
- "frontend/src/pages/CreatorDashboard.tsx"
- "frontend/src/pages/ChapterReview.tsx"
- "frontend/src/pages/ChapterReview.module.css"
GSD-Task: S06/T03
2026-04-04 06:12:10 +00:00
jlightner
7b111a7ded
feat: Built ChapterReview page with WaveSurfer waveform (draggable/resi…
...
- "frontend/src/pages/ChapterReview.tsx"
- "frontend/src/pages/ChapterReview.module.css"
- "frontend/src/api/videos.ts"
- "frontend/src/App.tsx"
GSD-Task: S06/T02
2026-04-04 06:07:23 +00:00
jlightner
76880d0477
feat: Created ChapterMarkers overlay component, added RegionsPlugin cha…
...
- "frontend/src/components/ChapterMarkers.tsx"
- "frontend/src/components/PlayerControls.tsx"
- "frontend/src/components/AudioWaveform.tsx"
- "frontend/src/pages/WatchPage.tsx"
- "frontend/src/App.css"
GSD-Task: S05/T03
2026-04-04 05:53:19 +00:00
jlightner
96608a3d8f
feat: Installed wavesurfer.js, created AudioWaveform component with sha…
...
- "frontend/src/components/AudioWaveform.tsx"
- "frontend/src/hooks/useMediaSync.ts"
- "frontend/src/pages/WatchPage.tsx"
- "frontend/src/App.css"
- "frontend/package.json"
GSD-Task: S05/T02
2026-04-04 05:49:40 +00:00
jlightner
9bdb5b0e4a
feat: Built ChatPage with SSE streaming client, real-time token display…
...
- "frontend/src/api/chat.ts"
- "frontend/src/pages/ChatPage.tsx"
- "frontend/src/pages/ChatPage.module.css"
- "frontend/src/App.tsx"
GSD-Task: S03/T02
2026-04-04 05:22:43 +00:00
jlightner
17b43d9778
feat: Added LightRAG /query/data as primary search engine with file_sou…
...
- "backend/config.py"
- "backend/search_service.py"
GSD-Task: S01/T01
2026-04-04 04:44:24 +00:00
jlightner
4115c8add0
feat: Built ConsentDashboard page with per-video consent toggles, expan…
...
- "frontend/src/pages/ConsentDashboard.tsx"
- "frontend/src/pages/ConsentDashboard.module.css"
- "frontend/src/pages/CreatorDashboard.tsx"
- "frontend/src/App.tsx"
GSD-Task: S03/T02
2026-04-04 00:24:17 +00:00
jlightner
da29a2a723
feat: Replaced 3 placeholder cards with real creator dashboard: 4 stat…
...
- "frontend/src/api/creator-dashboard.ts"
- "frontend/src/pages/CreatorDashboard.tsx"
- "frontend/src/pages/CreatorDashboard.module.css"
- "frontend/src/api/index.ts"
GSD-Task: S02/T02
2026-04-04 00:13:48 +00:00
jlightner
8417f0e9e0
feat: Built WatchPage with video player, synced transcript sidebar, laz…
...
- "frontend/src/api/videos.ts"
- "frontend/src/components/TranscriptSidebar.tsx"
- "frontend/src/pages/WatchPage.tsx"
- "frontend/src/App.tsx"
- "frontend/src/pages/TechniquePage.tsx"
- "frontend/src/App.css"
GSD-Task: S01/T03
2026-04-03 23:50:15 +00:00
jlightner
dbc4afcf42
feat: Normalized /topics and /videos endpoints from bare lists to pagin…
...
- "backend/schemas.py"
- "backend/routers/topics.py"
- "backend/routers/videos.py"
- "frontend/src/api/topics.ts"
- "frontend/src/pages/TopicsBrowse.tsx"
- "frontend/src/pages/Home.tsx"
GSD-Task: S05/T03
2026-04-03 23:09:33 +00:00
jlightner
39e169b4ce
feat: Split 945-line public-client.ts into 10 domain API modules with s…
...
- "frontend/src/api/client.ts"
- "frontend/src/api/index.ts"
- "frontend/src/api/search.ts"
- "frontend/src/api/techniques.ts"
- "frontend/src/api/creators.ts"
- "frontend/src/api/topics.ts"
- "frontend/src/api/stats.ts"
- "frontend/src/api/reports.ts"
GSD-Task: S05/T01
2026-04-03 23:04:56 +00:00
jlightner
c60fc8c3b3
feat: Added ProtectedRoute component, CreatorDashboard with sidebar nav…
...
- "frontend/src/components/ProtectedRoute.tsx"
- "frontend/src/pages/CreatorDashboard.tsx"
- "frontend/src/pages/CreatorDashboard.module.css"
- "frontend/src/pages/CreatorSettings.tsx"
- "frontend/src/pages/CreatorSettings.module.css"
- "frontend/src/App.tsx"
- "frontend/src/App.css"
- "frontend/src/pages/Login.tsx"
GSD-Task: S02/T04
2026-04-03 22:02:04 +00:00
jlightner
b344307a89
feat: Added AuthContext provider with JWT persistence, auth API client…
...
- "frontend/src/context/AuthContext.tsx"
- "frontend/src/api/public-client.ts"
- "frontend/src/pages/Login.tsx"
- "frontend/src/pages/Login.module.css"
- "frontend/src/pages/Register.tsx"
- "frontend/src/pages/Register.module.css"
- "frontend/src/App.tsx"
GSD-Task: S02/T03
2026-04-03 21:58:08 +00:00
jlightner
18eb4e0ee8
feat: Added updateCreatorProfile() API client and inline bio/social-lin…
...
- "frontend/src/api/public-client.ts"
- "frontend/src/pages/CreatorDetail.tsx"
- "frontend/src/App.css"
GSD-Task: S04/T01
2026-04-03 09:18:39 +00:00
jlightner
47014f5a3f
feat: Featured technique card with gradient border and enriched recent-…
...
- "frontend/src/api/public-client.ts"
- "frontend/src/pages/CreatorDetail.tsx"
- "frontend/src/App.css"
GSD-Task: S03/T02
2026-04-03 09:10:14 +00:00
jlightner
0234a87429
feat: Added SocialIcons component with 9 platform SVG icons, rendered s…
...
- "frontend/src/components/SocialIcons.tsx"
- "frontend/src/pages/CreatorDetail.tsx"
- "frontend/src/App.css"
GSD-Task: S02/T02
2026-04-03 09:00:34 +00:00
jlightner
bef8d5939d
feat: Replaced compact creator header with full hero section: 96px avat…
...
- "frontend/src/pages/CreatorDetail.tsx"
- "frontend/src/App.css"
GSD-Task: S01/T02
2026-04-03 08:52:06 +00:00
jlightner
74a4f25402
feat: Synced CreatorDetailResponse with backend schema (7 new fields) a…
...
- "frontend/src/api/public-client.ts"
- "frontend/src/pages/CreatorDetail.tsx"
GSD-Task: S01/T01
2026-04-03 08:50:12 +00:00
jlightner
ff351b38d7
fix: run card collapse flicker — auto-expand only on first load, not on every re-render
...
The load callback had expandedRunId in its dependency array, so collapsing
(setting expandedRunId=null) triggered a reload which re-expanded it.
Replaced with a useRef flag that fires once.
2026-04-03 08:21:51 +00:00
jlightner
97abc7c80c
style: back arrow inline with article title, title bumped to 1.5rem
2026-04-03 07:44:32 +00:00
jlightner
1d210faf68
style: related techniques cards use same recent-card styling as homepage Recently Added
2026-04-03 07:43:03 +00:00
jlightner
71183639ea
fix: revert purple accents, move stats/tags into grid main column, shrink sidebar to 16rem, right-align ToC, fix stray CSS brace
2026-04-03 07:39:28 +00:00
jlightner
b132c4ac7b
feat: restructure technique page — bibliography key moments, ToC-only sidebar, sticky title bar, solid featured border
...
- Move key moments below prose as bibliography-style sources with [N] indices
- Move signal chains and related techniques to main column below key moments
- Sidebar now dedicated to ToC only, sticky with scroll tracking
- Replace position:fixed reading header with sticky title bar within content area
- ToC smooth-scrolls on click with history.replaceState for hash updates
- Featured technique card: solid cyan-to-purple gradient border (border-image)
- Remove ReadingHeader component (replaced by title bar)
- Hide sidebar ToC on mobile (single-column reading)
- Related techniques grid defaults to 2-column in main content area
2026-04-03 07:16:03 +00:00
jlightner
6d910f504a
fix: move scroll-spy hooks above early returns to fix React hooks ordering crash
...
M016 added useState/useMemo/useEffect hooks after conditional early
returns (loading/notFound/error), violating React rules of hooks.
Moved all hooks above the early returns so they execute on every render.
2026-04-03 06:46:16 +00:00
jlightner
7d4168c048
feat: Added .section-heading utility class to unify four heading styles…
...
- "frontend/src/App.css"
- "frontend/src/pages/Home.tsx"
GSD-Task: S06/T02
2026-04-03 06:22:11 +00:00
jlightner
e98f43193e
feat: Lifted scroll-spy state from TableOfContents to TechniquePage, cr…
...
- "frontend/src/components/ReadingHeader.tsx"
- "frontend/src/components/TableOfContents.tsx"
- "frontend/src/pages/TechniquePage.tsx"
- "frontend/src/App.css"
GSD-Task: S05/T01
2026-04-03 06:01:13 +00:00
jlightner
0743d80b6a
feat: Moved Table of Contents from main prose column to sidebar top; re…
...
- "frontend/src/pages/TechniquePage.tsx"
- "frontend/src/components/TableOfContents.tsx"
- "frontend/src/App.css"
GSD-Task: S04/T01
2026-04-03 05:52:47 +00:00