polish: move queue-times attribution to Rides section heading
All checks were successful
Build and Deploy / Build & Push (push) Successful in 51s

Attribution now sits on the right end of the "RIDES · Live" bar as a
subtle "via queue-times.com" link, making it clear the live ride data
(not the whole site) is sourced from Queue-Times. Removed the orphaned
attribution block from the bottom of LiveRidePanel.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Josh Wright
2026-04-05 08:27:45 -04:00
parent fd45309891
commit 8c3841d9a5
2 changed files with 25 additions and 24 deletions

View File

@@ -131,7 +131,25 @@ export default async function ParkPage({ params, searchParams }: PageProps) {
{/* ── Ride Status ─────────────────────────────────────────────────── */} {/* ── Ride Status ─────────────────────────────────────────────────── */}
<section> <section>
<SectionHeading> <SectionHeading aside={liveRides ? (
<a
href="https://queue-times.com"
target="_blank"
rel="noopener noreferrer"
style={{
fontSize: "0.68rem",
color: "var(--color-text-dim)",
textDecoration: "none",
display: "flex",
alignItems: "center",
gap: 4,
transition: "color 120ms ease",
}}
className="park-name-link"
>
via queue-times.com
</a>
) : undefined}>
Rides Rides
{liveRides ? ( {liveRides ? (
<LiveBadge /> <LiveBadge />
@@ -174,12 +192,12 @@ function formatShortDate(iso: string): string {
// ── Sub-components ───────────────────────────────────────────────────────── // ── Sub-components ─────────────────────────────────────────────────────────
function SectionHeading({ children }: { children: React.ReactNode }) { function SectionHeading({ children, aside }: { children: React.ReactNode; aside?: React.ReactNode }) {
return ( return (
<div style={{ <div style={{
display: "flex", display: "flex",
alignItems: "baseline", alignItems: "center",
gap: 0, justifyContent: "space-between",
marginBottom: 14, marginBottom: 14,
paddingBottom: 10, paddingBottom: 10,
borderBottom: "1px solid var(--color-border)", borderBottom: "1px solid var(--color-border)",
@@ -191,9 +209,12 @@ function SectionHeading({ children }: { children: React.ReactNode }) {
letterSpacing: "0.04em", letterSpacing: "0.04em",
textTransform: "uppercase", textTransform: "uppercase",
margin: 0, margin: 0,
display: "flex",
alignItems: "center",
}}> }}>
{children} {children}
</h2> </h2>
{aside}
</div> </div>
); );
} }

View File

@@ -115,26 +115,6 @@ export function LiveRidePanel({ liveRides, parkOpenToday }: LiveRidePanelProps)
{closedRides.map((ride) => <RideRow key={ride.name} ride={ride} />)} {closedRides.map((ride) => <RideRow key={ride.name} ride={ride} />)}
</div> </div>
{/* ── Attribution ──────────────────────────────────────────────────── */}
<div style={{
marginTop: 20,
fontSize: "0.68rem",
color: "var(--color-text-dim)",
display: "flex",
alignItems: "center",
gap: 4,
}}>
Powered by{" "}
<a
href="https://queue-times.com"
target="_blank"
rel="noopener noreferrer"
style={{ color: "var(--color-text-muted)", textDecoration: "underline" }}
>
Queue-Times.com
</a>
{" "}· Updates every 5 minutes
</div>
</div> </div>
); );
} }