mirror of
https://github.com/fabrice404/olympics-calendar.git
synced 2025-12-13 06:39:47 +00:00
100 lines
2.0 KiB
TypeScript
100 lines
2.0 KiB
TypeScript
export interface MultilingualString {
|
|
[key: string]: string;
|
|
}
|
|
|
|
export interface Language {
|
|
code: string;
|
|
name: string;
|
|
}
|
|
|
|
export interface Sport {
|
|
key: string;
|
|
name: MultilingualString;
|
|
order: number;
|
|
}
|
|
|
|
export interface Team {
|
|
key: string;
|
|
name: MultilingualString;
|
|
}
|
|
|
|
export interface Match {
|
|
team1: Team;
|
|
team2: Team;
|
|
}
|
|
|
|
export interface Event {
|
|
key: string;
|
|
start: string;
|
|
end: string;
|
|
sport: string;
|
|
isTraining: boolean;
|
|
medal: "0" | "1" | "3";
|
|
name: MultilingualString;
|
|
location: MultilingualString;
|
|
match?: Match;
|
|
}
|
|
|
|
export interface Calendar {
|
|
languages: Language[];
|
|
sports: Sport[];
|
|
events: Event[];
|
|
nocs: Team[];
|
|
}
|
|
|
|
export interface PageData {
|
|
props: {
|
|
pageProps: {
|
|
page: {
|
|
template: {
|
|
properties: {
|
|
header: {
|
|
mainNav: {
|
|
languages: {
|
|
link: string;
|
|
lang: string;
|
|
label: string;
|
|
}[];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
items: {
|
|
type: string;
|
|
name: string;
|
|
data: {
|
|
disciplines: {
|
|
disciplineCode: string;
|
|
order: number;
|
|
description: string;
|
|
}[];
|
|
schedules: {
|
|
units: {
|
|
unitCode: string;
|
|
startDateTimeUtc: string;
|
|
endDateTimeUtc: string;
|
|
isTraining: boolean;
|
|
medal: "0" | "1" | "3";
|
|
description: string;
|
|
venue: {
|
|
description: string;
|
|
};
|
|
match?: {
|
|
team1: {
|
|
teamCode: string;
|
|
description: string;
|
|
};
|
|
team2: {
|
|
teamCode: string;
|
|
description: string;
|
|
};
|
|
};
|
|
}[];
|
|
}[];
|
|
};
|
|
}[];
|
|
};
|
|
};
|
|
};
|
|
}
|