3cbb406ea7
feat: add export route to settings in route tree
2026-06-11 13:01:12 +02:00
21cc6ed437
fix: move useDocumentTitle before early returns (Rules of Hooks)
2026-06-11 12:59:13 +02:00
5dc90724d3
feat: JSON import + mapping presets in SPA
...
- Accept .json files in import upload, send format to backend
- Backend endpoint PUT /import/sessions/{id}/profile/{profile_id}
- Load saved presets on mapping step, auto-apply and skip to preview
- Save current mapping as preset on confirm step
- Delete presets from mapping step
2026-06-11 12:58:08 +02:00
9a894c3a95
refactor: move export to its own settings page under Data group
2026-06-11 12:46:46 +02:00
acc20d2f43
feat: dynamic page titles across SPA
...
useDocumentTitle hook sets document.title per page.
Dynamic: movie name, person name, username, wrapup year.
Static: diary, profile, search, social, all settings pages.
2026-06-11 12:45:01 +02:00
a95be0b131
feat: add search input on user profile pages
2026-06-11 12:39:14 +02:00
c020135cd1
feat: move diary export to settings page with CSV/JSON options
2026-06-11 12:36:03 +02:00
ad55897871
i18n: add export and profile search translations
2026-06-11 12:34:29 +02:00
b882569ee1
fix: use correct i18n key for comment placeholder in queue tab
CI / Check / Test (push) Has been cancelled
2026-06-10 02:47:04 +02:00
988e15eac6
fix: add missing common.edit i18n key
CI / Check / Test (push) Successful in 18m44s
2026-06-08 22:38:54 +02:00
fff5f4af2f
feat: goals — "watch N movies in YEAR" with progress bar
...
Domain: Goal entity, UserSettings (federation toggle), RemoteGoalEntry.
Ports: GoalRepository, UserSettingsRepository, RemoteGoalRepository.
Adapters: sqlite + postgres repos, migrations, AP content query extensions.
Application: CRUD use cases (create/update/delete/get/list), settings use cases.
API: 7 endpoints (/goals CRUD, /users/{id}/goals, /settings) with utoipa docs.
Federation: GoalObject (Note + goal discriminator), outbound broadcast with
per-user toggle, inbound GoalObjectHandler in CompositeObjectHandler.
SPA: API client + hooks, GoalCard (shadcn Card+Progress+DropdownMenu),
GoalSheet (Drawer), profile integration (editable own, read-only others),
federation toggle in settings (Switch).
Classic HTML: glassmorphic goal card on profile, Frutiger Aero styling.
Progress computed from existing reviews — backwards compatible.
2026-06-08 22:37:52 +02:00
213f9a2433
Remove backdrop filter from input slot in aero-theme.css for improved performance
CI / Check / Test (push) Successful in 17m46s
2026-06-08 21:05:16 +02:00
6a10ba15c1
feat(spa): comment field in queue review, date picker in log sheet
CI / Check / Test (push) Successful in 17m20s
2026-06-04 22:35:30 +02:00
4bd8dcbf05
feat: wrapup wow — animated counters, scroll-reveal, fun facts, component split, budget formatting
CI / Check / Test (push) Failing after 6m25s
2026-06-04 17:15:35 +02:00
ebf9a9f4a8
feat: replace CSS bar charts with recharts, fix label readability
CI / Check / Test (push) Failing after 6m20s
2026-06-04 17:04:29 +02:00
a76386345f
feat: SPA polish — wrapup sections, shareable card, webhook instructions, blocked merge
CI / Check / Test (push) Failing after 6m35s
2026-06-04 16:56:09 +02:00
81a377cbb2
docs: proper SPA readme
CI / Check / Test (push) Failing after 6m21s
2026-06-04 15:58:03 +02:00
5e6bc93a6a
feat: SPA quick wins — refresh, back nav, watchlist add, dates, haptics, export
...
CI / Check / Test (push) Failing after 7m1s
- feed refresh button with spinning icon
- BackButton component using history.back()
- watchlist bookmark icon on search results
- timeAgo/shortDate date formatting (date-fns)
- haptic feedback on star rating, swipe-to-delete, review log
- global error toasts via QueryClient mutation defaults
- diary CSV export button
2026-06-04 15:45:31 +02:00
4a3a99c6d2
fix: disable vaul repositionInputs to fix iOS keyboard in drawers
CI / Check / Test (push) Failing after 6m35s
2026-06-04 15:35:00 +02:00
01c1082290
feat: SPA bug fixes, interactivity, federation badges, admin reindex
...
CI / Check / Test (push) Failing after 10m55s
- fix wrapup status "completed" → "Ready"
- fix unfollow sending {handle} instead of {actor_url}
- fix missing post import in users.ts
- fix feed/activity cache not invalidated on review delete/log
- add person_id to cast/crew types, link to /people pages
- add movie_id to wrapup MovieRef, link highlights to /movies pages
- add wrapup actor profile images + clickable person links
- add federated review globe badge in feed and movie detail
- add fediverse handle (@user@instance) in follower/following cards
- add admin reindex search button in settings
- add wrapup user picker for admins
- add username/display_name to user summary type
- use tmdbProfileUrl for person search results
2026-06-04 14:43:41 +02:00
af8e58aeb8
fix: use avatar/banner URLs directly, not through posterUrl()
CI / Check / Test (push) Failing after 11m13s
2026-06-04 04:30:38 +02:00
092e769641
fix: 401 redirect uses /app/login instead of /login
CI / Check / Test (push) Has been cancelled
2026-06-04 04:22:20 +02:00
b9c0b10740
feat: add SPA, serve at /app/, update Dockerfile and README
...
- React + TanStack Router + shadcn/ui SPA under spa/
- serve spa/dist at /app/ with index.html fallback for client routing
- Dockerfile: node build stage for SPA, copy dist into runtime image
- README: document SPA, CORS_ORIGINS env var, architecture entry
- vite base set to /app/, manifest.json paths fixed
2026-06-04 04:20:15 +02:00