StudE-Frontend/src/interfaces/Interfaces.tsx

104 lines
1.7 KiB
TypeScript
Raw Normal View History

export interface IconProps {
size: number;
2023-07-03 21:22:31 +08:00
}
export interface ResponsiveIconProps {
size: number;
color: string;
}
export interface RootDrawerParamList {
navigate: any;
}
// Redux Interfaces
export interface LoginState {
Login: { logged_in: boolean };
}
export interface LoggedInUserState {
LoggedInUser: {
value: {
email: string;
id: number;
username: string;
};
};
}
// API Interfaces
export interface RegistrationParams {
email: string;
username: string;
password: string;
2023-07-03 21:22:31 +08:00
first_name: string;
last_name: string;
student_id_number: string;
}
export interface LoginParams {
username: string;
password: string;
}
export interface ActivationParams {
uid: string;
token: string;
}
export interface Semester {
id: string;
name: string;
shortname: string;
}
export type SemesterParams = [boolean, Semester];
export interface YearLevel {
id: string;
name: string;
shortname: string;
}
export type YearLevelParams = [boolean, YearLevel];
export interface Course {
id: string;
name: string;
shortname: string;
}
2023-07-06 20:29:04 +08:00
export type CourseParams = [boolean, Course];
2023-07-06 20:29:04 +08:00
export interface OnboardingParams {
year_level: string;
course: string;
semester: string;
}
2023-07-17 15:10:44 +08:00
export interface StudentData {
avatar: string;
course: string;
email: string;
first_name: string;
is_banned: boolean;
last_name: string;
semester: string;
student_id_number: string;
subjects: any[]; // To-do
user_status: {
active: boolean;
landmark: string;
location: any; // To-do
study_group: any[]; // To-do
subject: string;
timestamp: string;
user: string;
};
username: string;
year_level: string;
}
export type UserInfoParams = [boolean, StudentData];