summaryrefslogtreecommitdiff
path: root/app/routes
AgeCommit message (Collapse)AuthorLines
3 daysFix API routes to return JSON as resource routesyyamashita-6/+0
Removing default component export makes these resource routes, so React Router returns the Response directly instead of wrapping in HTML SSR. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
7 daysAdd lists feature (band recommendation lists with history)yyamashita-0/+421
New lists, list_entries, list_revisions tables; full CRUD routes under /lists; nav link in root. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
7 daysAdd band index page sorted by slug, show hiatus status onlyyyamashita-16/+4
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
7 daysSeparate current/former members with calculable period datesyyamashita-88/+115
- Add MemberGroup/BandGroup types and groupBandMembers/groupArtistMembers helpers - Calculate membership duration in months from YYYY-MM since/until values - Band view splits members into 在籍中 / 元メンバー sections with duration label - Artist view splits bands into 在籍中 / 元在籍 sections with duration label - Change since/until inputs to type="month" for structured data entry Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
8 daysAdd members table with membership period and note supportyyamashita-190/+372
Replace band_artists + member_periods with a single members table (id, band_id, artist_id, role, since, until, note, order_index). Each row represents one membership period, so rejoining artists get multiple rows. Existing band_artists data is auto-migrated on startup. Export format bumped to version 3. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
9 daysAdd /api/export and /api/import endpoints for DB backup and syncyyamashita-0/+46
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
9 dayssimplize cssyyamashita-414/+203
9 daysAdd JSON API endpoints and CLI script for band/artist managementyyamashita-0/+98
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
9 daysSupport multiple roles per member with free-text fallbackyyamashita-125/+183
- Role field stores comma-separated values ("Guitar, Vocal") - Form: tag-based multi-role editor per member; predefined select + "その他..." option reveals a free-text input for custom roles - Band detail: render each role as an inline tag (split on ", ") - band-edit: initializes roles from existing comma-separated data Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
9 daysAdd predefined link types and artist rolesyyamashita-17/+35
- app/lib/constants.ts: LINK_TYPES (12種) and ARTIST_ROLES (13種) - Band link forms: label input → type select (公式サイト, X, Instagram, ...) - Band member forms: role text → role select (Vocal, Guitar, Bass, ...) - Band detail: resolve link type key to display label via LINK_TYPE_LABEL Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
9 daysAdd band description/status fields and redesign index pageyyamashita-24/+91
- bands table: add description (TEXT) and status (TEXT DEFAULT 'active') via ALTER TABLE migrations (active / hiatus / disbanded) - Home page: minimal monochrome index listing name, area, status - Band detail: show description below title, status alongside area - Band new/edit forms: textarea for description, select for status Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
9 daysImplement band/artist management with version historyyyamashita-3/+1163
Full CRUD for bands and artists: UUID + slug URLs, dynamic link editor, band-artist associations with roles, per-edit revision snapshots (message + IP). Add README and CLAUDE.md. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
9 daysInitial scaffold: React Router v7 + SQLite + Tailwind CSS v4yyamashita-0/+8