mirror of
https://github.com/GMWalletApp/epusdt.git
synced 2026-07-07 18:26:16 +00:00
09514a6946
- skip SPA fallback for `/install` and `/install/*` in main server - keep install wizard accessible only during `RunInstallServer` phase - prevent post-install access to install UI
216 lines
7.1 KiB
HTML
216 lines
7.1 KiB
HTML
<!doctype html>
|
|
<html lang="en-US" data-mode="system">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<meta name="color-scheme" content="light dark">
|
|
<meta
|
|
name="theme-color"
|
|
content="#FFFFFF"
|
|
media="(prefers-color-scheme: light)"
|
|
>
|
|
<meta
|
|
name="theme-color"
|
|
content="#000000"
|
|
media="(prefers-color-scheme: dark)"
|
|
>
|
|
|
|
<link rel="manifest" href="/manifest.webmanifest">
|
|
<link rel="apple-touch-icon" href="/apple-touch-icon.png">
|
|
<link rel="icon" href="/favicon.ico" sizes="48x48">
|
|
<link rel="icon" href="/favicon-32x32.png" type="image/png" sizes="32x32">
|
|
<link rel="icon" href="/favicon-16x16.png" type="image/png" sizes="16x16">
|
|
|
|
<script id="app-bootstrap-script">
|
|
"use strict";
|
|
(() => {
|
|
window.__splashStart = Date.now();
|
|
|
|
const root = document.documentElement;
|
|
let resolved = "light";
|
|
try {
|
|
const cookieValue = document.cookie
|
|
.split("; ")
|
|
.find((row) => row.startsWith("theme="))
|
|
?.split("=")[1];
|
|
const stored =
|
|
cookieValue === "light" ||
|
|
cookieValue === "dark" ||
|
|
cookieValue === "system"
|
|
? cookieValue
|
|
: "system";
|
|
const prefersDark = window.matchMedia(
|
|
"(prefers-color-scheme: dark)"
|
|
).matches;
|
|
if (stored === "system") {
|
|
resolved = prefersDark ? "dark" : "light";
|
|
} else {
|
|
resolved = stored;
|
|
}
|
|
} catch {
|
|
// cookie access may be blocked in some environments
|
|
}
|
|
root.dataset.mode = resolved;
|
|
root.style.colorScheme = resolved;
|
|
})();
|
|
</script>
|
|
<style id="splash-style">
|
|
@keyframes splash-bar {
|
|
0% {
|
|
transform: translateX(-100%);
|
|
}
|
|
|
|
100% {
|
|
transform: translateX(600%);
|
|
}
|
|
}
|
|
|
|
#splash {
|
|
position: fixed;
|
|
inset: 0;
|
|
z-index: 9999;
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 2rem;
|
|
align-items: center;
|
|
justify-content: center;
|
|
height: 100dvh;
|
|
min-height: 100vh;
|
|
pointer-events: none;
|
|
background: #fff;
|
|
transition: opacity 0.3s ease;
|
|
}
|
|
|
|
#splash img {
|
|
border-radius: 1.5rem;
|
|
}
|
|
|
|
#splash-track {
|
|
width: 9rem;
|
|
height: 0.25rem;
|
|
overflow: hidden;
|
|
background: rgba(0, 0, 0, 0.15);
|
|
border-radius: 9999px;
|
|
}
|
|
|
|
#splash-bar {
|
|
display: block;
|
|
width: 1.5rem;
|
|
height: 100%;
|
|
background: #000;
|
|
border-radius: 9999px;
|
|
animation: splash-bar 0.8s ease-in-out infinite alternate;
|
|
}
|
|
|
|
@media (prefers-color-scheme: dark) {
|
|
#splash {
|
|
background: #000;
|
|
}
|
|
|
|
#splash-track {
|
|
background: rgba(255, 255, 255, 0.15);
|
|
}
|
|
|
|
#splash-bar {
|
|
background: #fff;
|
|
}
|
|
}
|
|
|
|
html[data-mode="dark"] #splash {
|
|
background: #000;
|
|
}
|
|
|
|
html[data-mode="dark"] #splash-track {
|
|
background: rgba(255, 255, 255, 0.15);
|
|
}
|
|
|
|
html[data-mode="dark"] #splash-bar {
|
|
background: #fff;
|
|
}
|
|
</style>
|
|
|
|
<!-- Primary Meta Tags -->
|
|
<title>GMPay</title>
|
|
<meta name="title" content="GMPay">
|
|
<meta
|
|
name="description"
|
|
content="GMPay 收款管理后台 - 多链 USDT 支付中间件管理面板"
|
|
>
|
|
|
|
<!-- Open Graph / Facebook -->
|
|
<meta property="og:type" content="website">
|
|
<meta property="og:url" content="">
|
|
<meta property="og:title" content="GMPay">
|
|
<meta
|
|
property="og:description"
|
|
content="GMPay 收款管理后台 - 多链 USDT 支付中间件管理面板"
|
|
>
|
|
<meta property="og:image" content="/images/logo.png">
|
|
|
|
<!-- Twitter -->
|
|
<meta name="twitter:card" content="summary_large_image">
|
|
<meta name="twitter:url" content="">
|
|
<meta name="twitter:title" content="GMPay">
|
|
<meta
|
|
name="twitter:description"
|
|
content="GMPay 收款管理后台 - 多链 USDT 支付中间件管理面板"
|
|
>
|
|
<meta name="twitter:image" content="/images/logo.png">
|
|
<script type="module" crossorigin src="/assets/index-Dn_1Oalx.js"></script>
|
|
<link rel="modulepreload" crossorigin href="/assets/messages-xqHXgrWc.js">
|
|
<link rel="modulepreload" crossorigin href="/assets/with-selector-DHnjcmG4.js">
|
|
<link rel="modulepreload" crossorigin href="/assets/useStore-8Xlx4tji.js">
|
|
<link rel="modulepreload" crossorigin href="/assets/ClientOnly-BerhZEDB.js">
|
|
<link rel="modulepreload" crossorigin href="/assets/button-BQECWbag.js">
|
|
<link rel="modulepreload" crossorigin href="/assets/dist-CxCGwIT8.js">
|
|
<link rel="modulepreload" crossorigin href="/assets/useRouter-DbizRCmt.js">
|
|
<link rel="modulepreload" crossorigin href="/assets/link-CKQegE2A.js">
|
|
<link rel="modulepreload" crossorigin href="/assets/matchContext-DOaBJYLs.js">
|
|
<link rel="modulepreload" crossorigin href="/assets/useSearch-B-Xmd3I2.js">
|
|
<link rel="modulepreload" crossorigin href="/assets/useNavigate-DSiROrTl.js">
|
|
<link rel="modulepreload" crossorigin href="/assets/redirect-dE0wk0WH.js">
|
|
<link rel="modulepreload" crossorigin href="/assets/route-CfqHSlRV.js">
|
|
<link rel="modulepreload" crossorigin href="/assets/_error-C4Q3lqci.js">
|
|
<link rel="modulepreload" crossorigin href="/assets/dist-DoGn2h1J.js">
|
|
<link rel="modulepreload" crossorigin href="/assets/dist-B8TJsLh2.js">
|
|
<link rel="modulepreload" crossorigin href="/assets/dist-B1wXypYC.js">
|
|
<link rel="modulepreload" crossorigin href="/assets/dist-DPqNmVyq.js">
|
|
<link rel="modulepreload" crossorigin href="/assets/dist-pzMFqYMR.js">
|
|
<link rel="modulepreload" crossorigin href="/assets/dist-BQFlyo06.js">
|
|
<link rel="modulepreload" crossorigin href="/assets/dist-4j1Lrjyz.js">
|
|
<link rel="modulepreload" crossorigin href="/assets/createLucideIcon-BjX75ffX.js">
|
|
<link rel="modulepreload" crossorigin href="/assets/cookies-BkW9sKRD.js">
|
|
<link rel="modulepreload" crossorigin href="/assets/wallet-D2a8vt6s.js">
|
|
<link rel="modulepreload" crossorigin href="/assets/dist-CD4kjzmO.js">
|
|
<link rel="modulepreload" crossorigin href="/assets/auth-store-Cp1Qr8YS.js">
|
|
<link rel="modulepreload" crossorigin href="/assets/Match-DWfHsy4k.js">
|
|
<link rel="modulepreload" crossorigin href="/assets/useRouterState-DFEDahj7.js">
|
|
<link rel="modulepreload" crossorigin href="/assets/atom-DI1Bn-1s.js">
|
|
<link rel="modulepreload" crossorigin href="/assets/circle-check-CZ7s_UaE.js">
|
|
<link rel="modulepreload" crossorigin href="/assets/clock-3-BQakovAl.js">
|
|
<link rel="modulepreload" crossorigin href="/assets/loader-circle-CENvL5ku.js">
|
|
<link rel="modulepreload" crossorigin href="/assets/zod-BnhDiB7H.js">
|
|
<link rel="modulepreload" crossorigin href="/assets/general-error-CAIDyDhH.js">
|
|
<link rel="modulepreload" crossorigin href="/assets/not-found-error-BKAx_mEr.js">
|
|
<link rel="modulepreload" crossorigin href="/assets/router-Dt_YKRJH.js">
|
|
<link rel="modulepreload" crossorigin href="/assets/Matches-BAMSv2s8.js">
|
|
<link rel="modulepreload" crossorigin href="/assets/font-provider-hqH5jrNZ.js">
|
|
<link rel="modulepreload" crossorigin href="/assets/theme-provider-CUq7mJXc.js">
|
|
<link rel="stylesheet" crossorigin href="/assets/index-CKEEJdVh.css">
|
|
<link rel="manifest" href="/manifest.webmanifest"><script id="vite-plugin-pwa:register-sw" src="/registerSW.js"></script></head>
|
|
|
|
<body>
|
|
<div id="app"></div>
|
|
<div id="splash">
|
|
<img
|
|
src="/images/logo.png"
|
|
fetchpriority="high"
|
|
alt="GM Wallet"
|
|
width="144"
|
|
height="144"
|
|
>
|
|
<div id="splash-track"><span id="splash-bar"></span></div>
|
|
</div>
|
|
</body>
|
|
</html>
|