Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| b4183507a8 | |||
| 81ff6ea659 | |||
| 8b1c8dcb29 |
@@ -1,4 +1,4 @@
|
||||
# Six Flags Super Calendar
|
||||
# Thoosie Calendar
|
||||
|
||||
A week-by-week calendar showing operating hours for all Six Flags Entertainment Group theme parks — including the former Cedar Fair parks. Data is scraped from the Six Flags internal API and stored locally in SQLite. Click any park to see its full month calendar and live ride status with current wait times.
|
||||
|
||||
|
||||
@@ -0,0 +1,59 @@
|
||||
import { ImageResponse } from "next/og";
|
||||
|
||||
export const size = { width: 32, height: 32 };
|
||||
export const contentType = "image/png";
|
||||
|
||||
export default function Icon() {
|
||||
return new ImageResponse(
|
||||
(
|
||||
<div
|
||||
style={{
|
||||
width: 32,
|
||||
height: 32,
|
||||
borderRadius: 8,
|
||||
backgroundColor: "#0c1220",
|
||||
display: "flex",
|
||||
position: "relative",
|
||||
}}
|
||||
>
|
||||
{/* Ground line */}
|
||||
<div
|
||||
style={{
|
||||
position: "absolute",
|
||||
left: 3,
|
||||
right: 3,
|
||||
bottom: 7,
|
||||
height: 2,
|
||||
backgroundColor: "#f59e0b",
|
||||
borderRadius: 1,
|
||||
}}
|
||||
/>
|
||||
{/* Lift hill — semicircle bump */}
|
||||
<div
|
||||
style={{
|
||||
position: "absolute",
|
||||
left: 3,
|
||||
bottom: 9,
|
||||
width: 10,
|
||||
height: 13,
|
||||
backgroundColor: "#f59e0b",
|
||||
borderRadius: "50% 50% 0 0",
|
||||
}}
|
||||
/>
|
||||
{/* Vertical loop — circle outline */}
|
||||
<div
|
||||
style={{
|
||||
position: "absolute",
|
||||
right: 5,
|
||||
bottom: 7,
|
||||
width: 12,
|
||||
height: 12,
|
||||
border: "2.5px solid #f59e0b",
|
||||
borderRadius: "50%",
|
||||
}}
|
||||
/>
|
||||
</div>
|
||||
),
|
||||
{ width: 32, height: 32 },
|
||||
);
|
||||
}
|
||||
+2
-2
@@ -2,8 +2,8 @@ import type { Metadata } from "next";
|
||||
import "./globals.css";
|
||||
|
||||
export const metadata: Metadata = {
|
||||
title: "Six Flags Calendar",
|
||||
description: "Theme park operating calendars at a glance",
|
||||
title: "Thoosie Calendar",
|
||||
description: "Theme park operating hours and live ride status at a glance",
|
||||
};
|
||||
|
||||
export default function RootLayout({ children }: { children: React.ReactNode }) {
|
||||
|
||||
+1
-1
@@ -84,7 +84,7 @@ export default async function HomePage({ searchParams }: PageProps) {
|
||||
color: "var(--color-text)",
|
||||
letterSpacing: "-0.02em",
|
||||
}}>
|
||||
Six Flags Calendar
|
||||
Thoosie Calendar
|
||||
</span>
|
||||
|
||||
<span style={{
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 56" fill="none">
|
||||
<!-- Lift hill + ground + camelback -->
|
||||
<path
|
||||
d="M 2 52 L 20 6 L 38 52 L 116 52 Q 134 22 152 52 L 196 52"
|
||||
stroke="#f59e0b"
|
||||
stroke-width="3.5"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
/>
|
||||
<!-- Vertical loop -->
|
||||
<circle
|
||||
cx="75"
|
||||
cy="33"
|
||||
r="19"
|
||||
stroke="#f59e0b"
|
||||
stroke-width="3.5"
|
||||
fill="none"
|
||||
/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 434 B |
Reference in New Issue
Block a user