From 381ee144c5138098c3c4567d65fde7fb2c391805 Mon Sep 17 00:00:00 2001 From: Miodec Date: Mon, 19 Jun 2023 21:33:51 +0200 Subject: [PATCH] added page name type --- frontend/src/ts/pages/page.ts | 4 ++-- frontend/src/ts/states/active-page.ts | 6 +++--- frontend/src/ts/types/types.d.ts | 11 +++++++++++ 3 files changed, 16 insertions(+), 5 deletions(-) diff --git a/frontend/src/ts/pages/page.ts b/frontend/src/ts/pages/page.ts index 029bb86e8..509e46c52 100644 --- a/frontend/src/ts/pages/page.ts +++ b/frontend/src/ts/pages/page.ts @@ -4,7 +4,7 @@ interface Options { } export default class Page { - public name: string; + public name: MonkeyTypes.PageName; public element: JQuery; public pathname: string; public beforeHide: () => Promise; @@ -12,7 +12,7 @@ export default class Page { public beforeShow: (options: Options) => Promise; public afterShow: () => Promise; constructor( - name: string, + name: MonkeyTypes.PageName, element: JQuery, pathname: string, beforeHide: () => Promise, diff --git a/frontend/src/ts/states/active-page.ts b/frontend/src/ts/states/active-page.ts index 5bc975c65..5977afbcb 100644 --- a/frontend/src/ts/states/active-page.ts +++ b/frontend/src/ts/states/active-page.ts @@ -1,9 +1,9 @@ -let activePage = "loading"; +let activePage: MonkeyTypes.PageName = "loading"; -export function get(): string { +export function get(): MonkeyTypes.PageName { return activePage; } -export function set(active: string): void { +export function set(active: MonkeyTypes.PageName): void { activePage = active; } diff --git a/frontend/src/ts/types/types.d.ts b/frontend/src/ts/types/types.d.ts index 619665b12..d33aae359 100644 --- a/frontend/src/ts/types/types.d.ts +++ b/frontend/src/ts/types/types.d.ts @@ -1,6 +1,17 @@ type typesSeparatedWithHash = T | `${T}#${typesSeparatedWithHash}`; declare namespace MonkeyTypes { + type PageName = + | "loading" + | "test" + | "settings" + | "about" + | "account" + | "login" + | "profile" + | "profileSearch" + | "404"; + type Difficulty = "normal" | "expert" | "master"; type Mode = keyof PersonalBests;