Commit graph

834 commits

Author SHA1 Message Date
22d459f475 add selection mode store and components for bulk actions 2025-12-19 00:39:59 -08:00
eeee7170ce add artifact skills to database nav 2025-12-18 23:14:57 -08:00
63e7e3d273 add artifact skills database pages
- list page with skills grouped by slot
- edit page for all skill properties
2025-12-18 23:14:53 -08:00
1e1f4f9478 add artifact skill api methods and types
- gameName field on ArtifactSkill type
- getSkill and updateSkill adapter methods
- skillById query and skillDetail key
2025-12-18 23:14:47 -08:00
e83650cb97 support aux_weapon in job database 2025-12-18 21:34:32 -08:00
bc5b25bdd7 show Origin I instead of Class o1 for job tier 2025-12-18 21:09:57 -08:00
74df78a949 add membership history editing for boomerang players 2025-12-18 19:37:49 -08:00
90eb4b6659 add gap rows to member and phantom profile pages 2025-12-18 19:36:56 -08:00
38f2e7399a show dotted lines for membership gaps in history chart 2025-12-18 19:36:46 -08:00
c100d6c311 add types and utils for membership gaps 2025-12-18 19:36:36 -08:00
3ec31434aa make phantom row clickable, link to crew profile 2025-12-18 18:15:35 -08:00
154eed2311 make member row clickable, link to crew profile 2025-12-18 17:48:57 -08:00
3a236032bd refactor members page filters, add granblue id to phantom edit 2025-12-18 17:48:53 -08:00
b718dcc335 use username instead of membershipId in member page URL 2025-12-18 13:22:08 -08:00
ba5ec72ebd redesign member/phantom pages to match crew page styling 2025-12-18 13:12:11 -08:00
69b1f37418 integrate gw score charts into crew and event pages 2025-12-18 13:12:06 -08:00
37a3f73735 add chart data utilities and compact score formatting 2025-12-18 13:12:02 -08:00
0712fb20c0 add echarts chart components for gw scores 2025-12-18 13:11:57 -08:00
807cb8fb96 add member/phantom gw scores history pages 2025-12-18 11:04:07 -08:00
d23e1db7d1 extract AddScoreModal and PlayerScoreRow from events page 2025-12-18 11:03:57 -08:00
00813ddd58 add ElementBadge component, use in gw event pages 2025-12-18 11:03:36 -08:00
6f0870e37f extract gw utilities (formatScore, parseScore, element constants) 2025-12-18 11:03:21 -08:00
9f377d5d01 Unify page styling in gw-events database pages 2025-12-18 00:52:15 -08:00
77cb109dd2 fix date timezone issues: use JST for GW events, local time for user dates 2025-12-18 00:49:23 -08:00
472672ebc8 use date picker for new gw event dates 2025-12-18 00:43:10 -08:00
b4ede07bcd hide players with scores from add score dropdown 2025-12-18 00:36:13 -08:00
cefcdfef07 add retired date field to edit player dialog 2025-12-18 00:36:04 -08:00
4d84a7f915 use same header style for pending claims and invitations 2025-12-17 23:31:12 -08:00
eaf5094bd7 add score column to gw events table 2025-12-17 23:00:34 -08:00
7f9df46132 use ghost variant for ellipsis buttons 2025-12-17 23:00:29 -08:00
61cf217107 move pending claims to pending tab with badge 2025-12-17 23:00:22 -08:00
2800bf0554 add crew scores tab to gw events page 2025-12-17 22:40:15 -08:00
60b31e2a71 reorganize CrewHeader for full-width belowTitle 2025-12-17 22:40:09 -08:00
76484b7bb0 add grow prop to segmented control 2025-12-17 22:40:05 -08:00
e7cc7384ce add destructive-ghost button variant 2025-12-17 22:39:59 -08:00
54c1bd4e41 update page titles to granblue.team 2025-12-17 20:07:37 -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
62dd3f5cd7 move notification indicator to menu button
shows mail icon with pulse animation when notifications exist
2025-12-17 20:05:34 -08:00
907b4503dd show phantom claims in notifications modal
- renamed Invitations modal to Notifications
- shows pending phantom assignments with accept/decline
- badge counts both invitations and phantom claims
- modal accessible to all users with pending notifications
2025-12-17 18:29:52 -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
4a9fc0de3c fix phantom claim button showing for all users
canClaim was true when both claimedBy and currentUserId were
undefined (undefined === undefined). now requires both to be set.

