diff options
| author | yyamashita <yyamashita@mosquit.one> | 2026-05-09 00:56:11 +0900 |
|---|---|---|
| committer | yyamashita <yyamashita@mosquit.one> | 2026-05-09 00:56:11 +0900 |
| commit | 11241b10f6f962102421885e1b0580a1b0df22b0 (patch) | |
| tree | d341df87363f8dbcd982e068f5528f4926a1384d /app/routes/band-by-uuid.tsx | |
| parent | b8548d029760ecfa59cafedd23899a91e6120b5f (diff) | |
Support multiple roles per member with free-text fallback
- 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>
Diffstat (limited to 'app/routes/band-by-uuid.tsx')
| -rw-r--r-- | app/routes/band-by-uuid.tsx | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/app/routes/band-by-uuid.tsx b/app/routes/band-by-uuid.tsx index 94a7d3c..9cb4d33 100644 --- a/app/routes/band-by-uuid.tsx +++ b/app/routes/band-by-uuid.tsx @@ -61,16 +61,16 @@ export default function BandDetail() { </h2> <ul className="space-y-2"> {artists.map((a) => ( - <li key={a.artist_id} className="flex items-center gap-3"> + <li key={a.artist_id} className="flex items-center gap-3 flex-wrap"> <Link to={`/artists/of/${a.artist_id}`} className="text-blue-400 hover:text-blue-300 transition-colors font-medium" > {a.artist_name} </Link> - {a.role && ( - <span className="text-gray-400 text-sm">{a.role}</span> - )} + {a.role && a.role.split(", ").filter(Boolean).map((r, i) => ( + <span key={i} className="text-gray-500 text-xs bg-gray-900 px-1.5 py-0.5 rounded">{r}</span> + ))} </li> ))} </ul> |
