113 lines
2.5 KiB
HTML
113 lines
2.5 KiB
HTML
<!doctype html>
|
|
<html lang="en">
|
|
|
|
<head>
|
|
<meta charset="UTF-8" />
|
|
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
<title>tasgrid</title>
|
|
<script>
|
|
(function () {
|
|
const storedTheme = localStorage.getItem("tasgrid-theme");
|
|
const systemTheme = window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light";
|
|
const theme = (storedTheme === "system" || !storedTheme) ? systemTheme : storedTheme;
|
|
document.documentElement.classList.add(theme);
|
|
})();
|
|
</script>
|
|
<style>
|
|
:root {
|
|
--bg-light: #ffffff;
|
|
--bg-dark: #020617;
|
|
--primary: #0f172a;
|
|
--primary-dark: #f8fafc;
|
|
}
|
|
|
|
html.dark {
|
|
--bg: var(--bg-dark);
|
|
--text: var(--primary-dark);
|
|
}
|
|
|
|
html.light {
|
|
--bg: var(--bg-light);
|
|
--text: var(--primary);
|
|
}
|
|
|
|
body {
|
|
margin: 0;
|
|
padding: 0;
|
|
background-color: var(--bg);
|
|
color: var(--text);
|
|
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
|
|
}
|
|
|
|
#splash {
|
|
position: fixed;
|
|
inset: 0;
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
justify-content: center;
|
|
z-index: 9999;
|
|
background-color: var(--bg);
|
|
}
|
|
|
|
.logo-text {
|
|
font-size: 2.5rem;
|
|
font-weight: 800;
|
|
letter-spacing: -0.05em;
|
|
margin-bottom: 1rem;
|
|
opacity: 0;
|
|
transform: translateY(10px);
|
|
animation: slideUpFade 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards;
|
|
}
|
|
|
|
.loader-bar {
|
|
width: 140px;
|
|
height: 2px;
|
|
background: rgba(128, 128, 128, 0.2);
|
|
border-radius: 99px;
|
|
overflow: hidden;
|
|
position: relative;
|
|
}
|
|
|
|
.loader-progress {
|
|
position: absolute;
|
|
height: 100%;
|
|
width: 30%;
|
|
background: var(--text);
|
|
border-radius: 99px;
|
|
animation: progressMove 1.5s infinite ease-in-out;
|
|
}
|
|
|
|
@keyframes slideUpFade {
|
|
to {
|
|
opacity: 1;
|
|
transform: translateY(0);
|
|
}
|
|
}
|
|
|
|
@keyframes progressMove {
|
|
0% {
|
|
left: -30%;
|
|
}
|
|
|
|
100% {
|
|
left: 100%;
|
|
}
|
|
}
|
|
</style>
|
|
</head>
|
|
|
|
<body>
|
|
<div id="root">
|
|
<div id="splash">
|
|
<div class="logo-text">Tasgrid</div>
|
|
<div class="loader-bar">
|
|
<div class="loader-progress"></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<script type="module" src="/src/index.tsx"></script>
|
|
</body>
|
|
|
|
</html> |