dok/views/index.ejs
2026-03-12 14:37:22 +00:00

204 lines
4.1 KiB
Plaintext

<!doctype html>
<html lang="de">
<head>
<meta charset="UTF-8" />
<title>Dynasty of Knights</title>
<link rel="icon" href="/favicon/dok_favicon_16px.ico" sizes="16x16">
<link rel="icon" href="/favicon/dok_favicon_32px.ico" sizes="32x32">
<link rel="icon" href="/favicon/dok_favicon_64px.ico" sizes="64x64">
<link rel="icon" href="/favicon/dok_favicon_128px.ico" sizes="128x128">
<link rel="stylesheet" href="/css/global.css">
<style>
* {
box-sizing: border-box;
font-family: "Tangerine", serif;
}
body {
margin: 0;
min-height: 100vh;
background: url("/images/background_login.png") center / cover no-repeat fixed;
display: flex;
justify-content: center;
align-items: center;
}
/* Nebel über Tal */
.fog {
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 40%;
z-index: 0;
pointer-events: none;
}
@keyframes fogmove {
0% {
transform: translateX(0);
}
100% {
transform: translateX(-50%);
}
}
/* Login Panel */
.launcher {
width: 380px;
padding: 30px;
position: relative;
z-index: 2;
font-family: "Tangerine", serif;
font-size: 16px;
background: rgba(10, 15, 20, 0.75);
backdrop-filter: blur(10px);
border-radius: 10px;
border: 1px solid rgba(100, 170, 255, 0.4);
box-shadow:
0 0 40px rgba(0, 0, 0, 0.8),
0 0 20px rgba(70, 120, 255, 0.5);
}
/* Inputs */
input,
select,
button,
.register,
.server-status {
width: 100%;
padding: 13px;
font-size: 24px;
margin-bottom: 15px;
font-family: "Tangerine", serif;
background: rgba(255, 255, 255, 0.08);
border: 1px solid rgba(255, 255, 255, 0.15);
border-radius: 6px;
color: white;
}
/* Login Button */
.login {
width: 100%;
padding: 14px;
font-size: 32px;
background: linear-gradient(45deg, #3da2ff, #7dd3ff);
border: none;
border-radius: 6px;
font-weight: bold;
cursor: pointer;
transition: 0.25s;
}
.login:hover {
transform: scale(1.05);
box-shadow:
0 0 20px #4aa3ff,
0 0 40px #4aa3ff;
}
/* Register */
.register {
display: block;
text-align: center;
margin-top: 10px;
color: #ccc;
text-decoration: none;
}
.register:hover {
color: white;
}
/* Server Status */
.server-status {
margin-top: 18px;
font-size: 24px;
padding: 10px;
background: rgba(0, 0, 0, 0.45);
border-radius: 6px;
}
.online {
color: #3cff5a;
}
.offline {
color: #ff4b4b;
}
</style>
</head>
<body>
<div class="fog"></div>
<div class="launcher">
<form action="/login" method="POST">
<select name="server_id">
<% servers.forEach(server => { %>
<option value="<%= server.id %>">
<%= server.name %>
</option>
<% }) %>
<% extraServers.forEach(server => { %>
<option disabled>
<%= server.name %> (Offline)
</option>
<% }) %>
</select>
<input type="text" name="username" placeholder="Username" required />
<input type="password" name="password" placeholder="Password" required />
<button type="submit" class="login">
Login
</button>
</form>
<a class="register" href="/register">
Account registrieren
</a>
<div class="server-status">
<% servers.forEach(server => { %>
<%= server.name %>:
<span class="online">Online</span><br>
<% }) %>
<% extraServers.forEach(server => { %>
<%= server.name %>:
<span class="offline">Offline</span><br>
<% }) %>
</div>
</div>
</body>
</html>