polish: move queue-times attribution to Rides section heading
All checks were successful
Build and Deploy / Build & Push (push) Successful in 51s
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:
@@ -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>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user