Commit graph

243 commits

Author SHA1 Message Date
0aaf93e573 add link buttons to db edit pages 2025-12-15 18:49:13 -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
adf38c0c28 add job skill edit sidebar 2025-12-15 16:09:15 -08:00
3f87d51a55 add jobs database pages (list, detail, edit) 2025-12-15 14:21:40 -08:00
695f76a3be reconcile summon detail and edit pages with consistent section order 2025-12-15 13:17:09 -08:00
a295175b36 weapon pages: reorder sections, always show all fields 2025-12-15 13:08:22 -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
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
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
80bcbd59db fix CharacterTypeahead usage in weapon forms 2025-12-15 11:03:12 -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
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
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
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
5c870b148e use client-side wiki fetch for batch preview imports 2025-12-14 13:17:34 -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
f429988981 consolidate series pages into single page with tabs 2025-12-14 11:59:35 -08:00
7f9398efbd add retired toggle to member/phantom edit dialog 2025-12-14 01:52:19 -08:00
04b91a638d pass showGranblueId to ProfileHeader 2025-12-14 01:52:10 -08:00
b844012f3b use neutral ViewModeToggle in collection pages 2025-12-13 23:17:58 -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
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
0c973785d1 move favorites to separate route 2025-12-13 21:24:22 -08:00
14819f0b73 fix null check for layout data during error scenarios 2025-12-13 21:18:50 -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
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
9e547d66df fix button variant and visibility enum usage 2025-12-13 14:55:51 -08:00
6f16b41d35 misc: util tweaks, database page fixes, mock updates 2025-12-13 14:35:29 -08:00
015650104e teams/new: reformat and restructure page 2025-12-13 14:35:03 -08:00
eaea344db4 add crew pages: dashboard, create, join, settings, gw events admin 2025-12-04 03:03:33 -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
4a89f43d05 use small select for artifact rarity filter 2025-12-03 21:28:15 -08:00
dc4c2c3117 move artifact image/name to header, use DetailRows for skills 2025-12-03 20:51:16 -08:00
34821aa487 split artifact pane into detail and edit views
- CollectionArtifactDetailPane: read-only view with Edit button in header
- CollectionArtifactEditPane: editable form pushed onto pane stack
- ArtifactSkillDisplay: new read-only skill display component
2025-12-03 17:54:18 -08:00
df045ecd2b add AddArtifactSidebar for collection artifacts
flow: proficiency -> element (color dots) -> artifact dropdown
(filtered by proficiency) -> level/nickname -> skills config
using pane stack for iOS-style navigation
2025-12-03 17:14:26 -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
d907e32d12 integrate pane stack into sidebar store
sidebar now uses PaneStackStore internally - openWithComponent
creates root pane, and child components can push/pop via context.
simplified Sidebar.svelte to render PaneStack when stack has items.
2025-12-03 15:55:47 -08:00
e3cc2df45c fix missing promotions field in weapon edit data 2025-12-03 12:36:02 -08:00
b2a606554f simplify weapon series page to read-only list with styled table 2025-12-03 12:33:53 -08:00
2e2574f749 add weapon series admin CRUD page 2025-12-03 11:59:36 -08:00
166ef8ff6f update conflict dialog and database pages for series objects 2025-12-03 11:59:31 -08:00
139e602808 fetch weapon series from API in collection filters 2025-12-03 11:59:26 -08:00
a4572df406 refactor characters page to use card/row components
- use CollectionCharacterCard and CollectionCharacterRow
- add grid/list view toggle with viewMode store
2025-12-03 10:51:13 -08:00
d11362ff57 add weapons and summons collection routes with layout updates
- Create weapons route with page, server load, and grid/list views
- Create summons route with page, server load, and grid/list views
- Enable weapons/summons tabs in collection layout (remove disabled)
- Add dynamic "Add" button text based on active entity type
- Pass entityType to AddToCollectionModal based on current route
2025-12-03 07:29:38 -08:00
cc2b2c1f95 convert collection filters from buttons to dropdowns 2025-12-02 17:19:31 -08:00
4bbe2ed188 simplify collection page to single code path
- use unified api for all users (no owner/viewer branching)
- remove client-side filtering (api handles it)
- pass userId to AddToCollectionModal
2025-12-02 15:31:58 -08:00
35b0560749 add ProfileHeader component, add collection link to profile nav 2025-12-02 15:07:01 -08:00
9ed505623e fix collection page grid: use correct 280x160 aspect ratio for character images 2025-12-02 15:06:56 -08:00
3b071a1864 fix collection page width to match teams page
Remove explicit max-width: 1400px so the collection page uses the
default --main-max-width (820px) like the teams page.
2025-12-02 11:46:38 -08:00
dea784780a add collection page route and character pane components
- Add collection route structure at [username]/collection/characters
- Create CharacterEditPane as shared component for character customizations
- Create CollectionCharacterPane with Info and My Collection tabs
- Add character grid with filters and infinite scroll
- Fix CollectionFilters a11y warnings
2025-12-02 09:43:31 -08:00
51db7f7604 remove redundant settings page 2025-12-02 08:52:08 -08:00
7471901fee fix userAdapter instantiation in auth endpoints 2025-12-02 08:11:16 -08:00
579691aeef fix secure cookie flag behind reverse proxy 2025-12-02 07:54:36 -08:00
513c7660f5 add svelte-sonner for toast notifications 2025-12-02 06:54:12 -08:00
1933f3d8e9 add new fields to batch import pages 2025-12-02 05:26:10 -08:00
afb81e0f55 add nicknames, links sections to entity detail pages; show recruits in weapon metadata 2025-12-02 02:15:03 -08:00
4fdc859941 add scroll-triggered gradient to nav background 2025-12-02 01:45:16 -08:00
69395672af move dates section before skills/auras on detail pages 2025-12-02 01:28:23 -08:00
6683a9e53a import pages: add wiki_raw to payload, misc fixes 2025-12-02 01:25:28 -08:00
1b8232ed5a show dates on entity detail pages 2025-12-02 01:24:53 -08:00
6f1f0c60a2 add date fields to entity edit pages 2025-12-02 01:24:48 -08:00
9ace2eb1e2 fix type errors in import pages 2025-12-02 00:08:55 -08:00
64e50e1b50 add batch import button to database index pages 2025-12-02 00:08:47 -08:00
2dd643e92e add batch import pages for characters/weapons/summons 2025-12-02 00:00:41 -08:00
7a639effaa database: add entity edit page scaffolds 2025-12-01 09:57:53 -08:00
be75fcbcbd database detail pages: add Info/Images/Raw tabs 2025-12-01 09:54:35 -08:00
af27f0fbbc add URL-based tab routing with pushState sync 2025-12-01 04:29:21 -08:00
5b0d41a020 move teams/[id] route into [[tab=tab]] optional segment 2025-12-01 04:27:42 -08:00
ef534164f0 database/[id]: add page wrapper styles 2025-12-01 04:11:11 -08:00
3df5564772 database/new: remove newSeries, use contained TagInput 2025-12-01 04:11:07 -08:00
6409de0c29 feat(weapons): add edit mode to weapon detail page
- Add edit mode state management (editMode, editData, isSaving)
- Use DetailScaffold wrapper for consistent edit UI
- Import and integrate section components:
  - WeaponMetadataSection, WeaponUncapSection
  - WeaponTaxonomySection, WeaponStatsSection
