8 | {{ t("Body.DashboardIntro") }} 9 |
10 |{{ t("Headings.EmptyLeaderBoardList") }}
9 |{{ data?.start }}
8 |{{ data?.end }}
13 |{{ t("Body.ChallengesNickname") }}
10 | 11 |{{ t("Headings.EmptyLeaderBoardList") }}
9 |{{ t("Headings.DragAndDropToMatchMatchings") }}
4 | 5 |
12 | 13 | {{ loading ? "" : abbreviateNumber(coins) }} 14 |
15 |{{ t("Body.Hero") }}
15 | 16 |{{ t("Headings.RefillIn") }}
3 |{{ formatTime(remainingTime) }}
4 | 5 | 6 | 50 | -------------------------------------------------------------------------------- /types/calenderTypes.ts: -------------------------------------------------------------------------------- 1 | export class Calendar { 2 | ics_token: string = ""; 3 | events: WebinarEvent[] | CoachingEvent[] = []; 4 | } 5 | 6 | export class EventBase { 7 | id: string = ""; 8 | type: "webinar" | "coaching" = "webinar"; // "coaching" | "webinar" 9 | title: string = ""; 10 | description: string = ""; 11 | skill_id: string = ""; 12 | start: number = 0; 13 | duration: number = 0; 14 | price: number = 0; 15 | instructor: Instructor = new Instructor(); 16 | instructor_rating: null | number = null; 17 | booked: boolean = false; // "sold-out"? 18 | bookable: boolean = false; 19 | admin_link: string = ""; 20 | link: string = ""; 21 | } 22 | 23 | export class Instructor { 24 | avatar_url: string = ""; 25 | display_name: string = ""; 26 | email: string = ""; 27 | id: string = ""; 28 | name: string = ""; 29 | } 30 | 31 | export class WebinarEvent extends EventBase { 32 | type: "webinar" = "webinar"; 33 | creation_date: number = 0; 34 | max_participants: number = 0; 35 | participants: number = 0; 36 | } 37 | 38 | export class CoachingEvent extends EventBase { 39 | type: "coaching" = "coaching"; 40 | student: { 41 | id: string; 42 | name: string; 43 | display_name: string; 44 | email: string; 45 | avatar_url: string; 46 | } = { 47 | id: "", 48 | name: "", 49 | display_name: "", 50 | email: "", 51 | avatar_url: "", 52 | }; 53 | } 54 | -------------------------------------------------------------------------------- /components/icon/Discord.vue: -------------------------------------------------------------------------------- 1 | 2 | 19 | 20 | 21 | 28 | 29 | 34 | -------------------------------------------------------------------------------- /components/leaderboard/TopUserCard.vue: -------------------------------------------------------------------------------- 1 | 2 |11 | {{ user?.rank }}st 12 | nd 13 | rd 14 |
15 | 16 |17 | {{ user?.user?.display_name.split()[0] ?? "" }} 18 |
19 |{{ t("Headings.Score") }} {{ user?.score }}
20 |4 | {{ t("Headings.Result", { n: quantity }, quantity) }} 5 |
6 | 7 |{{ t(text) }}
9 |
11 |
12 |
19 | {{ t("Headings.Time") }}:
15 | {{ t("Headings.Memory") }}:
20 | {{ t("Headings.XP") }}:
21 |
{{ t("Headings.Coins") }}:
{{ value }}
10 |{{ description }}
17 |{{ t("Inputs.Description") }}
4 |{{ t("Headings.EvaluatorCode") }}
7 |{{ t("Inputs.SolutionEnvironment") }}
10 |{{ t("Headings.SolutionCode") }}
14 |27 | {{ advanceSettings ? "Hide Settings" : "Advance Settings" }} 28 |
29 |{{ description }}
6 |{{ t("Error.NoDescriptionAvailable") }}
7 |
10 | 4 | {{ t("Headings.PremiumEndsIn") }} 5 |
6 |7 | {{ countdown }} 8 |
9 |11 | {{ t("Body.VerifyAccountCard") }} 12 |
13 | 14 |8 | {{ t("Body.NotRecommended") }} 9 |
10 | 11 |17 | {{ show ? t("Body.NoMoreIncreaseSecurity") : t("Body.IncreasedSecurity") }} 18 |
19 |