Commit Graph

97 Commits

Author SHA1 Message Date
Josh Creek 68cc2a0712 fix(#64): Address PR comments 2026-01-10 17:06:52 +00:00
Josh Creek 7c68d121ce fix(#64): Address PR comments 2026-01-10 16:27:23 +00:00
Josh Creek adc96baa90 feat(#64): Improve the about page 2026-01-10 15:27:00 +00:00
Josh Creek 070604fb89 fix(#56): Address PR comments 2026-01-10 12:47:27 +00:00
Josh Creek b30be24fd5 feat(#56): Address PR comments 2026-01-10 12:37:43 +00:00
Josh Creek b1b6e63b6f refactor(#56): Improve how the dex updating is handled and the error messaging around it 2026-01-10 12:07:05 +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 35ee92df0c fix(#63): Enforce mutually exclusive catch states 2026-01-09 20:51:33 +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 0e2d7f7792 fix(#69): Use service role key for seeding 2026-01-02 20:35:38 +00:00
Josh Creek 2f5c0d68be feat(#69): Improve seeding process 2026-01-02 20:17:13 +00:00
Josh Creek 5e0e45494f chore(*): Fix remaining PR comments 2025-07-26 23:18:36 +01:00
Josh Creek 852c6c3f34 feat(*): Complete MongoDB to Supabase migration cleanup 2025-07-26 23:13:11 +01:00
Josh Creek c063e9d2cd fix(*): map all updatable fields in PokedexEntryRepository.update method 2025-07-26 22:49:21 +01:00
Josh Creek c2c8fd1fb4 refactor(*): Remove unused userId parameter from countCombinedData method 2025-07-26 22:39:25 +01:00
Josh Creek 5b7fe52dc4 Merge branch 'chore/migrate-from-mongodb' of https://github.com/jcreek/LivingDexTracker into chore/migrate-from-mongodb 2025-07-26 22:35:04 +01:00
Josh Creek 120f936eb7 Update src/lib/repositories/CatchRecordRepository.ts 2025-07-26 22:22:03 +01:00
Josh Creek ebfe2413f0 fix(*): Pass userId prop to PokedexEntryCatchRecord component 2025-07-26 22:07:06 +01:00
Josh Creek 389f73d164 chore(*): Clean up migration artifacts and optimize data repository queries 2025-07-26 21:50:54 +01:00
Josh Creek fa38fa69ca refactor(*):Address PR comments 2025-07-26 19:42:04 +01:00
Josh Creek bc9ce84615 feat(*): Migrate from MongoDB to unified Supabase PostgreSQL architecture 2025-07-26 18:50:05 +01:00
Josh Creek 3aa716b941 fix(#55): implement user data isolation to prevent cross-user data access
- Add server-side authentication validation for all protected API endpoints
- Create auth utility with requireAuth() function for session validation
- Update CombinedDataRepository to filter data by authenticated user ID
- Add findByUserId() method to CatchRecordRepository for user-specific queries
- Replace client-side userId parameters with server-side session extraction
- Use MongoDB aggregation with $lookup and $expr for secure user filtering
- Return 401 errors for unauthenticated requests
- Fix critical security vulnerability where users could see others' catch records

Fixes: User data isolation bug where one user's catch records were used for everyone
Security: Prevents unauthorized access to other users' Pokemon tracking data
2025-07-26 16:34:19 +01:00
Josh Creek a4269259f9 feat(#46): Move change view button to sidebar 2024-07-17 22:15:43 +01:00
Josh Creek bfde0c49f5 feat(#46): Merge boxes view into my dex page 2024-07-17 22:07:07 +01:00
Josh Creek 02a2160f08 feat(#46): Componentise the list view 2024-07-17 21:24:06 +01:00
Josh Creek 4d9d5e74d7 feat(#46): Componentise the boxes view 2024-07-17 21:11:58 +01:00
Josh Creek e4ca722de7 feat(#46): Add checkmark for pokemon in home 2024-07-17 18:52:09 +01:00
Josh Creek ad13540879 feat(#46): Add buttons to update catch records for entire boxes 2024-07-17 18:01:59 +01:00
Josh Creek 6c9ec0239c feat(#46): Add tooltip to my boxes page 2024-07-17 18:01:10 +01:00
Josh Creek 1c207455fb feat(#46): Add Tooltip component 2024-07-17 17:50:03 +01:00
Josh Creek c071dca26a build(#46): Use .env var for image base path 2024-07-17 17:49:19 +01:00
Josh Creek 8b32bca11c feat(*): Enable sprites on mydex page 2024-07-16 22:00:06 +01:00
Josh Creek 5bdf88b735 feat(#22): Add shiny toggle 2024-07-16 21:47:57 +01:00
Josh Creek f62b18b0ee feat(#22): Add sprites 2024-07-16 21:43:41 +01:00
Josh Creek 5468515d4b feat(#46): Add better box styling 2024-07-16 21:39:22 +01:00
Josh Creek 6f4847f126 feat(#46): Add color to alternate columns 2024-07-15 21:02:44 +01:00
Josh Creek 2ad7e219a2 feat(#46): Add boxes page 2024-07-15 20:49:36 +01:00
Josh Creek d3b7e7f5a9 feat(*): Enable sliding filters bar for smaller viewports 2024-07-15 19:18:37 +01:00
Josh Creek 7b5a948910 feat(*): Add sign in route with redirection to mydex 2024-07-14 21:37:24 +01:00
Josh Creek bc25ab0e38 fix(*): Fix bug returning 0 for document counts when filtering by region and game 2024-07-14 21:03:57 +01:00
Josh Creek 0285725b6d feat(*): Add ability to filter by game and region 2024-07-14 20:51:05 +01:00
Josh Creek 62c03f41eb feat(*): Add region-game mappings 2024-07-14 19:45:06 +01:00
Josh Creek 80fb0d7414 feat(*): Add clarifying copy 2024-07-14 18:42:59 +01:00