- Add Nicknames, Dates, Links, Character (recruits) sections in edit mode
- Connect saveChanges to entityAdapter.updateWeapon()
- Invalidate TanStack Query cache after successful save

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-01 03:29:47 -08:00
fda2b3188f feat(summons): add edit mode to summon detail page
- Add edit mode state management (editMode, editData, isSaving)
- Use DetailScaffold wrapper for consistent edit UI
- Import and integrate section components:
  - SummonMetadataSection, SummonUncapSection
  - SummonTaxonomySection, SummonStatsSection
- Add Nicknames, Dates, Links sections in edit mode
- Connect saveChanges to entityAdapter.updateSummon()
- Invalidate TanStack Query cache after successful save

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-01 03:28:01 -08:00
3e23585ee7 characters: connect edit page to real API
Replace simulated save with actual API call to updateCharacter().
Invalidates TanStack Query cache on successful update.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-01 03:25:14 -08:00
7a86790670 weapons: add recruits character search field
Add CharacterTypeahead component for async character search using Svelecte.
The component debounces input and queries the search API for matching
characters. Added recruits field to weapon creation page.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-01 03:17:17 -08:00
0d0163edec characters: add nicknames to creation page
Backfill nicknames support to character creation page:
- Add nicknamesEn and nicknamesJp fields to editData
- Import and use TagInput component for nickname entry
- Add nicknames section to form UI
- Update CreateCharacterPayload interface with nickname fields

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-01 03:10:31 -08:00
fdc50906dc weapons: add creation page and update section components
Create /database/weapons/new route with full weapon creation form:
- Granblue ID validation
- Basic info (name, rarity)
- Uncap settings with cascade logic (Transcendence → ULB → FLB)
- Taxonomy (element, proficiency, series, new_series)
- Stats (HP/ATK with FLB/ULB variants)
- Caps (max_level, max_skill_level, max_awakening_level)
- Nicknames via TagInput
- Dates and external links

Update section components:
- WeaponUncapSection: Add cascade logic, extra/limit/ax fields
- WeaponTaxonomySection: Add series dropdowns with options
- WeaponStatsSection: Add ULB stats, caps section

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-01 03:08:52 -08:00
d1c40ee38d use dynamic image path for auth background 2025-12-01 03:08:11 -08:00
1fa6429749 summons: add creation page and section components
- /database/summons/new route with full form
- UncapSection with FLB/ULB/Transcendence cascade
- TaxonomySection with element and series
- StatsSection with HP/ATK at all uncap levels
- Nicknames via TagInput component
- getSummonMaxUncapLevel() utility function

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-01 03:00:58 -08:00
754d5a633c new character page: add all fields, uncap cascade logic, validation 2025-12-01 02:25:46 -08:00
e9ba90d656 add image download section to character edit page
- new CharacterImagesSection component
- download button with progress polling
- force re-download option
- status display with progress bar
2025-12-01 00:57:03 -08:00
5f5b579ff0 add /database/characters/new page + API methods
- new page with granblue_id validation
- role check (>= 7) on server
- API methods: validate, create, download images
- permanent edit mode with create button
2025-12-01 00:55:53 -08:00