Commit graph

132 commits

Author SHA1 Message Date
b718dcc335 use username instead of membershipId in member page URL 2025-12-18 13:22:08 -08:00
807cb8fb96 add member/phantom gw scores history pages 2025-12-18 11:04:07 -08:00
2800bf0554 add crew scores tab to gw events page 2025-12-17 22:40:15 -08:00
d90d4e76bf tweak notification modal and badge styling
fix phantom claims response key, add element colors to badge
2025-12-17 20:07:29 -08:00
ef95a294b3 add api layer for phantom claim accept/decline
- declinePhantomClaim and getPendingPhantomClaims adapter methods
- useDeclinePhantomClaim mutation
- pendingPhantomClaims query
- crew field on PhantomPlayer type
2025-12-17 18:29:33 -08:00
828c70a07e add server-side sorting support for database grid 2025-12-17 10:17:10 -08:00
696d792a8b auto-populate series from wiki suggestions 2025-12-16 21:12:49 -08:00
52d9591f07 use more import suggestions for weapons/summons 2025-12-16 17:04:52 -08:00
acd784fe2d add downloadSkillImage to job adapter 2025-12-15 16:09:11 -08:00
767eda424e fix job skills adapter to expect array, add emp_skills method 2025-12-15 14:30:47 -08:00
0cf7982809 fix job adapter response handling, update tier names 2025-12-15 14:21:35 -08:00
34c3dd6aa6 update entity types for new api format
- remove links property, use wiki/gamewith/kamigame at top level
- add seriesNames to Character
2025-12-15 12:48:16 -08:00
6ba89dc216 use granblueId in database URLs instead of UUID
- rename route folders from [id] to [granblueId]
- update all server load functions to use params.granblueId
- update detail/edit/new pages to navigate with granblueId
- update cross-entity links (recruits, recruitedBy)
- update TanStack Query keys to use granblueId

