summaryrefslogtreecommitdiff
path: root/app/lib
diff options
context:
space:
mode:
authoryyamashita <yyamashita@mosquit.one>2026-05-09 00:51:08 +0900
committeryyamashita <yyamashita@mosquit.one>2026-05-09 00:51:08 +0900
commitb8548d029760ecfa59cafedd23899a91e6120b5f (patch)
tree681543d0acc26d6adc90bbe19493e50740505de3 /app/lib
parentd944f11581553c5e038b33fa4558566713f6d1f4 (diff)
Add predefined link types and artist roles
- 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>
Diffstat (limited to 'app/lib')
-rw-r--r--app/lib/constants.ts36
1 files changed, 36 insertions, 0 deletions
diff --git a/app/lib/constants.ts b/app/lib/constants.ts
new file mode 100644
index 0000000..8c9fb28
--- /dev/null
+++ b/app/lib/constants.ts
@@ -0,0 +1,36 @@
+export const LINK_TYPES = [
+ { value: "official", label: "公式サイト" },
+ { value: "x", label: "X" },
+ { value: "instagram", label: "Instagram" },
+ { value: "youtube", label: "YouTube" },
+ { value: "spotify", label: "Spotify" },
+ { value: "apple_music",label: "Apple Music" },
+ { value: "wikipedia", label: "Wikipedia" },
+ { value: "soundcloud", label: "SoundCloud" },
+ { value: "bandcamp", label: "Bandcamp" },
+ { value: "tiktok", label: "TikTok" },
+ { value: "linktree", label: "Linktree" },
+ { value: "other", label: "その他" },
+] as const;
+
+export type LinkTypeValue = (typeof LINK_TYPES)[number]["value"];
+
+export const LINK_TYPE_LABEL: Record<string, string> = Object.fromEntries(
+ LINK_TYPES.map((t) => [t.value, t.label])
+);
+
+export const ARTIST_ROLES = [
+ "Vocal",
+ "Guitar",
+ "Bass",
+ "Drums",
+ "Keyboard",
+ "Synthesizer",
+ "Violin",
+ "Trumpet",
+ "Saxophone",
+ "Percussion",
+ "DJ",
+ "Producer",
+ "Support",
+] as const;