83b18645c8
fix: guard pushState until router is initialized
2025-12-01 04:59:16 -08:00
4fda863339
fix: use pushState + popstate for instant tab switching
2025-12-01 04:57:22 -08:00
21bda28910
fix: always use explicit tab path in URL
2025-12-01 04:36:17 -08:00
5063e8e73c
fix: use goto() instead of pushState for tab URL sync
2025-12-01 04:33:28 -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
6ab74b43b1
add tab param matcher for URL routing
2025-12-01 04:27:01 -08:00
a9dcbd18f8
DetailItem: adjust padding and remove hover styles
2025-12-01 04:11:22 -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
068d9f0991
weapons: auto-update max level/skill based on uncap
2025-12-01 04:10:45 -08:00
dea8a3bc24
weapons: move extra/limit/ax to taxonomy, fix uncap stars
2025-12-01 04:10:41 -08:00
c2b2de9e96
TagInput: add contained prop with max-width
2025-12-01 04:10:36 -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
179cc13725
adapters: add update methods for characters, weapons, and summons
...
Add updateCharacter(), updateSummon(), and updateWeapon() methods to
entity adapter. Each method uses PATCH and clears the entity cache
after successful update.
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-01 03:24:15 -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
901fd5a157
weapons: add frontend adapter methods and interfaces
...
Add weapon creation infrastructure to entity adapter:
- WeaponValidationResult interface for validation response
- CreateWeaponPayload interface for weapon creation
- WeaponDownloadStatus interface for download status
- validateWeaponGranblueId() method
- createWeapon() method
- downloadWeaponImages() method
- getWeaponDownloadStatus() method
Also add getWeaponSeriesOptions() utility function.
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-01 03:06:04 -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
4973643ee6
entity adapter: add summon creation methods
...
- SummonValidationResult, CreateSummonPayload, SummonDownloadStatus types
- validateSummonGranblueId(), createSummon(), downloadSummonImages(), getSummonDownloadStatus()
- Matches character creation pattern
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-01 02:44:45 -08:00
fbe43490d7
ui: add TagInput component for nicknames
...
- Chip/tag style input for string arrays
- Add/remove tags with Enter or comma
- Backspace removes last tag when input empty
- Supports label, error, maxTags, disabled
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-01 02:43:44 -08:00
b32963b9a6
tsconfig: fix env types by not overriding include
...
Let .svelte-kit/tsconfig.json handle includes so ambient.d.ts
with $env types is properly included.
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-01 02:27:52 -08:00
39b1ed9f64
nav: context-aware New button for database routes
...
- Show "New character/weapon/summon" pill button on database pages
- Keep existing circular + button for team creation elsewhere
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-01 02:27:47 -08:00
43c291327c
components: use centralized image URL helpers
2025-12-01 02:26:29 -08:00
e9463ae5ba
api config: add getImageBaseUrl, fix api path for prod/dev
2025-12-01 02:26:16 -08:00
19a2b9e77f
utils: use getBasePath for image URLs
2025-12-01 02:26:08 -08:00
220432b40a
entity adapter: expand CreateCharacterPayload with all fields
2025-12-01 02:25:52 -08:00
754d5a633c
new character page: add all fields, uncap cascade logic, validation
2025-12-01 02:25:46 -08:00
28ad2fb37e
DetailItem: add sublabel, width, onchange props; Input: add validation state
2025-12-01 02:25:41 -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
b58cbbe72f
refactor character edit page to use section components
...
- use DetailScaffold wrapper
- extract metadata, uncap, taxonomy, stats sections
- standardize field naming (camelCase)
- add element-themed checkboxes
2025-12-01 00:52:12 -08:00
817084cee5
teams/new: fix css leak on prefetch, remove open search button
2025-12-01 00:22:52 -08:00
1024e155c3
fix button: no translate on circular, fix elemental hover colors
2025-12-01 00:22:52 -08:00
a262388fc7
fix api path for prod (/v1) vs dev (/api/v1)
2025-11-30 23:34:32 -08:00
e50ba8ffad
Fix auth titles
2025-11-30 23:22:04 -08:00
48da292f6f
i18n: add auth and nav strings
2025-11-30 23:16:10 -08:00
07f57d20fb
routes: redirect root to /teams/explore
2025-11-30 23:16:07 -08:00
d412e760ab
nav: show register/login when logged out, move guides/collection to menu
2025-11-30 23:16:04 -08:00
7e02884941
input: add no1password prop, tweak counter styling
2025-11-30 23:16:00 -08:00
de616755f5
auth: use placeholders instead of labels, add username note
2025-11-30 23:15:56 -08:00
e3e9ccdd6c
auth: add port-breeze background and back-to-home link
2025-11-30 23:15:52 -08:00
4b96633f69
simplify root layout for route group structure
2025-11-30 22:29:08 -08:00
f79e3f2a10
update auth store redirect to /auth/login
2025-11-30 22:29:08 -08:00
a1bcb0e523
update Navigation login link to /auth/login
2025-11-30 22:29:08 -08:00
0f50d9fd73
remove old login route (moved to /auth/login)
2025-11-30 22:28:59 -08:00