backend's IdResolvable already supports fetching by granblueId
2025-12-15 11:26:52 -08:00
b5f832191f add gacha suggestion types and use CharacterGachaSection 2025-12-15 09:52:08 -08:00
ed6a9fd2f4 send wiki_raw when creating entities from import 2025-12-14 21:50:40 -08:00
e1ba34048a improve import form components
- fix Select reactivity with external value changes
- add series/promotions to taxonomy sections
- add onDataChange callbacks to uncap sections
- add game CDN image helpers for batch imports
- expand suggestion type definitions
2025-12-14 19:35:20 -08:00
37f2178d4a pre-fill summon ID from wiki data in batch import 2025-12-14 17:01:16 -08:00
3ec5e9f48a fix: preserve wiki_data keys during request transform 2025-12-14 13:28:43 -08:00
5c870b148e use client-side wiki fetch for batch preview imports 2025-12-14 13:17:34 -08:00
34db76fbdc add client-side wiki fetcher to bypass cloudflare 2025-12-14 13:17:21 -08:00
50ee6b80ff add character/summon series to entity adapter and queries 2025-12-14 11:59:31 -08:00
9ee90fc6fc add /users/me endpoint to user adapter 2025-12-14 01:23:55 -08:00
4745baca1c add bulk phantom creation, delete confirmation, default to all filter
- bulk create phantoms with individual join dates
- confirm before deleting phantoms
- reorder filters with All first and as default
2025-12-13 23:12:40 -08:00
7e0f66d9cc fix registration availability checks and signup endpoint
- correct api paths for username/email availability checks
- use singleton userAdapter instead of creating new instance
- use getApiBaseUrl() for signup to include /api/v1 prefix
2025-12-13 22:15:31 -08:00
aee62522e9 redesign profile header with gamertag + gbf profile link 2025-12-13 21:24:09 -08:00
a3c5676c4c add missing type props: dates, wiki links, editKey, gw stats 2025-12-13 14:55:40 -08:00
aee0690b2d add crew UI components, store, queries, and mutations 2025-12-04 03:03:27 -08:00
32af6a7788 crew members page improvements
- edit join date dialog
- add phantom with join date
- dropdown menus for member actions
- disable scout when roster full (30)
- invalidate gw queries on join date change
2025-12-04 03:03:04 -08:00
f4d04a7073 gw event page improvements
- total honors instead of total score
- muted style for players with existing scores
- by-event score endpoints
2025-12-04 03:02:58 -08:00
43f9f37ccc add sync mutations for grid items 2025-12-03 22:52:31 -08:00
48121612fc add collection refs and sync methods to frontend types and adapters 2025-12-03 22:51:23 -08:00
eaae29f007 simplify artifact mutation, remove optimistic update 2025-12-03 20:51:58 -08:00
e595196172 clean up debug logs from skill filtering investigation 2025-12-03 17:14:05 -08:00
a29cdbb454 fix cache key to include query params
was generating same cache key for /artifact_skills and
/artifact_skills?group=group_i causing filtered requests
to return cached unfiltered results
2025-12-03 17:13:54 -08:00
52660f3fb1 add collection artifact feature (cards, rows, pane, route)
- CollectionArtifactCard for grid view
- CollectionArtifactRow for list view
- CollectionArtifactPane for sidebar details
- artifacts collection page with filters and infinite scroll
- getArtifactImage util
- update collection layout for artifacts tab
2025-12-03 16:17:15 -08:00
ab1243190b add artifact queries and mutations
- artifactQueries: reference data (cached 1hr), collection infinite, skills by slot
- artifactKeys: cache invalidation helpers
- mutations: collection CRUD, grid CRUD, equip, and grading
2025-12-03 15:59:19 -08:00
1e708e1064 add artifact adapter for API communication
covers reference data, collection artifacts, grid artifacts,
and stateless grading endpoints.
2025-12-03 15:57:29 -08:00
0259a8ad68 update test mocks to use WeaponSeriesRef 2025-12-03 11:59:40 -08:00
c5f6963ca7 update search and party schemas for weapon series objects 2025-12-03 11:59:12 -08:00
23a2481190 update entity adapter to use seriesSlug, add weapon series CRUD methods 2025-12-03 11:59:07 -08:00
e0a41102fd fix infinite scroll pagination in collection queries
use pageParam instead of response.page (which was undefined)
2025-12-03 09:03:52 -08:00
debf502a6c use batch endpoints for collection add operations
single request instead of one per item
2025-12-03 09:03:47 -08:00
c37c4f0101 fix request cancellation issue in batch add weapons/summons
The addWeapons/addSummons methods were using Promise.all with Array.fill()
which created arrays where all elements referenced the same object. This
caused the request deduplication logic in BaseAdapter to cancel previous
requests since they all had the same body/requestId.

Fix:
- Use Array.from() with spread to create unique object instances
- Execute requests sequentially to avoid deduplication conflicts
- Improve error handling in AddToCollectionModal to filter CancelledErrors
2025-12-03 07:37:03 -08:00
957dd16e5e add quantity counter and selectable components for weapons/summons
- QuantityCounter: +/- buttons for multi-copy selection
- SelectableWeaponCard/Row: weapon selection with quantity
- SelectableSummonCard/Row: summon selection with quantity
- AddToCollectionModal: support entityType prop, Map for quantities
- CollectionFilters: entityType-aware filter visibility
2025-12-03 07:19:04 -08:00
13a3905776 add batch weapon/summon methods to collection adapter and mutations 2025-12-03 07:14:30 -08:00
b8a48771dd update collection adapter/queries for unified api
- add userId param to list methods
- remove public collection methods (now unified)
- update query keys to include userId
2025-12-02 15:31:46 -08:00
491026399f fix search api: wrap body in search key, use X-Per-Page header, 50 per page 2025-12-02 15:06:38 -08:00
7808c75452 fix cache key generation for POST requests with object bodies 2025-12-02 15:06:33 -08:00
60ac5d4ab2 add collection API layer
Types, adapter, queries, and mutations for managing user collections
(characters, weapons, summons, job accessories). Supports both private
collection management and public collection viewing with privacy.
2025-12-02 09:28:22 -08:00
be92eba4aa fix user settings API to match rails backend params 2025-12-02 08:51:57 -08:00