Next.js 15 + Tailwind CSS v4 week calendar showing Six Flags park hours. Scrapes the internal CloudFront API, stores results in SQLite. Includes Dockerfile (Debian/Playwright-compatible), docker-compose, and Gitea Actions pipeline that builds and pushes to the container registry. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
38 lines
613 B
TypeScript
38 lines
613 B
TypeScript
export interface Park {
|
|
id: string;
|
|
name: string;
|
|
shortName: string;
|
|
chain: "sixflags" | string;
|
|
slug: string;
|
|
location: {
|
|
lat: number;
|
|
lng: number;
|
|
city: string;
|
|
state: string;
|
|
};
|
|
timezone: string;
|
|
website: string;
|
|
}
|
|
|
|
export interface DayStatus {
|
|
day: number;
|
|
isOpen: boolean;
|
|
hoursLabel?: string;
|
|
}
|
|
|
|
export interface MonthCalendar {
|
|
parkId: string;
|
|
year: number;
|
|
month: number;
|
|
days: DayStatus[];
|
|
}
|
|
|
|
export interface ScraperAdapter {
|
|
readonly chain: string;
|
|
getMonthCalendar(
|
|
park: Park,
|
|
year: number,
|
|
month: number
|
|
): Promise<MonthCalendar>;
|
|
}
|