first commit

This commit is contained in:
ChK
2026-02-02 18:38:32 +01:00
commit 6cef59775a
637 changed files with 68562 additions and 0 deletions

35
public/app.js Executable file
View File

@@ -0,0 +1,35 @@
const services = [
{
id: "abc",
name: "Control GamePad",
url: "https://thinkcentre.local:10010/"
},
{
id: "xyz",
name: "Guacamole",
url: "http://thinkcentre.local:8080/"
}
];
const nav = document.getElementById("services");
const grid = document.getElementById("service-grid");
services.forEach(svc => {
// Header Button
const btn = document.createElement("button");
btn.textContent = svc.name;
btn.onclick = () => go(svc);
nav.appendChild(btn);
// Card
const card = document.createElement("div");
card.className = "service-card";
card.textContent = svc.name;
card.onclick = () => go(svc);
grid.appendChild(card);
});
function go(service) {
localStorage.setItem("lastService", service.id);
window.location.href = service.url;
}

27
public/index.html Executable file
View File

@@ -0,0 +1,27 @@
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="utf-8" />
<title>Service Portal</title>
<link rel="stylesheet" href="style.css" />
</head>
<body>
<header id="header">
<div class="logo">schooltech</div>
<nav id="services">
<!-- dynamisch -->
</nav>
<div class="user">User</div>
</header>
<main>
<h1>Willkommen</h1>
<p>Bitte wählen Sie einen Service.</p>
<div id="service-grid"></div>
</main>
<script src="app.js"></script>
</body>
</html>

61
public/style.css Executable file
View File

@@ -0,0 +1,61 @@
* {
box-sizing: border-box;
font-family: system-ui, sans-serif;
}
body {
margin: 0;
background: #f5f6f8;
}
header {
position: fixed;
top: 0;
left: 0;
right: 0;
height: 64px;
display: flex;
align-items: center;
gap: 20px;
padding: 0 24px;
backdrop-filter: blur(6px);
background: rgba(0,0,0,0.35);
color: white;
z-index: 1000;
}
.logo {
font-weight: bold;
}
nav button {
background: transparent;
border: none;
color: white;
cursor: pointer;
padding: 8px 12px;
}
nav button:hover {
background: rgba(255,255,255,0.15);
border-radius: 6px;
}
main {
padding: 100px 40px;
}
#service-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
gap: 20px;
margin-top: 40px;
}
.service-card {
background: white;
padding: 20px;
border-radius: 10px;
cursor: pointer;
box-shadow: 0 4px 10px rgba(0,0,0,0.08);
}