New desktop
This commit is contained in:
83
partials/desktop/shell.php
Normal file
83
partials/desktop/shell.php
Normal file
@@ -0,0 +1,83 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
$payloadJson = json_encode($desktopPayload, JSON_THROW_ON_ERROR | JSON_PRETTY_PRINT);
|
||||
$activeSkin = $desktopPayload['meta']['active_skin'];
|
||||
$wallpaper = $desktopPayload['desktop']['wallpaper'];
|
||||
?><!DOCTYPE html>
|
||||
<html lang="de">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title><?= htmlspecialchars($desktopPayload['meta']['title'], ENT_QUOTES) ?></title>
|
||||
<link rel="stylesheet" href="/assets/desktop/desktop.css">
|
||||
</head>
|
||||
<body data-skin="<?= htmlspecialchars($activeSkin, ENT_QUOTES) ?>" style="--wallpaper: <?= htmlspecialchars($wallpaper, ENT_QUOTES) ?>;">
|
||||
<div class="desktop-shell">
|
||||
<aside class="desktop-sidebar">
|
||||
<div>
|
||||
<p class="eyebrow">Kusche.Berlin</p>
|
||||
<h1>Desktop UI</h1>
|
||||
<p class="lede"><?= htmlspecialchars($desktopPayload['desktop']['greeting'], ENT_QUOTES) ?></p>
|
||||
</div>
|
||||
|
||||
<section class="panel">
|
||||
<h2>Skins</h2>
|
||||
<div class="skin-switcher">
|
||||
<?php foreach ($desktopPayload['meta']['available_skins'] as $skin): ?>
|
||||
<a class="skin-chip<?= $skin === $activeSkin ? ' is-active' : '' ?>" href="/?skin=<?= urlencode($skin) ?>">
|
||||
<?= htmlspecialchars(ucfirst($skin), ENT_QUOTES) ?>
|
||||
</a>
|
||||
<?php endforeach; ?>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="panel">
|
||||
<h2>V1 Scope</h2>
|
||||
<ul class="fact-list">
|
||||
<li>Desktop-Shell auf Root</li>
|
||||
<li>Fenster-Manager vorbereitet</li>
|
||||
<li>App-Registry zentral konfiguriert</li>
|
||||
<li>Public Home und persoenliche Workspaces vorgesehen</li>
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
<section class="panel">
|
||||
<h2>Keycloak</h2>
|
||||
<p>Desktop-Login bleibt Keycloak-basiert, bekommt aber ein eigenes Theme.</p>
|
||||
<a class="text-link" href="/../docs/keycloak-theme-handoff.md">Theme-Handoff ansehen</a>
|
||||
</section>
|
||||
</aside>
|
||||
|
||||
<main class="desktop-stage">
|
||||
<div class="desktop-icons" id="desktop-icons"></div>
|
||||
|
||||
<div class="widget-zone">
|
||||
<?php foreach ($desktopPayload['widgets'] as $widget): ?>
|
||||
<article class="widget-card">
|
||||
<h3><?= htmlspecialchars($widget['title'], ENT_QUOTES) ?></h3>
|
||||
<p><?= htmlspecialchars($widget['content'], ENT_QUOTES) ?></p>
|
||||
</article>
|
||||
<?php endforeach; ?>
|
||||
</div>
|
||||
|
||||
<div class="window-layer" id="window-layer"></div>
|
||||
|
||||
<footer class="taskbar">
|
||||
<button class="start-button" id="start-button" type="button">Menu</button>
|
||||
<div class="taskbar-apps" id="taskbar-apps"></div>
|
||||
<div class="tray">
|
||||
<?php foreach ($desktopPayload['tray'] as $trayItem): ?>
|
||||
<span class="tray-pill"><?= htmlspecialchars($trayItem['label'], ENT_QUOTES) ?></span>
|
||||
<?php endforeach; ?>
|
||||
<time id="clock"></time>
|
||||
</div>
|
||||
</footer>
|
||||
</main>
|
||||
</div>
|
||||
|
||||
<script id="desktop-payload" type="application/json"><?= $payloadJson ?></script>
|
||||
<script src="/assets/desktop/desktop.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
8
partials/landingpages/admin/apps.php
Normal file
8
partials/landingpages/admin/apps.php
Normal file
@@ -0,0 +1,8 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
return [
|
||||
'title' => 'Admin Apps',
|
||||
'description' => 'Verwaltung von Apps, Widgets, Integrationen und Suchmaschinen als Desktop-App.',
|
||||
];
|
||||
8
partials/landingpages/auth/login.php
Normal file
8
partials/landingpages/auth/login.php
Normal file
@@ -0,0 +1,8 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
return [
|
||||
'title' => 'Desktop Login',
|
||||
'description' => 'Spaeterer Uebergabepunkt fuer das Keycloak-Theme im Desktop-Look.',
|
||||
];
|
||||
8
partials/landingpages/public/home.php
Normal file
8
partials/landingpages/public/home.php
Normal file
@@ -0,0 +1,8 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
return [
|
||||
'title' => 'Public Home Dashboard',
|
||||
'description' => 'Oeffentliche Desktop-Startansicht fuer Gaeste.',
|
||||
];
|
||||
3
partials/structure/layout_end.php
Normal file
3
partials/structure/layout_end.php
Normal file
@@ -0,0 +1,3 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
3
partials/structure/layout_start.php
Normal file
3
partials/structure/layout_start.php
Normal file
@@ -0,0 +1,3 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
Reference in New Issue
Block a user