refactor: Remove emojis and band colors from codebase
Some checks failed
Deploy Fediversion / deploy (push) Failing after 1s
Some checks failed
Deploy Fediversion / deploy (push) Failing after 1s
- Simplify Vertical model (remove color, emoji fields) - Update vertical-context.tsx to just slug/name - Update band-selector.tsx (no colors) - Update all [vertical] page routes (no emojis in headings) Themes will be added later as a separate feature.
This commit is contained in:
parent
5c1b05a169
commit
d8b949a965
7 changed files with 11 additions and 37 deletions
|
|
@ -64,10 +64,6 @@ class Vertical(SQLModel, table=True):
|
|||
# Link to primary artist/band for this vertical
|
||||
primary_artist_id: Optional[int] = Field(default=None, foreign_key="artist.id")
|
||||
|
||||
# Theming
|
||||
color: Optional[str] = Field(default=None, description="Hex color for branding")
|
||||
emoji: Optional[str] = Field(default=None, description="Display emoji")
|
||||
|
||||
shows: List["Show"] = Relationship(back_populates="vertical")
|
||||
songs: List["Song"] = Relationship(back_populates="vertical")
|
||||
|
||||
|
|
|
|||
|
|
@ -21,10 +21,7 @@ export default function VerticalPage({ params }: Props) {
|
|||
return (
|
||||
<div className="space-y-8">
|
||||
<div className="text-center space-y-4">
|
||||
<h1 className="text-4xl font-bold flex items-center justify-center gap-4">
|
||||
<span className="text-5xl">{vertical.emoji}</span>
|
||||
<span style={{ color: vertical.color }}>{vertical.name}</span>
|
||||
</h1>
|
||||
<h1 className="text-4xl font-bold">{vertical.name}</h1>
|
||||
<p className="text-muted-foreground max-w-2xl mx-auto">
|
||||
Explore setlists, rate performances, and connect with the {vertical.name} community.
|
||||
</p>
|
||||
|
|
|
|||
|
|
@ -36,10 +36,7 @@ export default async function ShowsPage({ params }: Props) {
|
|||
return (
|
||||
<div className="space-y-6">
|
||||
<div className="flex items-center justify-between">
|
||||
<h1 className="text-3xl font-bold">
|
||||
<span className="mr-2">{vertical.emoji}</span>
|
||||
{vertical.name} Shows
|
||||
</h1>
|
||||
<h1 className="text-3xl font-bold">{vertical.name} Shows</h1>
|
||||
</div>
|
||||
|
||||
{shows.length === 0 ? (
|
||||
|
|
|
|||
|
|
@ -36,10 +36,7 @@ export default async function SongsPage({ params }: Props) {
|
|||
return (
|
||||
<div className="space-y-6">
|
||||
<div className="flex items-center justify-between">
|
||||
<h1 className="text-3xl font-bold">
|
||||
<span className="mr-2">{vertical.emoji}</span>
|
||||
{vertical.name} Songs
|
||||
</h1>
|
||||
<h1 className="text-3xl font-bold">{vertical.name} Songs</h1>
|
||||
</div>
|
||||
|
||||
{songs.length === 0 ? (
|
||||
|
|
|
|||
|
|
@ -36,10 +36,7 @@ export default async function VenuesPage({ params }: Props) {
|
|||
return (
|
||||
<div className="space-y-6">
|
||||
<div className="flex items-center justify-between">
|
||||
<h1 className="text-3xl font-bold">
|
||||
<span className="mr-2">{vertical.emoji}</span>
|
||||
{vertical.name} Venues
|
||||
</h1>
|
||||
<h1 className="text-3xl font-bold">{vertical.name} Venues</h1>
|
||||
</div>
|
||||
|
||||
{venues.length === 0 ? (
|
||||
|
|
|
|||
|
|
@ -26,9 +26,7 @@ export function BandSelector() {
|
|||
<Button
|
||||
variant="ghost"
|
||||
className="flex items-center gap-2 font-bold text-lg"
|
||||
style={{ color: current.color }}
|
||||
>
|
||||
<span>{current.emoji}</span>
|
||||
<span>{current.name}</span>
|
||||
<ChevronDown className="h-4 w-4 opacity-50" />
|
||||
</Button>
|
||||
|
|
@ -38,15 +36,9 @@ export function BandSelector() {
|
|||
<DropdownMenuItem
|
||||
key={vertical.slug}
|
||||
onClick={() => handleSelect(vertical.slug)}
|
||||
className="flex items-center gap-3 cursor-pointer"
|
||||
className={`cursor-pointer ${vertical.slug === current.slug ? "font-bold" : ""}`}
|
||||
>
|
||||
<span className="text-lg">{vertical.emoji}</span>
|
||||
<span
|
||||
className={vertical.slug === current.slug ? "font-bold" : ""}
|
||||
style={{ color: vertical.slug === current.slug ? vertical.color : undefined }}
|
||||
>
|
||||
{vertical.name}
|
||||
</span>
|
||||
{vertical.name}
|
||||
</DropdownMenuItem>
|
||||
))}
|
||||
</DropdownMenuContent>
|
||||
|
|
|
|||
|
|
@ -5,11 +5,11 @@ import { usePathname } from "next/navigation"
|
|||
|
||||
// Supported verticals (bands)
|
||||
export const VERTICALS = [
|
||||
{ slug: "goose", name: "Goose", emoji: "🦆", color: "#F59E0B" },
|
||||
{ slug: "phish", name: "Phish", emoji: "🐟", color: "#EF4444" },
|
||||
{ slug: "grateful-dead", name: "Grateful Dead", emoji: "💀", color: "#8B5CF6" },
|
||||
{ slug: "dead-and-company", name: "Dead & Company", emoji: "⚡", color: "#3B82F6" },
|
||||
{ slug: "billy-strings", name: "Billy Strings", emoji: "🎸", color: "#10B981" },
|
||||
{ slug: "goose", name: "Goose" },
|
||||
{ slug: "phish", name: "Phish" },
|
||||
{ slug: "grateful-dead", name: "Grateful Dead" },
|
||||
{ slug: "dead-and-company", name: "Dead & Company" },
|
||||
{ slug: "billy-strings", name: "Billy Strings" },
|
||||
] as const
|
||||
|
||||
export type VerticalSlug = typeof VERTICALS[number]["slug"]
|
||||
|
|
@ -17,8 +17,6 @@ export type VerticalSlug = typeof VERTICALS[number]["slug"]
|
|||
export interface Vertical {
|
||||
slug: VerticalSlug
|
||||
name: string
|
||||
emoji: string
|
||||
color: string
|
||||
}
|
||||
|
||||
interface VerticalContextType {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue