Some checks failed
Build and Deploy / Build & Push (push) Failing after 22s
Visual overhaul: - Warmer color system with amber accent for Today, better text hierarchy - Row hover highlighting, sticky column shadow on horizontal scroll - Closed cells replaced with dot (·) instead of "Closed" text - Regional grouping (Northeast/Southeast/Midwest/Texas & South/West) - Two-row header with park count badge and WeekNav on separate lines - Amber "Today" button in WeekNav when off current week - Mobile card layout (< 1024px) with 7-day grid per park; table on desktop - Skeleton loading state via app/loading.tsx Park detail pages (/park/[id]): - Month calendar view with ← → navigation via ?month= param - Live ride status fetched from Six Flags API (cached 1h) - Ride hours only shown when they differ from park operating hours - Fallback to nearest upcoming open day when today is dropped by API, including cross-month fallback for end-of-month edge case Data layer: - Park type gains region field; parks.ts exports groupByRegion() - db.ts gains getParkMonthData() for single-park month queries - sixflags.ts gains scrapeRidesForDay() returning RidesFetchResult with rides, dataDate, isExact, and parkHoursLabel Removed: CalendarGrid.tsx, MonthNav.tsx (dead code) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
34 lines
1.2 KiB
TypeScript
34 lines
1.2 KiB
TypeScript
export function Legend() {
|
|
return (
|
|
<div style={{
|
|
display: "flex",
|
|
alignItems: "center",
|
|
gap: 16,
|
|
fontSize: "0.72rem",
|
|
color: "var(--color-text-muted)",
|
|
flexShrink: 0,
|
|
}}>
|
|
<span style={{ display: "flex", alignItems: "center", gap: 5 }}>
|
|
<span style={{
|
|
display: "inline-block", width: 28, height: 14, borderRadius: 3,
|
|
background: "var(--color-open-bg)", border: "1px solid var(--color-open-border)",
|
|
}} />
|
|
Open
|
|
</span>
|
|
<span style={{ display: "flex", alignItems: "center", gap: 5 }}>
|
|
<span style={{
|
|
display: "inline-block", width: 28, height: 14, borderRadius: 3,
|
|
background: "var(--color-ph-bg)", border: "1px solid var(--color-ph-border)",
|
|
}} />
|
|
Passholder
|
|
</span>
|
|
<span style={{ display: "flex", alignItems: "center", gap: 6 }}>
|
|
<span style={{ color: "var(--color-text-dim)" }}>·</span>
|
|
<span style={{ color: "var(--color-text-dim)" }}>Closed</span>
|
|
<span style={{ color: "var(--color-border)" }}>·</span>
|
|
<span style={{ color: "var(--color-text-dim)" }}>— no data</span>
|
|
</span>
|
|
</div>
|
|
);
|
|
}
|