eaae29f007
simplify artifact mutation, remove optimistic update
2025-12-03 20:51:58 -08:00
5bac8a0b53
add element-based styling to modifier selection
2025-12-03 20:51:52 -08:00
dc4c2c3117
move artifact image/name to header, use DetailRows for skills
2025-12-03 20:51:16 -08:00
ee2e51affd
add image support to sidebar header
2025-12-03 20:51:10 -08:00
399480db9f
put grade recommendation reason inline with action badge
2025-12-03 20:51:05 -08:00
91b2a61ac9
simplify skill display to value-only, highlight max rolls in element color
2025-12-03 20:50:59 -08:00
f55303039c
auto-redistribute skill levels when artifact level changes
2025-12-03 20:50:53 -08:00
f34f2c4dc9
show calculated skill values in dropdown, add level constraints
2025-12-03 20:50:47 -08:00
4b2d1b7dc0
add calculateSkillDisplayValue helper for artifact skills
2025-12-03 20:50:42 -08:00
ea09f325a0
fix slider value handling and track width
...
- Use single value instead of array for type="single" slider
- Pass onValueChange directly without array wrapping
- Use flex-grow: 1 for track width instead of width: 100%
2025-12-03 18:50:11 -08:00
8ddfe58369
fix slider range width by adding track wrapper element
...
The bits-ui Slider.Range component needs to be inside a proper
track element for the range fill to display correctly. Added a
span wrapper with slider-track class and updated styles.
2025-12-03 18:45:53 -08:00
23b1d091f5
add Slider component with elemental styling for level selection
2025-12-03 18:41:04 -08:00
a1bc125521
add element-ghost button variant for sidebar header
2025-12-03 18:33:56 -08:00
9b59a22a43
stretch header buttons to fill height, add gap between accessories
2025-12-03 18:25:24 -08:00
f5f7743055
move delete to detail pane overflow, add disabled save button to edit
2025-12-03 18:20:13 -08:00
db71e6dc80
add overflow menu support to pane stack
2025-12-03 18:20:09 -08:00
100f506c44
move add artifact button to header as elemental button
2025-12-03 18:11:34 -08:00
99644c1730
use color dots instead of images for element dropdown
2025-12-03 18:08:15 -08:00
3527bc820f
make Edit button elemental based on artifact element
2025-12-03 18:08:08 -08:00
abf7a36d8a
remove translateY(1px) from button active state
2025-12-03 18:07:59 -08:00
b047552d7d
fix infinite loop: use onMount instead of $effect for sidebar action
2025-12-03 17:57:50 -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
190e2140b1
artifact images: add square/wide variants
...
use artifact-square for thumbnails, artifact-wide for grid display.
defaults to square for backwards compat.
2025-12-03 17:44:01 -08:00
f23779b664
pane stack: each pane is now its own card
...
move card styling (bg, radius, shadow, border) from sidebar
container to individual panes so they visually stack as
separate cards. behind pane peeks out from the left.
2025-12-03 17:38:53 -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
ed32b7e924
add color dot support to Select component
2025-12-03 17:14:19 -08:00
e595196172
clean up debug logs from skill filtering investigation
2025-12-03 17:14:05 -08:00
9bdcc7818b
remove polarity indicator from skill list
2025-12-03 17:14:01 -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
644c596173
fix Icon import path in DisclosureRow
2025-12-03 16:33:47 -08:00
122b07e827
fix edit sidebars to use pane stack push/pop
2025-12-03 16:33:16 -08:00
a02db87988
fix @const placement in PaneStack
2025-12-03 16:28:26 -08:00
e502c8128d
add artifact validation utilities
2025-12-03 16:23:58 -08:00
2b572d07a7
add artifact selection components for pane stack
2025-12-03 16:22:33 -08:00
e7354479f7
add artifact section to TeamView sidebar
2025-12-03 16:20:31 -08:00
ef22bcb6c1
add artifact indicator icon next to character name
2025-12-03 16:18:48 -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
3a41adc4f2
add artifact UI components for phase 4
...
- DisclosureRow: iOS-style disclosure row for navigation
- ArtifactSkillRow: shows skill with modifiers and level/value controls
- ArtifactModifierList: selectable list of skills by polarity
- ArtifactGradeDisplay: shows letter grade, breakdown, recommendation
- ArtifactEditPane: main edit pane combining base props, skills, grade
2025-12-03 16:08:17 -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
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
096214bc52
add artifact types and add artifact field to GridCharacter
2025-12-03 15:49:16 -08:00
84e1fb4a8a
add pane stack store and component for ios-style navigation
2025-12-03 15:47:34 -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
108b662e33
make weapon series flags non-optional in type
2025-12-03 12:33:46 -08:00
ab4c8058f4
add ... dropdown to database nav with weapon series link
2025-12-03 12:33:42 -08:00
0259a8ad68
update test mocks to use WeaponSeriesRef
2025-12-03 11:59:40 -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
a251240331
complete handleSave for weapon modifiers, update key select to use slug
2025-12-03 11:59:16 -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
745c162529
remove legacy integer series fallbacks from utils
2025-12-03 11:59:02 -08:00
a8d97479ff
update Weapon.series to use WeaponSeriesRef, remove unused type files
2025-12-03 11:58:58 -08:00
58d8899075
add WeaponSeriesRef type definitions
2025-12-03 11:58:54 -08:00
a580f179e1
clean up error handling in add modal
2025-12-03 10:51:17 -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
5db9181afc
left-align uncap indicators in cells
2025-12-03 10:50:41 -08:00
f54c5f012e
improve collection row layouts
...
- wrap thumbnail + name in core-info container
- use layout tokens for border radius
- add proficiency column to weapon rows
- wider thumbnails, consistent sizing
2025-12-03 10:50:36 -08:00
6d8e1849eb
add viewMode store for grid/list toggle persistence
2025-12-03 10:50:29 -08:00
b7fdde2025
add list cell background color tokens
2025-12-03 10:50:25 -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
d9dd8f58ee
fix Svelte 5 event modifier syntax in selectable components
...
Replace deprecated onclick|stopPropagation with onclick={(e) => e.stopPropagation()}
2025-12-03 07:31:32 -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
60947a7911
add detail and edit panes for weapon/summon collections
...
- WeaponEditPane: edit component with uncap, transcendence, element,
weapon keys, AX skills, and awakening support
- SummonEditPane: simple edit component with uncap and transcendence
- CollectionWeaponPane: full detail pane with Info/My Collection tabs
- CollectionSummonPane: full detail pane with Info/My Collection tabs
2025-12-03 07:26:53 -08:00
033bc1c8f7
add collection display components for weapons and summons
...
- CollectionWeaponCard: grid view with uncap indicator and transcendence
- CollectionWeaponRow: list view with element, uncap, and awakening/keys info
- CollectionSummonCard: grid view with uncap indicator
- CollectionSummonRow: list view with element and uncap info
2025-12-03 07:21:53 -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
a2e0015a85
minor cleanup: remove unused import, add font-tiny variable
2025-12-02 17:19:49 -08:00
5e5d9e93ec
refactor CollectionCharacterPane: use DetailSections, fix reactivity on char switch
2025-12-02 17:19:45 -08:00
0f46960de6
add uncap level editing to CharacterEditPane
2025-12-02 17:19:41 -08:00
2a4789c72a
add empty state support to DetailsSection
2025-12-02 17:19:38 -08:00
000cfd2332
add setAction/clearAction to sidebar store for dynamic header buttons
2025-12-02 17:19:34 -08:00
cc2b2c1f95
convert collection filters from buttons to dropdowns
2025-12-02 17:19:31 -08:00
9f18ff0a4d
add small size variant to segmented control
2025-12-02 17:19:22 -08:00
6f21018bca
add MultiSelect component, refactor Select for consistency
2025-12-02 17:19:19 -08:00
d053a9377e
add race/proficiency/gender to CollectionFilters type
2025-12-02 15:32:11 -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
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
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
a6a0a38d75
fix collection modal search: use query factory pattern, remove broken debounce
2025-12-02 15:06:47 -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
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
a664d41e63
fix character card aspect ratio to match actual image dimensions
...
Character grid images are 280x160 (7:4 ratio, wider than tall).
The previous ratio was inverted. Now using 100px width with correct
aspect-ratio: 280/160.
2025-12-02 11:35:00 -08:00
408f729976
switch modal results grid to flexbox for better layout
...
Use flexbox with fixed-width cards (70px) instead of CSS Grid. This
prevents excessive vertical spacing when using tall aspect ratio items.
2025-12-02 11:32:04 -08:00
7de75ec8d0
fix character card aspect ratio and duplicate key error
...
- Use proper 16:33 aspect ratio for character cards instead of square
- Change object-fit from cover to contain to prevent cropping
- Deduplicate search results across pages to prevent duplicate key errors
2025-12-02 11:31:09 -08:00
d107d56f82
fix collection nav link to point to user's collection
...
The Collection nav link now points to /{username}/collection/characters
instead of /collection. Also updates isNavSelected to properly detect
when on any collection page.
2025-12-02 11:29:09 -08:00
2aa961b5e6
refactor EditCharacterSidebar to use shared CharacterEditPane
...
Reduces ~240 lines to ~85 lines by using the shared CharacterEditPane
component for edit controls. Both party grid and collection character
editing now use the same underlying UI component.
2025-12-02 11:26:23 -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
a9de4a60c0
add AddToCollectionModal and SelectableCharacterCard
...
Large modal for batch-selecting characters to add to collection.
Features server-side search, filtering, multi-select with visual
feedback, and "X selected" link to filter to selection only.
2025-12-02 09:32:28 -08:00
8f28ad8d8f
add Dialog large size variant and CollectionFilters
...
Dialog now supports size='large' for 90vw/85vh modals.
CollectionFilters provides reusable filter controls for
element, rarity, season, series, race, proficiency, gender.
2025-12-02 09:30:31 -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
51db7f7604
remove redundant settings page
2025-12-02 08:52:08 -08:00
8912696a08
add element selector to user settings modal
2025-12-02 08:52:02 -08:00
be92eba4aa
fix user settings API to match rails backend params
2025-12-02 08:51:57 -08:00
919eee8cde
replace Goalking with AGrot font
2025-12-02 08:39:32 -08:00
13f78e4bf8
switch to dynamic font loading from env
...
loads fonts from AWS S3 when PUBLIC_SIERO_IMG_URL is set,
otherwise falls back to local /fonts directory
2025-12-02 08:39:28 -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
23ae7f70ba
add promotions to summon database views
2025-12-02 05:25:56 -08:00
8c45c21939
add promotions to weapon database views
2025-12-02 05:25:49 -08:00
cf694bb1ce
add season, series, gacha_available, recruited_by to character database views
2025-12-02 05:25:43 -08:00
96f040a91b
add CheckboxGroup component for multiselect fields
2025-12-02 05:25:35 -08:00
f26d3e3883
add season, series, promotions filters to search adapter
2025-12-02 05:25:29 -08:00
67b87c7d1b
add season, series, promotions to entity types
2025-12-02 05:25:23 -08:00
b6db09bcc4
add formal promotion to enums
2025-12-02 05:25: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
c8c076e707
add calendar icon for DatePicker
2025-12-02 01:37:38 -08:00
69395672af
move dates section before skills/auras on detail pages
2025-12-02 01:28:23 -08:00
28aa547c89
fix: summon granblueId binding in edit mode
2025-12-02 01:28:16 -08:00
6683a9e53a
import pages: add wiki_raw to payload, misc fixes
2025-12-02 01:25:28 -08:00
5edcf6473a
cleanup: remove unused CharacterImagesSection, tweak metadata
2025-12-02 01:25:23 -08:00
38762c8946
add image download buttons to detail scaffold
2025-12-02 01:25:18 -08:00
2771e202cb
add CopyableText component for raw data tab
2025-12-02 01:25:14 -08:00
dea02ef359
fix ougiRatio display - access nested object properties
2025-12-02 01:24:57 -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
da26645df0
add DatePicker component with type='date' support
2025-12-02 01:24:36 -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
1ea0eee86c
add suggestion props to all database section components
2025-12-01 23:52:06 -08:00
bba78d5781
feat: add suggestion UI components for batch import
...
- SuggestionBadge: sparkle icon with tooltip for accept/dismiss actions
- SuggestionDetailItem: detail item wrapper with suggestion badge support
- TabbedEntitySelector: entity image grid for batch selection
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-01 23:43:56 -08:00
b28ba551de
add batch preview adapter methods
2025-12-01 23:40:55 -08:00
c8c4693e08
Switch font from Goalking to AGrot
...
- Import fonts.css in app.html
- Update --font-family CSS variable to use AGrot
- Adjust $bold weight from 600 to 700 to match AGrot's available weights
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-01 13:52:55 -08:00
7a639effaa
database: add entity edit page scaffolds
2025-12-01 09:57:53 -08:00
1cbcd91f94
entity adapter: add raw data fetch methods
2025-12-01 09:54:39 -08:00
be75fcbcbd
database detail pages: add Info/Images/Raw tabs
2025-12-01 09:54:35 -08:00
395a5c166f
SegmentedControl: add size prop (default/small)
2025-12-01 09:54:06 -08:00
7a57680ec1
use ElementLabel/ProficiencyLabel, show all fields in detail pages
2025-12-01 08:35:34 -08:00
371cb7d102
fix: use camelCase granblueId in view mode
2025-12-01 08:35:30 -08:00
20705cc3b2
SegmentedControl: only fire onValueChange on actual changes
...
Prevents onValueChange from firing during initialization, which
caused pushState errors before router was ready.
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-01 05:02:56 -08:00
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
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
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
9ace6f0862
remove old routes (moved to app group)
2025-11-30 22:28:59 -08:00
b78ee7ca20
move routes to (app) route group
2025-11-30 22:28:17 -08:00
3498b7d966
add signup redirect to register
2025-11-30 22:28:13 -08:00
93efc9946a
add registration page with validation
2025-11-30 22:26:32 -08:00
fd10dcfb15
add login page with contained inputs
2025-11-30 22:26:32 -08:00
762d5c0fc0
add auth layout with centered container
2025-11-30 22:26:32 -08:00
06dd832ada
add AuthCard component for auth pages
2025-11-30 22:26:25 -08:00
33fa9f9c9c
reset fieldset border/padding/margin in Input component
2025-11-30 22:26:25 -08:00
d2cb4c5052
routes: update layout and teams page
2025-11-30 20:06:49 -08:00
af659b9760
components: update party and character components
2025-11-30 20:06:44 -08:00
c3ed9b2885
api: update entity adapter and queries
2025-11-30 20:06:40 -08:00