sdsdf
All checks were successful
Deploy / deploy-staging (push) Successful in 24s
Deploy / deploy-production (push) Has been skipped

This commit is contained in:
2026-06-20 01:30:57 +02:00
parent 1286f2245a
commit fc4567688a
4 changed files with 44 additions and 50 deletions

View File

@@ -51,6 +51,7 @@ return [
'content_mode' => 'native-module',
'default_width' => 980,
'default_height' => 700,
'show_on_desktop' => false,
'supports_widget' => true,
'supports_tray' => false,
'module_name' => 'desktop',

View File

@@ -100,18 +100,23 @@ $renderStartIcon = static function (array $profile): string {
<div class="window-layer" id="window-layer"></div>
<section class="start-menu" id="start-menu" hidden>
<div class="start-menu-user-settings" id="start-menu-user-settings">
<button class="start-menu-settings-button" id="start-menu-settings-button" type="button">
<span class="start-menu-settings-icon" aria-hidden="true">⚙</span>
<span>Einstellungen</span>
</button>
<div class="start-menu-sidebar" id="start-menu-user-settings">
<button class="start-menu-user-card" id="start-menu-user-card" type="button">
<span class="start-menu-user-avatar" id="start-menu-user-avatar">GU</span>
<span class="start-menu-user-copy">
<strong id="start-menu-user-name"><?= htmlspecialchars((string) ($desktopPayload['session']['display_name'] ?? 'Gast'), ENT_QUOTES) ?></strong>
<small>User Setting Bereich</small>
<small>Benutzer</small>
</span>
</button>
<div class="start-menu-function-list" id="start-menu-functions">
<button class="start-menu-function is-active" type="button" data-function-id="programs">
<span class="start-menu-function-icon" aria-hidden="true">📁</span>
<span class="start-menu-function-copy">
<strong>Programme</strong>
<small>Installierte Apps</small>
</span>
</button>
</div>
<?php if (($desktopPayload['session']['authenticated'] ?? false) === true && !empty($desktopPayload['session']['logout_url'])): ?>
<a class="start-menu-session-action is-logout" id="start-menu-session-action" href="<?= htmlspecialchars((string) $desktopPayload['session']['logout_url'], ENT_QUOTES) ?>">
<span class="start-menu-session-icon" aria-hidden="true">⏻</span>
@@ -124,20 +129,8 @@ $renderStartIcon = static function (array $profile): string {
</button>
<?php endif; ?>
</div>
<div class="start-menu-function-area">
<div class="start-menu-section-title">Funktion-Bereich</div>
<div class="start-menu-function-list" id="start-menu-functions">
<button class="start-menu-function is-active" type="button" data-function-id="programs">
<span class="start-menu-function-icon" aria-hidden="true">📁</span>
<span class="start-menu-function-copy">
<strong>Programme</strong>
<small>Installierte Apps</small>
</span>
</button>
</div>
</div>
<div class="start-menu-selection-area">
<div class="start-menu-section-title">Auswahlbereich</div>
<div class="start-menu-selection-area start-menu-selection-area--programs">
<div class="start-menu-selection-header" id="start-menu-selection-header"></div>
<div class="start-menu-selection-list" id="start-menu-apps"></div>
</div>
</section>

View File

@@ -954,7 +954,7 @@ h1 {
z-index: 130;
display: grid;
align-content: stretch;
grid-template-columns: minmax(220px, 250px) minmax(180px, 220px) minmax(320px, 1fr);
grid-template-columns: minmax(240px, 280px) minmax(420px, 1fr);
gap: 0;
width: min(920px, calc(100% - 48px));
min-height: 560px;
@@ -979,14 +979,13 @@ h1 {
display: none !important;
}
.start-menu-user-settings,
.start-menu-function-area,
.start-menu-sidebar,
.start-menu-selection-area {
display: grid;
align-content: start;
}
.start-menu-user-settings {
.start-menu-sidebar {
grid-template-rows: auto auto 1fr auto;
gap: 16px;
padding: 20px 16px 16px;
@@ -994,28 +993,12 @@ h1 {
border-right: 1px solid rgba(255, 255, 255, 0.06);
}
.start-menu-function-area {
gap: 14px;
padding: 20px 14px;
background: rgba(36, 36, 42, 0.98);
border-right: 1px solid rgba(255, 255, 255, 0.06);
}
.start-menu-selection-area {
gap: 14px;
padding: 20px 16px;
background: linear-gradient(180deg, rgba(40, 40, 46, 0.98), rgba(33, 33, 38, 0.98));
}
.start-menu-section-title {
font-size: 12px;
font-weight: 700;
letter-spacing: 0.12em;
text-transform: uppercase;
color: rgba(248, 250, 252, 0.66);
}
.start-menu-settings-button,
.start-menu-user-card,
.start-menu-session-action,
.start-menu-function,
@@ -1037,7 +1020,6 @@ h1 {
transition: background-color 140ms ease, border-color 140ms ease, transform 140ms ease;
}
.start-menu-settings-button:hover,
.start-menu-user-card:hover,
.start-menu-session-action:hover,
.start-menu-function:hover,
@@ -1051,7 +1033,6 @@ h1 {
transform: translateX(2px);
}
.start-menu-settings-icon,
.start-menu-function-icon,
.start-menu-session-icon,
.start-menu-entry-badge,
@@ -1110,6 +1091,11 @@ h1 {
align-content: start;
}
.start-menu-selection-header {
display: grid;
gap: 10px;
}
.start-menu-selection-list {
max-height: 520px;
padding-right: 4px;
@@ -1143,6 +1129,11 @@ h1 {
font-weight: 700;
}
.start-menu-function--summary {
cursor: default;
transform: none !important;
}
.start-menu-session-action {
margin-top: auto;
}
@@ -1319,8 +1310,7 @@ h1 {
grid-template-columns: 1fr;
}
.start-menu-user-settings,
.start-menu-function-area {
.start-menu-sidebar {
border-right: 0;
border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

View File

@@ -10,8 +10,8 @@ if (payloadNode) {
const startButton = document.getElementById('start-button');
const startMenu = document.getElementById('start-menu');
const startMenuApps = document.getElementById('start-menu-apps');
const startMenuSelectionHeader = document.getElementById('start-menu-selection-header');
const startMenuFunctions = document.getElementById('start-menu-functions');
const startMenuSettingsButton = document.getElementById('start-menu-settings-button');
const startMenuUserCard = document.getElementById('start-menu-user-card');
const startMenuUserName = document.getElementById('start-menu-user-name');
const startMenuUserAvatar = document.getElementById('start-menu-user-avatar');
@@ -1178,6 +1178,18 @@ if (payloadNode) {
return;
}
if (startMenuSelectionHeader) {
startMenuSelectionHeader.innerHTML = `
<div class="start-menu-function is-active start-menu-function--summary">
<span class="start-menu-function-icon" aria-hidden="true">📁</span>
<span class="start-menu-function-copy">
<strong>Programme</strong>
<small>Installierte Apps</small>
</span>
</div>
`;
}
startMenuApps.innerHTML = '';
if (activeFunctionArea !== 'programs') {
@@ -1252,7 +1264,9 @@ if (payloadNode) {
renderSelectionArea();
};
payload.apps.forEach((app) => {
payload.apps
.filter((app) => app.show_on_desktop !== false)
.forEach((app) => {
const icon = document.createElement('button');
icon.type = 'button';
icon.className = 'desktop-icon is-contrast-dark';
@@ -1346,10 +1360,6 @@ if (payloadNode) {
}
});
startMenuSettingsButton?.addEventListener('click', () => {
openAccountSettings();
});
startMenuUserCard?.addEventListener('click', () => {
openAccountSettings();
});