aboutsummaryrefslogtreecommitdiff
path: root/frontend/src/types/Profile.ts
diff options
context:
space:
mode:
Diffstat (limited to 'frontend/src/types/Profile.ts')
-rw-r--r--frontend/src/types/Profile.ts63
1 files changed, 63 insertions, 0 deletions
diff --git a/frontend/src/types/Profile.ts b/frontend/src/types/Profile.ts
new file mode 100644
index 0000000..42e5c3e
--- /dev/null
+++ b/frontend/src/types/Profile.ts
@@ -0,0 +1,63 @@
1import type { Pagination } from "@customTypes/Pagination";
2
3export interface UserShort {
4 steam_id: string;
5 user_name: string;
6 avatar_link: string;
7};
8
9export interface UserProfile {
10 profile: boolean;
11 steam_id: string;
12 user_name: string;
13 avatar_link: string;
14 country_code: string;
15 titles: UserProfileTitles[];
16 links: UserProfileLinks;
17 rankings: UserProfileRankings;
18 records: UserProfileRecords[];
19 pagination: Pagination;
20};
21
22interface UserProfileTitles {
23 name: string;
24 color: string;
25};
26
27interface UserProfileLinks {
28 p2sr: string;
29 steam: string;
30 youtube: string;
31 twitch: string;
32};
33
34interface UserProfileRankings {
35 overall: UserProfileRankingsDetail;
36 singleplayer: UserProfileRankingsDetail;
37 cooperative: UserProfileRankingsDetail;
38};
39
40interface UserProfileRecords {
41 game_id: number;
42 category_id: number;
43 map_id: number;
44 map_name: string;
45 map_wr_count: number;
46 placement: number;
47 scores: UserProfileRecordsScores[]
48};
49
50interface UserProfileRecordsScores {
51 record_id: number;
52 demo_id: string;
53 score_count: number;
54 score_time: number;
55 date: string;
56};
57
58interface UserProfileRankingsDetail {
59 rank: number;
60 completion_count: number;
61 completion_total: number;
62};
63