41 lines
1.8 KiB
HTML
41 lines
1.8 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<title>Login</title>
|
|
<style>
|
|
*{margin:0;padding:0;box-sizing:border-box}
|
|
body{font-family:monospace;padding:40px;background:white;color:black}
|
|
h1{margin-bottom:20px}
|
|
.box{border:1px solid black;padding:20px;max-width:500px}
|
|
button{border:1px solid black;background:white;padding:8px 16px;cursor:pointer;font-family:monospace}
|
|
button:hover{background:black;color:white}
|
|
input[type="text"]{width:100%;font-family:monospace;border:1px solid black;padding:8px;margin-bottom:10px}
|
|
#status{margin-top:10px}
|
|
.nav{margin-top:40px;font-size:12px}
|
|
a{color:black}
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<h1>Login</h1>
|
|
<div class="box">
|
|
<p style="margin-bottom:10px">Enter your upload token:</p>
|
|
<input type="text" id="tokenInput" placeholder="Paste token here">
|
|
<button onclick="save()">Save</button>
|
|
<button onclick="clear_()">Clear</button>
|
|
<div id="status"></div>
|
|
</div>
|
|
<div class="nav"><a href="/">Home</a> | <a href="/speedtest">Speed Test</a> | <a id="navAuth" href="/login">Login</a> | <a href="/terms">Terms</a> | <a href="/privacy">Privacy</a></div>
|
|
<script>
|
|
const input=document.getElementById('tokenInput');
|
|
const status=document.getElementById('status');
|
|
const nav=document.getElementById('navAuth');
|
|
const saved=localStorage.getItem('upload_token');
|
|
function updateNav(){if(localStorage.getItem('upload_token')){nav.href='/dashboard';nav.textContent='Dashboard'}else{nav.href='/login';nav.textContent='Login'}}
|
|
if(saved){input.value=saved;status.textContent='Token loaded from storage.'}
|
|
updateNav();
|
|
function save(){const t=input.value.trim();if(t){localStorage.setItem('upload_token',t);status.innerHTML='Saved. <a href="/dashboard">Open dashboard</a>.';updateNav()}else status.textContent='Enter a token first.'}
|
|
function clear_(){localStorage.removeItem('upload_token');input.value='';status.textContent='Cleared.';updateNav()}
|
|
</script>
|
|
</body>
|
|
</html>
|