diff --git a/src/alu.d.ts b/src/alu.d.ts index 21fe8ac..f044888 100644 --- a/src/alu.d.ts +++ b/src/alu.d.ts @@ -6,6 +6,7 @@ export declare global { namespace Alu { let store: AluStore; + let eventList: Record; let settings: { loadedContentStorage: Record; currentTab: string; diff --git a/src/components/ProxyRegistrar.astro b/src/components/ProxyRegistrar.astro index 0e7f766..832c171 100644 --- a/src/components/ProxyRegistrar.astro +++ b/src/components/ProxyRegistrar.astro @@ -2,14 +2,15 @@ import { TransportMgr, initTransport } from "./ts/TransportManager"; import "notyf/notyf.min.css"; import { Notyf } from "notyf"; + import EventMgr from "./ts/EventMgr"; const form = document.querySelector("form"); let input = document.querySelector("input")!; - document.addEventListener("astro:after-swap", initForm); + EventMgr.listen("astro:after-swap", initForm); function initForm() { const formEle = document.querySelector("form") as HTMLFormElement; input = document.querySelector("input") as HTMLInputElement; - if (formEle) formEle.addEventListener("submit", formEventListener); + if (formEle) EventMgr.listen("submit", formEventListener, formEle); } if (form) { form.addEventListener("submit", formEventListener); diff --git a/src/components/UI/Header.astro b/src/components/UI/Header.astro index 37af74f..cf09cc3 100644 --- a/src/components/UI/Header.astro +++ b/src/components/UI/Header.astro @@ -10,9 +10,10 @@ const t = i18n.useTranslations(lang); Alu Logo{t("nav.brand")} @@ -37,9 +38,12 @@ const t = i18n.useTranslations(lang); box-shadow: -2px 5px 10px 0 var(--accent-color); } - @media (max-width: 425px) { + @media (max-width: 600px) { .title-background { - padding-inline: 1.5rem; + padding-inline: 0.5rem; + } + .right > a:first-child { + display: none; } } @@ -47,7 +51,7 @@ const t = i18n.useTranslations(lang); .right { display: flex; align-items: center; - gap: 20px; + gap: 10px; } .header-item { diff --git a/src/components/ts/Alu.ts b/src/components/ts/Alu.ts index 0023f9e..f3cc4cd 100644 --- a/src/components/ts/Alu.ts +++ b/src/components/ts/Alu.ts @@ -4,6 +4,7 @@ function instantiateAlu() { if (globalThis.Alu) return; globalThis.Alu = { store: new AluStore(), + eventList: {}, settings: { loadedContentStorage: {}, currentTab: "", diff --git a/src/components/ts/EventMgr.ts b/src/components/ts/EventMgr.ts new file mode 100644 index 0000000..a113fce --- /dev/null +++ b/src/components/ts/EventMgr.ts @@ -0,0 +1,21 @@ +class EventMgr { + static listen(name: string, listener: EventListener, target?: EventTarget, opts: AddEventListenerOptions = {}) { + window.Alu.eventList[name] = listener; + (target || document).addEventListener(name, listener, opts); + + return { + name: name, + listener: listener + }; + } + + static remove(event: { name: string, listener: EventListener }, target?: EventTarget) { + (target || document).removeEventListener(event.name, event.listener); + } + + static dispatch(name: string, detail?: any, target?: EventTarget) { + (target || document).dispatchEvent(new CustomEvent(name, { detail: detail })); + } +} + +export default EventMgr; \ No newline at end of file diff --git a/src/components/ts/settings.ts b/src/components/ts/settings.ts index fb11472..e226528 100644 --- a/src/components/ts/settings.ts +++ b/src/components/ts/settings.ts @@ -1,3 +1,5 @@ +import EventMgr from "./EventMgr"; + // Alu.settings.loadedContentStorage = {}; document.addEventListener("astro:before-swap", () => { Alu.settings.currentTab = ""; @@ -28,7 +30,7 @@ function loadContent(tabID: string) { setTimeout(() => { currentContent.innerHTML = Alu.settings.loadedContentStorage[tabID]; currentContent.style.opacity = "1"; - document.dispatchEvent(new CustomEvent("setting-tabLoad", { detail: tabID })); + EventMgr.dispatch("setting-tabLoad", tabID); }, 250); } } diff --git a/src/layouts/Layout.astro b/src/layouts/Layout.astro index 71c4796..cac7c12 100644 --- a/src/layouts/Layout.astro +++ b/src/layouts/Layout.astro @@ -147,6 +147,12 @@ const DESCRIPTION = conic-gradient(from 60deg at calc(200% / 3), var(--c3) 60deg, var(--c2) 0 120deg, #0000 0), conic-gradient(from 180deg at calc(100% / 3), var(--c1) 60deg, var(--_g)), linear-gradient(90deg, var(--c1) calc(100% / 6), var(--c2) 0 50%, var(--c1) 0 calc(500% / 6), var(--c2) 0); background-size: calc(1.732 * var(--s)) var(--s); + + scrollbar-width: none; + + &::-webkit-scrollbar { + display: none; + } } html[data-theme="macchiato"], @@ -209,9 +215,6 @@ const DESCRIPTION = color: var(--text-color); text-align: center; } - ::-webkit-scrollbar { - display: none; - } #proxy-frame { display: block; position: absolute; diff --git a/src/pages/[lang]/donate.astro b/src/pages/[lang]/donate.astro new file mode 100644 index 0000000..44b2d4d --- /dev/null +++ b/src/pages/[lang]/donate.astro @@ -0,0 +1,69 @@ +--- +import Link from "@components/UI/Link.astro"; +import { STATIC_PATHS } from "@i18n/utils"; +import Layout from "src/layouts/Layout.astro"; + +// const t = i18n.inferLangUseTranslations(Astro.url); + +export const prerender = true; + +export function getStaticPaths() { + return STATIC_PATHS; +} +--- + + +
+

Donating to Alu

+ + + + + +
+
\ No newline at end of file