-
Notifications
You must be signed in to change notification settings - Fork 0
/
types.ts
124 lines (118 loc) · 2.39 KB
/
types.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
import { CSSProperties } from 'react';
export interface PackageGroup {
name: string;
title: string;
description: string;
selection_text: string;
save_text: string;
display_type: number;
is_recurring_subscription: string;
subs: [
{
packageid: number;
percent_savings_text: string;
percent_savings: number;
option_text: string;
option_description: string;
can_get_free_license: string;
is_free_license: boolean;
price_in_cents_with_discount: number;
}
];
}
export interface GameDetail {
type: string;
name: string;
steam_appid: number;
required_age: number;
is_free: false;
controller_support: string;
dlc: number[];
detailed_description: string;
about_the_game: string;
short_description: string;
supported_languages: string;
reviews: string;
header_image: string;
website: string;
pc_requirements: {
minimum: string;
};
mac_requirements: {
minimum: string;
};
linux_requirements: {
minimum: string;
recommended: string;
};
legal_notice: string;
developers: string[];
publishers: string[];
price_overview: {
currency: string;
initial: number;
final: number;
discount_percent: number;
initial_formatted: string;
final_formatted: string;
};
packages: number[];
package_groups: PackageGroup[];
platforms: { windows: true; mac: true; linux: true };
categories: Array<{ id: number; description: string }>;
genres: Array<{ id: string; description: string }>;
screenshots: Array<{
id: number;
path_thumbnail: string;
path_full: string;
}>;
movies: [
Array<{
id: number;
name: string;
thumbnail: string;
webm: {
'480': string;
max: string;
};
mp4: {
'480': string;
max: string;
};
highlight: true;
}>
];
recommendations: { total: number };
achievements: {
total: number;
highlighted: Array<{
name: string;
path: string;
}>;
};
release_date: { coming_soon: boolean; date: string };
support_info: {
url: string;
email: string;
};
background: string;
content_descriptors: { ids: []; notes: null };
}
export interface SubGameData {
name: string;
description: string;
image?: string;
imageObjectPosition?: CSSProperties['objectPosition'];
players: [number, number];
}
export type GameDescriptor = {
gameId: number;
subGameId?: number;
};
export type WinnerResponse = {
winner: null | GameDescriptor;
};
export type MyVoteResponse = {
vote: null | GameDescriptor;
time?: number;
};