diff --git a/apps/website/src/index.html b/apps/website/src/index.html index dfd610b..22e93dd 100644 --- a/apps/website/src/index.html +++ b/apps/website/src/index.html @@ -2,11 +2,12 @@ + Title - +
@@ -23,10 +24,6 @@
- + diff --git a/apps/website/src/style.css b/apps/website/src/style.css index ca24238..ddc7070 100644 --- a/apps/website/src/style.css +++ b/apps/website/src/style.css @@ -1,12 +1,17 @@ -#nanoforge-loader { - height: 100%; +html, +body { width: 100%; - left: 0; - top: 0; + height: 100%; + margin: 0; + overflow: hidden; +} + +#nanoforge-loader { + inset: 0; background-color: oklch(0.21 0.034 264.665); font-weight: bold; color: white; - position: absolute; + position: fixed; z-index: 1000; display: flex; flex-direction: column; @@ -15,6 +20,15 @@ gap: 20px; } +#nanoforge-loader[hidden] { + display: none !important; +} + +#nanoforge-container { + position: fixed; + inset: 0; +} + #loader-logo { height: 125px; width: 125px; @@ -34,7 +48,7 @@ #loading-bar { height: 12px; - width: 500px; + width: min(500px, 80vw); border-radius: 10px; background-color: rgba(255, 255, 255, 0.2); overflow: hidden; diff --git a/apps/website/src/window.ts b/apps/website/src/window.ts index b4a3996..5cdbb5c 100644 --- a/apps/website/src/window.ts +++ b/apps/website/src/window.ts @@ -6,18 +6,26 @@ import { Logger } from "./utils/logger.utils"; const logger: Logger = new Logger("Window"); let totalFiles = 0; +const FADE_OUT_DURATION_MS = 1000; + export const changeWindowToGame = async () => { - setHiddenStatusOnId(IDS.loader, true); setHiddenStatusOnId(IDS.container, false); await delay(500); const loader = document.getElementById(IDS.loader); if (loader) loader.classList.add("fade-out"); + await delay(FADE_OUT_DURATION_MS); + setHiddenStatusOnId(IDS.loader, true); logger.info("Change window to game"); }; -export const changeWindowToLoader = async () => { +const showLoader = () => { setHiddenStatusOnId(IDS.container, true); + document.getElementById(IDS.loader)?.classList.remove("fade-out"); setHiddenStatusOnId(IDS.loader, false); +}; + +export const changeWindowToLoader = async () => { + showLoader(); logger.info("Change window to loader"); }; @@ -44,8 +52,7 @@ export const setError = (error: string | Error | unknown) => { const errorMessage = error instanceof Error ? error.message : String(error); loaderErrorMessage.innerText = errorMessage; - setHiddenStatusOnId(IDS.container, true); - setHiddenStatusOnId(IDS.loader, false); + showLoader(); setHiddenStatusOnId(IDS.loadingStatus, true); setHiddenStatusOnId(IDS.loaderError, false);