forked from UKSOURCE/ipv6
64 lines
1.1 KiB
TypeScript
64 lines
1.1 KiB
TypeScript
export interface FilterOption {
|
|
label: string;
|
|
count?: number;
|
|
checked?: boolean;
|
|
}
|
|
|
|
export interface FiltersData {
|
|
levels: FilterOption[];
|
|
fields: FilterOption[];
|
|
durations: FilterOption[];
|
|
}
|
|
|
|
export interface Course {
|
|
id: string;
|
|
title: string;
|
|
description: string;
|
|
icon: string;
|
|
}
|
|
|
|
export interface Outcome {
|
|
title: string;
|
|
description: string;
|
|
icon: string;
|
|
}
|
|
|
|
export interface FAQ {
|
|
question: string;
|
|
answer: string;
|
|
}
|
|
|
|
export interface Programme {
|
|
id: string;
|
|
level: string;
|
|
fieldOfStudy?: string;
|
|
title: string;
|
|
description: string;
|
|
duration: string;
|
|
durationInMonths?: number;
|
|
cost: string;
|
|
selected?: boolean;
|
|
link: string;
|
|
shortName: string;
|
|
// Detail fields
|
|
detailBadge?: string;
|
|
detailTitle?: string;
|
|
detailDescription?: string;
|
|
heroImage?: string;
|
|
overview?: string;
|
|
credits?: number;
|
|
format?: string;
|
|
coreCourses?: Course[];
|
|
electives?: string[];
|
|
outcomes?: Outcome[];
|
|
faqs?: FAQ[];
|
|
nextStartDate?: string;
|
|
monthlyCost?: string;
|
|
perCourseCost?: string;
|
|
}
|
|
|
|
export interface ProgrammesData {
|
|
filters: FiltersData;
|
|
programmes: Programme[];
|
|
}
|