mirror of
https://github.com/MasterAcnolo/Freedom-Loader.git
synced 2026-07-29 18:25:47 +02:00
Feat: Implement splash screen with progress indicators during startup
This commit is contained in:
94
public/splash.html
Normal file
94
public/splash.html
Normal file
@@ -0,0 +1,94 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<style>
|
||||
* { margin: 0; padding: 0; box-sizing: border-box; }
|
||||
html, body {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background: transparent;
|
||||
overflow: hidden;
|
||||
}
|
||||
.splash-container {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background: #D9D9D9;
|
||||
border-radius: 12px;
|
||||
overflow: hidden;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
gap: 28px;
|
||||
font-family: "Segoe UI", sans-serif;
|
||||
}
|
||||
.progress-wrapper {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
}
|
||||
.progress-track {
|
||||
width: 180px;
|
||||
height: 3px;
|
||||
background: #d0d0d0;
|
||||
border-radius: 99px;
|
||||
overflow: hidden;
|
||||
}
|
||||
.progress-bar {
|
||||
height: 100%;
|
||||
width: 0%;
|
||||
background: #1a1a1a;
|
||||
border-radius: 99px;
|
||||
transition: width 0.3s ease;
|
||||
}
|
||||
.status {
|
||||
font-size: 14px;
|
||||
color: #6d6d6d;
|
||||
letter-spacing: 0.5px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="splash-container">
|
||||
<img src="../build/banner.png" alt="Freedom Loader" style="width: 90%;">
|
||||
<div class="progress-wrapper">
|
||||
<div class="progress-track">
|
||||
<div class="progress-bar" id="progress-bar"></div>
|
||||
</div>
|
||||
<span class="status" id="status">Starting...</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
const steps = [
|
||||
"Checking dependencies...",
|
||||
"Starting server...",
|
||||
"Loading themes...",
|
||||
"Almost ready...",
|
||||
];
|
||||
let current = 0;
|
||||
const bar = document.getElementById("progress-bar");
|
||||
const status = document.getElementById("status");
|
||||
|
||||
function advance(label, percent) {
|
||||
bar.style.width = percent + "%";
|
||||
status.textContent = label;
|
||||
}
|
||||
|
||||
window.setProgress = (step) => {
|
||||
if (step >= steps.length) {
|
||||
advance("", 100);
|
||||
return;
|
||||
}
|
||||
const percent = Math.round(((step + 1) / steps.length) * 100);
|
||||
advance(steps[step], percent);
|
||||
};
|
||||
|
||||
window.setProgress(0);
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user