feat: add profile rank badges and guide

This commit is contained in:
2026-09-29 22:18:59 +03:30
parent bbf924c22d
commit 22cbc0b3fc
31 changed files with 785 additions and 68 deletions

View File

@@ -93,13 +93,63 @@ export interface PublicMemberProfileSchema {
bio: string;
details_visible: boolean;
mobile?: string | null;
email?: string | null;
student_id?: string | null;
year_of_study?: number | null;
university?: string | null;
major?: string | null;
badges: PublicGamificationBadgeSchema[];
events: PublicProfileEventSchema[];
}
export interface PublicGamificationBadgeSchema {
id: string;
category: "level" | "attendance" | "posts" | "comments" | "likes";
label: string;
}
export interface GamificationBadgeSchema extends PublicGamificationBadgeSchema {
description?: string | null;
threshold?: number | null;
}
export interface GamificationLevelSchema {
id: string;
label: string;
minimum_points: number;
}
export interface GamificationSummarySchema {
points_total: number;
points_event: number;
points_blog: number;
activity_counts: {
attendance: number;
posts: number;
comments: number;
likes: number;
};
levels: GamificationLevelSchema[];
points_per_activity: {
attendance: number;
post: number;
comment: number;
like: number;
save: number;
};
badge_thresholds: {
attendance: number[];
posts: number[];
comments: number[];
likes: number[];
};
current_level: GamificationLevelSchema;
next_level: GamificationLevelSchema | null;
points_to_next: number;
progress_percent: number;
badges: GamificationBadgeSchema[];
}
export interface UserListSchema {
id: number;
username: string;