mirror of
https://github.com/lemeow125/StudE-Frontend.git
synced 2024-11-17 14:29:27 +08:00
150 lines
2.6 KiB
TypeScript
150 lines
2.6 KiB
TypeScript
export interface IconProps {
|
|
size: number;
|
|
}
|
|
|
|
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;
|
|
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 OptionType {
|
|
label: string;
|
|
value: string;
|
|
}
|
|
|
|
// Semester
|
|
export interface Semester {
|
|
id: string;
|
|
name: string;
|
|
shortname: string;
|
|
}
|
|
|
|
export type Semesters = Array<Semester>;
|
|
|
|
export type SemesterParams = [boolean, Semesters];
|
|
|
|
// Year Level
|
|
export interface YearLevel {
|
|
id: string;
|
|
name: string;
|
|
shortname: string;
|
|
}
|
|
|
|
export type YearLevels = Array<YearLevel>;
|
|
|
|
export type YearLevelParams = [boolean, YearLevels];
|
|
|
|
// Course
|
|
export interface Course {
|
|
id: string;
|
|
name: string;
|
|
shortname: string;
|
|
}
|
|
export type Courses = Array<Course>;
|
|
export type CourseParams = [boolean, Courses];
|
|
|
|
// Subject
|
|
export interface Subject {
|
|
id: number;
|
|
name: string;
|
|
code: string;
|
|
course: string;
|
|
year_level: string;
|
|
semester: string;
|
|
}
|
|
|
|
export type Subjects = Array<Subject>;
|
|
export type SubjectParams = [boolean, Subjects];
|
|
|
|
export type avatar = {
|
|
uri: string;
|
|
type: string;
|
|
name: string;
|
|
};
|
|
// For dropdown menu
|
|
|
|
export interface OnboardingParams {
|
|
year_level: string;
|
|
course: string;
|
|
semester: string;
|
|
}
|
|
|
|
export interface PatchStudentData {
|
|
course?: string | null;
|
|
first_name?: string | null;
|
|
last_name?: string | null;
|
|
semester?: string | null;
|
|
subjects?: any[] | null; // To-do, replace 'any' with your actual type
|
|
year_level?: string | null;
|
|
irregular?: boolean | null;
|
|
avatar?: string | null;
|
|
}
|
|
|
|
export interface StudentData {
|
|
first_name: string;
|
|
last_name: string;
|
|
email: string;
|
|
avatar: string;
|
|
student_id_number: string;
|
|
irregular: boolean;
|
|
semester: string;
|
|
semester_shortname: string;
|
|
course: string;
|
|
course_shortname: string;
|
|
year_level: string;
|
|
yearlevel_shortname: string;
|
|
subjects: Subject[]; // To-do
|
|
username: string;
|
|
}
|
|
|
|
export type UserInfoParams = [boolean, StudentData];
|
|
|
|
interface Location {
|
|
latitude: number;
|
|
longtitude: number;
|
|
}
|
|
|
|
export interface StudentStatusParams {
|
|
subject: string;
|
|
location: Location;
|
|
}
|