Commit Graph

20 Commits

Author SHA1 Message Date
Josh Creek acaf760b36 perf(pokedex): send the box grid as packed rows with the page
The server load fetched a full combined-data page at a 9999 item page size,
carrying detail text and ownership fields the grid never renders, and the client
re-fetched the same payload after hydration.

Load a trimmed grid row instead and pack it as positional tuples so field names
are not repeated for every one of a thousand-plus entries. Entry detail is
fetched on demand from the new per-entry endpoint when a cell is opened, and the
grid marks itself interactive so other page-start work can queue behind it.
2026-09-15 17:46:19 +01:00
Josh Creek 7240376e00 feat(pokedex): add shareable read-only dex links 2026-09-14 14:25:09 +01:00
Josh Creek 3a2c18bbeb fix: repair defects surfaced by gating CI on lint and typecheck
`npm run check` reported 15 errors and `npm run lint` 20, all pre-existing, so
neither gate could pass. Fixing them turned up three real bugs:

- SignOut destructured `{ error }` off `.then(() => {})`, which resolves to
  undefined, so every sign-out threw a TypeError - after the signed-out event had
  already been emitted. Sign-out also left the user on the protected page they
  were on, still showing its content; it now returns them to the home page and
  re-runs the server loads.

- SignUp passed `redirectTo`, which is not a signUp option and was silently
  ignored, so the confirmation link has always used Supabase's configured site
  URL. Documented rather than changed, since pointing it elsewhere needs an
  absolute allow-listed URL.

- The Pokédex page tracked totalRecordsCreated but never passed it to the box
  view, so the "Processed N entries so far" progress message never rendered.

The rest is typing and dead code: cookie callback parameters in hooks.server.ts
and +layout.ts, the untyped supabase props, a query-builder type that made
PostgREST rows untyped downstream, an unused session destructure, and
`while (true)` paging loops rewritten as `for (;;)`.
2026-09-13 17:38:42 +01:00
Josh Creek eba34158fe data(*): Fix remaining sprites 2026-01-18 13:14:18 +00:00
Josh Creek 46351c9af0 data(*): Add final data changes 2026-01-17 23:30:40 +00:00
Josh Creek 9d14b2d2f1 refactor(#48): Address PR comments 2026-01-10 21:44:19 +00:00
Josh Creek ad8c8a847d feat(#48): Make box cells square on mobile 2026-01-10 21:35:14 +00:00
Josh Creek d50417ffef feat(#48): Add dark mode 2026-01-10 21:12:25 +00:00
Josh Creek 84c6de6b62 feat(#59): Add outlines to empty box cells 2026-01-10 10:23:21 +00:00
Josh Creek 789321ce03 feat(#57): Improve accessibility of dropdown 2026-01-10 10:12:22 +00:00
Josh Creek cb0773b03e feat(#57): Replace 'mark box as' buttons with dropdown for better ux 2026-01-09 22:21:01 +00:00
Josh Creek 8fa394f102 feat(#60): Add stats and filters to pokedex page 2026-01-09 21:51:21 +00:00
Josh Creek ca6831d10a feat(#63): Improve the box view 2026-01-09 20:34:57 +00:00
Josh Creek 07af29e6e6 chore(#67): Address pr comments 2026-01-09 18:45:47 +00:00
Josh Creek 28bb39d558 feat(*): Add improvements to the UX and the data seeding 2026-01-07 20:13:07 +00:00
Josh Creek b9a49686c1 refactor(*): Implement CSV-based seeding, dynamic box placement, and enforce forms from pokedex configuration 2026-01-05 09:44:15 +00:00
Josh Creek 19a571e315 feat(#67): Add support for multiple pokedexes per user 2026-01-04 22:06:36 +00:00
Josh Creek bc9ce84615 feat(*): Migrate from MongoDB to unified Supabase PostgreSQL architecture 2025-07-26 18:50:05 +01:00
Josh Creek bfde0c49f5 feat(#46): Merge boxes view into my dex page 2024-07-17 22:07:07 +01:00
Josh Creek 4d9d5e74d7 feat(#46): Componentise the boxes view 2024-07-17 21:11:58 +01:00