4652a92c29
Embed Six Flags API IDs directly in the park registry and snapshot coaster lists from park-meta.json into a TypeScript module. This eliminates the Playwright-based discovery script, RCDB scraper, and runtime dependency on park-meta.json — preparing for the backend API transition. - Add apiId field to Park type and all 24 park entries - Create lib/coaster-data.ts with hardcoded coaster lists - Update page components to use park.apiId and new getCoasterSet() - Remove scripts/discover.ts, lib/scrapers/rcdb.ts, lib/park-meta.ts - Remove data/park-meta.json from shared volume - Remove playwright devDependency and discover npm script - Simplify scripts/scrape.ts (no RCDB, no discovery checks) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
40 lines
722 B
TypeScript
40 lines
722 B
TypeScript
export interface Park {
|
|
id: string;
|
|
apiId: number;
|
|
name: string;
|
|
shortName: string;
|
|
chain: "sixflags" | string;
|
|
slug: string;
|
|
region: "Northeast" | "Southeast" | "Midwest" | "Texas & South" | "West & International";
|
|
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>;
|
|
}
|