also changed Claim to Accept/Decline buttons.
2025-12-17 18:28:49 -08:00
5ea4fc79af remove extra padding from database pages 2025-12-17 10:17:36 -08:00
3e5472ac0f add series filter to collection weapons 2025-12-17 10:17:31 -08:00
f74e1a17d8 add filters and improve database grid styling 2025-12-17 10:17:26 -08:00
828c70a07e add server-side sorting support for database grid 2025-12-17 10:17:10 -08:00
0f68e0d2e8 tweak import page input layout 2025-12-16 21:18:35 -08:00
83bcecebb5 simplify database page headers 2025-12-16 21:18:30 -08:00
0d22746154 add series to collection filters type 2025-12-16 21:18:25 -08:00
590c3496fd show awakening icon on collection weapon cards 2025-12-16 21:18:21 -08:00
90ea38e15f handle null element weapon images in frontend 2025-12-16 21:17:00 -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
8646a494f4 truncate long names in database cells 2025-12-16 17:04:43 -08:00
4da92fbb31 tweak crew header spacing 2025-12-16 14:54:34 -08:00
10359152a3 remove page padding on crew pages 2025-12-16 14:46:06 -08:00
c875f3cefb refactor members page, add pending filter tab 2025-12-16 14:45:49 -08:00
5fb2331958 add backHref prop to CrewHeader, fix title alignment 2025-12-16 14:45:32 -08:00
e1d8c92a5b add phantom claiming modals 2025-12-16 14:45:28 -08:00
32eab5bcae extract MemberRow and PhantomRow components 2025-12-16 14:45:23 -08:00
07d276e469 pass entity type to buildWikiJaUrl calls 2025-12-16 11:44:00 -08:00
552c73823d add entity type prefix to buildWikiJaUrl for weapons/summons 2025-12-16 11:44:00 -08:00
321e7585b8 extract CharacterTags component, use in unit and search 2025-12-15 19:51:38 -08:00
d0fc56d00c hide summer tag when yukata is present 2025-12-15 19:42:03 -08:00
0cf537fbd4 move uncap and transcendence icons to src/assets 2025-12-15 19:39:53 -08:00
a6e87e8d30 add gap to related units layout 2025-12-15 19:27:57 -08:00
d5a2d4e4c8 add element tag to related characters section 2025-12-15 19:23:04 -08:00
cde15428da add element styling to link buttons on db detail pages 2025-12-15 19:12:28 -08:00
2ace9590ab fix external link URLs in db detail pages 2025-12-15 18:49:18 -08:00
0aaf93e573 add link buttons to db edit pages 2025-12-15 18:49:13 -08:00
6f17a69e26 fix: show both tags if unique 2025-12-15 18:30:50 -08:00
7b3bf2c51e fix: show series tag if season tag is empty 2025-12-15 18:21:44 -08:00
a50929acf7 fix: only show one charactertag in db list 2025-12-15 17:56:08 -08:00
cfcda8f01e remove Standard from series enum, shift IDs 2025-12-15 17:48:56 -08:00
cbef8f5518 add CharacterTag component, show tags in db list 2025-12-15 17:48:29 -08:00
d1376396b4 minor layout cleanup 2025-12-15 16:09:30 -08:00
ed282dfea4 update getJobSkillIcon to accept skill object 2025-12-15 16:09:21 -08:00
adf38c0c28 add job skill edit sidebar 2025-12-15 16:09:15 -08:00
acd784fe2d add downloadSkillImage to job adapter 2025-12-15 16:09:11 -08:00
57b90ac724 add imageId/actionId to JobSkill type 2025-12-15 16:09:07 -08:00
28c12d23c7 remove card styling from skill groups 2025-12-15 14:37:33 -08:00
0eeb7e5274 fix skill category colors with fallback values 2025-12-15 14:35:30 -08:00
b2e374fefa style job skills tab: smaller headers, more name spacing 2025-12-15 14:33:59 -08:00
767eda424e fix job skills adapter to expect array, add emp_skills method 2025-12-15 14:30:47 -08:00
3717288cc2 add jobs to database dropdown menu 2025-12-15 14:21:45 -08:00
3f87d51a55 add jobs database pages (list, detail, edit) 2025-12-15 14:21:40 -08:00
0cf7982809 fix job adapter response handling, update tier names 2025-12-15 14:21:35 -08:00
18b60f2c9b add job type support to detail scaffold/header 2025-12-15 14:21:30 -08:00
695f76a3be reconcile summon detail and edit pages with consistent section order 2025-12-15 13:17:09 -08:00
5ec31ade2d add Name fields to SummonMetadata, create SummonGachaSection, remove Promotions from Taxonomy 2025-12-15 13:16:56 -08:00
a295175b36 weapon pages: reorder sections, always show all fields 2025-12-15 13:08:22 -08:00
70c0881bb4 weapon sections: add name fields to metadata, move recruits to gacha 2025-12-15 13:08:17 -08:00
0812e3b2d4 add name EN/JP fields to character detail and edit pages 2025-12-15 12:58:35 -08:00
38b5c4903c sync character import page with edit page
- remove CharacterGachaSection (gacha moved to weapons)
- remove promotions/gacha_available from form data
- match section order with edit page
2025-12-15 12:55:33 -08:00
cc60a57e3e minor ui tweaks
- fix datepicker css class name conflict
- remove border and margin from detail header/scaffold
2025-12-15 12:51:19 -08:00
6da599403c fix links format on weapon/summon detail pages
use wiki.en/ja + gamewith/kamigame at top level
2025-12-15 12:49:20 -08:00
9243d133cd reconcile character detail and edit pages
- same section order on both pages
- show all fields (empty shows dash)
- add editable nicknames/links to edit page
- handle CharacterSeriesRef[] -> number[] conversion
2025-12-15 12:49:00 -08:00
32c4880180 refactor character section components
- move series from taxonomy to metadata section
- rename uncap label to "Uncap Level"
- show all uncap flags in view mode
2025-12-15 12:48:51 -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
4d7d2c563e fix CharacterTypeahead initial value display on page load
derive options from initialCharacter directly instead of using
effect-based initialization which had race conditions with SSR
2025-12-15 11:16:13 -08:00
80bcbd59db fix CharacterTypeahead usage in weapon forms 2025-12-15 11:03:12 -08:00
ba17a17224 style CharacterTypeahead to match Select, use granblueId as value 2025-12-15 11:03:06 -08:00
3d75c22f3b fix CharacterTypeahead width in DetailItem 2025-12-15 11:03:02 -08:00
3a9e1f8845 prefill gacha fields from wiki data in import forms 2025-12-15 09:52:13 -08:00
b5f832191f add gacha suggestion types and use CharacterGachaSection 2025-12-15 09:52:08 -08:00
879a3bd8bd move season field to Metadata section 2025-12-15 09:52:03 -08:00
75a97cabaa add CharacterGachaSection component 2025-12-15 09:51:58 -08:00
dd16718c03 add Holiday to CHARACTER_SERIES, remove Standard season 2025-12-15 09:51:54 -08:00
8a44d588c8 add page titles to database pages 2025-12-14 21:56:01 -08:00
0336fabaa8 add dynamic page titles for profiles and teams 2025-12-14 21:55:54 -08:00
8541f54f90 add page titles to static pages 2025-12-14 21:55:45 -08:00
1a21828815 add PageMeta component and i18n keys for page titles 2025-12-14 21:55:37 -08:00
b50c1854d6 fetch wiki data client-side to bypass cloudflare 2025-12-14 21:50:45 -08:00
ed6a9fd2f4 send wiki_raw when creating entities from import 2025-12-14 21:50:40 -08:00
cfb62447a0 move Recruits and Promotions to Gacha section 2025-12-14 21:50:35 -08:00
850c5dd771 auto-update summon max level based on uncap
same behavior as weapons: 100/150/200/250 for base/flb/ulb/trans
2025-12-14 21:14:03 -08:00
d6160d0bae auto-download images after entity creation 2025-12-14 20:00:23 -08:00
9fb66e731e auto-download images after batch import 2025-12-14 20:00:23 -08:00
64725bd4e8 add link buttons to import form fields
- add URL builders for wiki/gamewith/kamigame
- add hasLinkButton prop to DetailItem components
- show disabled link button when value is empty
- store page names instead of full URLs
- fix DetailItem to render children when editable
- remove focus background styling
2025-12-14 19:35:33 -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
6e6121cb71 use DetailItem for Granblue ID (already pre-populated) 2025-12-14 13:41:34 -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
b2f4cf5246 fix placeholder images to use CDN url 2025-12-14 12:59:29 -08:00
42f7722e50 batch import: use individual inputs instead of comma-separated
- start with 3 inputs, add/remove as needed
- avoids issues with item names containing commas
2025-12-14 12:41:05 -08:00
dd1591d5b3 update nav to point to consolidated series page 2025-12-14 11:59:39 -08:00
f429988981 consolidate series pages into single page with tabs 2025-12-14 11:59:35 -08:00
50ee6b80ff add character/summon series to entity adapter and queries 2025-12-14 11:59:31 -08:00
d921d37362 add character and summon series types 2025-12-14 11:59:26 -08:00
77339a2b27 add name, proficiency, and level badge to artifact cards 2025-12-14 02:06:42 -08:00
c90da7ad4e show item names in collection cards 2025-12-14 02:06:34 -08:00
7f9398efbd add retired toggle to member/phantom edit dialog 2025-12-14 01:52:19 -08:00
7fdb07cacf fix collection card image sizing 2025-12-14 01:52:15 -08:00
04b91a638d pass showGranblueId to ProfileHeader 2025-12-14 01:52:10 -08:00
930627c71c use lighter bg and darker text for settings tabs 2025-12-14 01:31:36 -08:00
106b9261f8 fix Select placeholder check for falsy values 2025-12-14 01:24:07 -08:00
e8608ff32d respect showGranblueId setting in ProfileHeader 2025-12-14 01:24:03 -08:00
376e915ade refactor UserSettingsModal to tabbed layout 2025-12-14 01:23:59 -08:00
9ee90fc6fc add /users/me endpoint to user adapter 2025-12-14 01:23:55 -08:00
242aa7c0a9 add settings section components 2025-12-14 01:23:50 -08:00
c785d1d0ab add SettingsNav and SettingsRow components 2025-12-14 01:23:47 -08:00
8e57cdc2a5 add missing crewStore import 2025-12-13 23:27:48 -08:00
9429ccff53 use AWS for placeholder images in production 2025-12-13 23:26:35 -08:00
9c69db640e hide invitations menu item when user is in a crew 2025-12-13 23:20:58 -08:00
b844012f3b use neutral ViewModeToggle in collection pages 2025-12-13 23:17:58 -08:00
f20c99bdac add ViewModeToggle component with element theming and neutral mode 2025-12-13 23:17:50 -08:00
04469ee202 fix icon svg handling, update grid/list icons 2025-12-13 23:17:42 -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
7dcb100412 add medium size to Dialog, leftIcon/rightIcon props to Button 2025-12-13 23:12:34 -08:00
0e5f7e1642 fix modal content overflow pushing footer out of view 2025-12-13 23:12:30 -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
30128107fb cache user settings in cookie for faster modal loading
store granblueId and showCrewGamertag in cookie at login,
use as initial values so modal opens instantly
2025-12-13 22:14:49 -08:00
362db1238f fix input focus loss when error state changes
always wrap in fieldset to keep DOM structure stable
2025-12-13 22:14:32 -08:00
9787af9c42 fix party avatar to use shared image utilities 2025-12-13 21:50:25 -08:00
c57f84b1b4 fix avatar images to respect remote/local hosting config 2025-12-13 21:49:14 -08:00
586dd84a01 remove unused page test 2025-12-13 21:25:06 -08:00
da7299625c misc type and style fixes 2025-12-13 21:25:02 -08:00
4f1b8872c0 fix database edit page type errors 2025-12-13 21:24:47 -08:00
318db82ce7 fix storybook mock types 2025-12-13 21:24:39 -08:00
70df592890 fix svelecte event handling for svelte 5 2025-12-13 21:24:31 -08:00
0c973785d1 move favorites to separate route 2025-12-13 21:24:22 -08:00
aee62522e9 redesign profile header with gamertag + gbf profile link 2025-12-13 21:24:09 -08:00
14819f0b73 fix null check for layout data during error scenarios 2025-12-13 21:18:50 -08:00
e5dec76a84 fix image paths for production (use AWS URLs) 2025-12-13 20:58:34 -08:00
60cbc03edf select/multiselect: remove hover shadow, use elemental checkmarks 2025-12-13 20:58:30 -08:00
20dabc5aa1 collection page card styling + contained filters 2025-12-13 20:58:20 -08:00
c54c959522 rework ModalFooter to use action props
- onCancel callback with fixed "Nevermind" label
- optional primaryAction object (label, onclick, destructive, disabled)
- optional left snippet for custom content
2025-12-13 20:02:25 -08:00
7dae71965a extract DeleteTeamDialog component 2025-12-13 20:02:18 -08:00
492307530a fix nav highlight for profile sub-routes 2025-12-13 20:02:14 -08:00
82c3f3c471 add scout button and pending invitations to crew members
- wire scout button to open ScoutUserModal
- collapsible section showing sent invitations for officers
2025-12-13 18:07:15 -08:00
013c1b5eb2 add invite to crew action on user profiles
officers can invite users without a crew via context menu
2025-12-13 18:07:11 -08:00
d2c16d908d add invitation notifications to nav
badge on profile icon + dropdown item to open invitations modal
2025-12-13 18:07:06 -08:00
c9f31f9059 add crew invitation modals
- InvitationsModal: view/accept/decline pending invitations
- InviteUserModal: confirm invite from profile page
- ScoutUserModal: search users by username to invite
2025-12-13 18:07:02 -08:00
27a98274c1 add NotificationBadge component
reusable red dot/count badge for notifications
2025-12-13 18:06:56 -08:00
b3ec56648c fix mock file imports to use correct type modules 2025-12-13 14:55:56 -08:00
9e547d66df fix button variant and visibility enum usage 2025-12-13 14:55:51 -08:00
789494e773 migrate dialog consumers to ModalHeader/Body/Footer pattern 2025-12-13 14:55:46 -08:00
a3c5676c4c add missing type props: dates, wiki links, editKey, gw stats 2025-12-13 14:55:40 -08:00
6f16b41d35 misc: util tweaks, database page fixes, mock updates 2025-12-13 14:35:29 -08:00
46d48132bd sidebar: fix proficiency list spacing 2025-12-13 14:35:25 -08:00
b6fb3ec0a0 add new theme color variables 2025-12-13 14:35:11 -08:00
015650104e teams/new: reformat and restructure page 2025-12-13 14:35:03 -08:00
47563634b3 nav: add crew link and gw-events database link 2025-12-13 14:34:49 -08:00
b5d0b7c0e7 collection panes: add delete action, fix edit mode state
- add remove from collection with confirmation
- sidebar overflow menu for delete action
- better tracking of which item is selected to avoid state bugs
2025-12-13 14:34:40 -08:00
7558aef509 edit panes: remove footer buttons, export save() for header
parent components now call save() from sidebar header action
instead of embedded cancel/save buttons
2025-12-13 14:34:30 -08:00
4418157ca0 refactor modal components to use header/body/footer pattern
UserSettingsModal now uses ModalHeader, ModalBody, ModalFooter.
Dialog simplified. Button tweaks.
2025-12-13 14:34:20 -08:00
eaea344db4 add crew pages: dashboard, create, join, settings, gw events admin 2025-12-04 03:03:33 -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
e7dfca992a add muted and suffixSnippet props to Select component 2025-12-04 03:02:51 -08:00
0a2a3894bf Add sync from collection menu and highlight owned items in search
- Party.svelte: Add 'Sync from collection' to overflow menu for parties
  with linked collection items, with proper menu grouping
- SearchContent.svelte: Highlight items user owns in 'All Items' mode
  with subtle green background and checkmark indicator
2025-12-03 23:24:30 -08:00
f5d0bbe7da Add sync UI to Party and edit sidebars
- Party.svelte: Pass authUserId to openSearchSidebar, link collection
  items when adding to party via collectionId
- DetailsSidebar: Show sync banner for out-of-sync items, add sync
  functionality for characters, weapons, and summons
- EditCharacterSidebar/EditWeaponSidebar: Add sync banner and button
  for items linked to collection
- party.ts types: Add collectionId and outOfSync fields to grid types
2025-12-03 23:13:59 -08:00
bf2bf8663f add search mode toggle for collection items 2025-12-03 22:58:46 -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
4a89f43d05 use small select for artifact rarity filter 2025-12-03 21:28:15 -08:00
7c93cf8aab fix skill lookup for slots 3-4 by matching skill group 2025-12-03 21:10:22 -08:00