diff --git a/config/apps.php b/config/apps.php index bf724e90..b8cbc0ae 100644 --- a/config/apps.php +++ b/config/apps.php @@ -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', diff --git a/partials/desktop/shell.php b/partials/desktop/shell.php index 0cc5a929..cbb09758 100644 --- a/partials/desktop/shell.php +++ b/partials/desktop/shell.php @@ -100,18 +100,23 @@ $renderStartIcon = static function (array $profile): string {
diff --git a/public/assets/desktop/desktop.css b/public/assets/desktop/desktop.css index 52bf8b22..c9607c08 100644 --- a/public/assets/desktop/desktop.css +++ b/public/assets/desktop/desktop.css @@ -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); } diff --git a/public/assets/desktop/desktop.js b/public/assets/desktop/desktop.js index e354884a..49db2e08 100644 --- a/public/assets/desktop/desktop.js +++ b/public/assets/desktop/desktop.js @@ -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 = ` +
+ + + Programme + Installierte Apps + +
+ `; + } + 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(); });