feat: improve profile navigation and responsive privacy UX
This commit is contained in:
@@ -55,7 +55,9 @@ export interface UserProfileSchema {
|
||||
student_id?: string | null;
|
||||
year_of_study?: number;
|
||||
university?: string;
|
||||
university_code?: string | null;
|
||||
major?: string;
|
||||
major_code?: string | null;
|
||||
date_joined: string;
|
||||
|
||||
is_email_verified?: boolean;
|
||||
@@ -71,6 +73,31 @@ export interface UserProfileSchema {
|
||||
can_access_blog_admin?: boolean;
|
||||
can_write_blog_posts?: boolean;
|
||||
can_review_blog_posts?: boolean;
|
||||
show_public_profile_details?: boolean;
|
||||
}
|
||||
|
||||
export interface PublicProfileEventSchema {
|
||||
title: string;
|
||||
slug: string;
|
||||
start_time: string;
|
||||
image_url?: string | null;
|
||||
participation: "confirmed" | "attended";
|
||||
}
|
||||
|
||||
export interface PublicMemberProfileSchema {
|
||||
username: string;
|
||||
first_name: string;
|
||||
last_name: string;
|
||||
full_name: string;
|
||||
profile_picture?: string | null;
|
||||
bio: string;
|
||||
details_visible: boolean;
|
||||
mobile?: string | null;
|
||||
student_id?: string | null;
|
||||
year_of_study?: number | null;
|
||||
university?: string | null;
|
||||
major?: string | null;
|
||||
events: PublicProfileEventSchema[];
|
||||
}
|
||||
|
||||
export interface UserListSchema {
|
||||
@@ -144,6 +171,7 @@ export interface UserRegistrationSchema {
|
||||
}
|
||||
|
||||
export type UserUpdateSchema = {
|
||||
username?: string;
|
||||
email?: string | null;
|
||||
first_name?: string | null;
|
||||
last_name?: string | null;
|
||||
@@ -152,8 +180,31 @@ export type UserUpdateSchema = {
|
||||
major?: string | null;
|
||||
university?: string | null;
|
||||
student_id?: string | null;
|
||||
show_public_profile_details?: boolean;
|
||||
};
|
||||
|
||||
export interface UserPaymentSchema {
|
||||
event: {
|
||||
title: string;
|
||||
slug: string;
|
||||
image_url?: string | null;
|
||||
};
|
||||
base_amount: number;
|
||||
discount_amount: number;
|
||||
amount: number;
|
||||
status: "initiated" | "pending" | "paid" | "failed" | "canceled";
|
||||
created_at: string;
|
||||
paid_at?: string | null;
|
||||
}
|
||||
|
||||
export interface PaginatedResponseSchema<T> {
|
||||
count: number;
|
||||
page: number;
|
||||
page_size: number;
|
||||
total_pages: number;
|
||||
results: T[];
|
||||
}
|
||||
|
||||
|
||||
export interface UserLoginSchema {
|
||||
identifier: string;
|
||||
@@ -715,7 +766,16 @@ export interface MyEventRegistrationSchema {
|
||||
id: number;
|
||||
created_at: string;
|
||||
status: 'pending' | 'confirmed' | 'cancelled' | 'attended';
|
||||
event: EventListItemSchema;
|
||||
event: {
|
||||
id: number;
|
||||
title: string;
|
||||
slug: string;
|
||||
start_date: string;
|
||||
end_date?: string | null;
|
||||
location?: string | null;
|
||||
price: number;
|
||||
absolute_image_url?: string | null;
|
||||
};
|
||||
}
|
||||
|
||||
// Gallery Types
|
||||
|
||||
Reference in New Issue
Block a user