sdsdf
This commit is contained in:
@@ -51,6 +51,7 @@ return [
|
|||||||
'content_mode' => 'native-module',
|
'content_mode' => 'native-module',
|
||||||
'default_width' => 980,
|
'default_width' => 980,
|
||||||
'default_height' => 700,
|
'default_height' => 700,
|
||||||
|
'show_on_desktop' => false,
|
||||||
'supports_widget' => true,
|
'supports_widget' => true,
|
||||||
'supports_tray' => false,
|
'supports_tray' => false,
|
||||||
'module_name' => 'desktop',
|
'module_name' => 'desktop',
|
||||||
|
|||||||
@@ -100,18 +100,23 @@ $renderStartIcon = static function (array $profile): string {
|
|||||||
<div class="window-layer" id="window-layer"></div>
|
<div class="window-layer" id="window-layer"></div>
|
||||||
|
|
||||||
<section class="start-menu" id="start-menu" hidden>
|
<section class="start-menu" id="start-menu" hidden>
|
||||||
<div class="start-menu-user-settings" id="start-menu-user-settings">
|
<div class="start-menu-sidebar" 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>
|
|
||||||
<button class="start-menu-user-card" id="start-menu-user-card" type="button">
|
<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-avatar" id="start-menu-user-avatar">GU</span>
|
||||||
<span class="start-menu-user-copy">
|
<span class="start-menu-user-copy">
|
||||||
<strong id="start-menu-user-name"><?= htmlspecialchars((string) ($desktopPayload['session']['display_name'] ?? 'Gast'), ENT_QUOTES) ?></strong>
|
<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>
|
</span>
|
||||||
</button>
|
</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'])): ?>
|
<?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) ?>">
|
<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>
|
<span class="start-menu-session-icon" aria-hidden="true">⏻</span>
|
||||||
@@ -124,20 +129,8 @@ $renderStartIcon = static function (array $profile): string {
|
|||||||
</button>
|
</button>
|
||||||
<?php endif; ?>
|
<?php endif; ?>
|
||||||
</div>
|
</div>
|
||||||
<div class="start-menu-function-area">
|
<div class="start-menu-selection-area start-menu-selection-area--programs">
|
||||||
<div class="start-menu-section-title">Funktion-Bereich</div>
|
<div class="start-menu-selection-header" id="start-menu-selection-header"></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-list" id="start-menu-apps"></div>
|
<div class="start-menu-selection-list" id="start-menu-apps"></div>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
|||||||
@@ -954,7 +954,7 @@ h1 {
|
|||||||
z-index: 130;
|
z-index: 130;
|
||||||
display: grid;
|
display: grid;
|
||||||
align-content: stretch;
|
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;
|
gap: 0;
|
||||||
width: min(920px, calc(100% - 48px));
|
width: min(920px, calc(100% - 48px));
|
||||||
min-height: 560px;
|
min-height: 560px;
|
||||||
@@ -979,14 +979,13 @@ h1 {
|
|||||||
display: none !important;
|
display: none !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.start-menu-user-settings,
|
.start-menu-sidebar,
|
||||||
.start-menu-function-area,
|
|
||||||
.start-menu-selection-area {
|
.start-menu-selection-area {
|
||||||
display: grid;
|
display: grid;
|
||||||
align-content: start;
|
align-content: start;
|
||||||
}
|
}
|
||||||
|
|
||||||
.start-menu-user-settings {
|
.start-menu-sidebar {
|
||||||
grid-template-rows: auto auto 1fr auto;
|
grid-template-rows: auto auto 1fr auto;
|
||||||
gap: 16px;
|
gap: 16px;
|
||||||
padding: 20px 16px 16px;
|
padding: 20px 16px 16px;
|
||||||
@@ -994,28 +993,12 @@ h1 {
|
|||||||
border-right: 1px solid rgba(255, 255, 255, 0.06);
|
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 {
|
.start-menu-selection-area {
|
||||||
gap: 14px;
|
gap: 14px;
|
||||||
padding: 20px 16px;
|
padding: 20px 16px;
|
||||||
background: linear-gradient(180deg, rgba(40, 40, 46, 0.98), rgba(33, 33, 38, 0.98));
|
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-user-card,
|
||||||
.start-menu-session-action,
|
.start-menu-session-action,
|
||||||
.start-menu-function,
|
.start-menu-function,
|
||||||
@@ -1037,7 +1020,6 @@ h1 {
|
|||||||
transition: background-color 140ms ease, border-color 140ms ease, transform 140ms ease;
|
transition: background-color 140ms ease, border-color 140ms ease, transform 140ms ease;
|
||||||
}
|
}
|
||||||
|
|
||||||
.start-menu-settings-button:hover,
|
|
||||||
.start-menu-user-card:hover,
|
.start-menu-user-card:hover,
|
||||||
.start-menu-session-action:hover,
|
.start-menu-session-action:hover,
|
||||||
.start-menu-function:hover,
|
.start-menu-function:hover,
|
||||||
@@ -1051,7 +1033,6 @@ h1 {
|
|||||||
transform: translateX(2px);
|
transform: translateX(2px);
|
||||||
}
|
}
|
||||||
|
|
||||||
.start-menu-settings-icon,
|
|
||||||
.start-menu-function-icon,
|
.start-menu-function-icon,
|
||||||
.start-menu-session-icon,
|
.start-menu-session-icon,
|
||||||
.start-menu-entry-badge,
|
.start-menu-entry-badge,
|
||||||
@@ -1110,6 +1091,11 @@ h1 {
|
|||||||
align-content: start;
|
align-content: start;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.start-menu-selection-header {
|
||||||
|
display: grid;
|
||||||
|
gap: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
.start-menu-selection-list {
|
.start-menu-selection-list {
|
||||||
max-height: 520px;
|
max-height: 520px;
|
||||||
padding-right: 4px;
|
padding-right: 4px;
|
||||||
@@ -1143,6 +1129,11 @@ h1 {
|
|||||||
font-weight: 700;
|
font-weight: 700;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.start-menu-function--summary {
|
||||||
|
cursor: default;
|
||||||
|
transform: none !important;
|
||||||
|
}
|
||||||
|
|
||||||
.start-menu-session-action {
|
.start-menu-session-action {
|
||||||
margin-top: auto;
|
margin-top: auto;
|
||||||
}
|
}
|
||||||
@@ -1319,8 +1310,7 @@ h1 {
|
|||||||
grid-template-columns: 1fr;
|
grid-template-columns: 1fr;
|
||||||
}
|
}
|
||||||
|
|
||||||
.start-menu-user-settings,
|
.start-menu-sidebar {
|
||||||
.start-menu-function-area {
|
|
||||||
border-right: 0;
|
border-right: 0;
|
||||||
border-bottom: 1px solid rgba(255, 255, 255, 0.06);
|
border-bottom: 1px solid rgba(255, 255, 255, 0.06);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,8 +10,8 @@ if (payloadNode) {
|
|||||||
const startButton = document.getElementById('start-button');
|
const startButton = document.getElementById('start-button');
|
||||||
const startMenu = document.getElementById('start-menu');
|
const startMenu = document.getElementById('start-menu');
|
||||||
const startMenuApps = document.getElementById('start-menu-apps');
|
const startMenuApps = document.getElementById('start-menu-apps');
|
||||||
|
const startMenuSelectionHeader = document.getElementById('start-menu-selection-header');
|
||||||
const startMenuFunctions = document.getElementById('start-menu-functions');
|
const startMenuFunctions = document.getElementById('start-menu-functions');
|
||||||
const startMenuSettingsButton = document.getElementById('start-menu-settings-button');
|
|
||||||
const startMenuUserCard = document.getElementById('start-menu-user-card');
|
const startMenuUserCard = document.getElementById('start-menu-user-card');
|
||||||
const startMenuUserName = document.getElementById('start-menu-user-name');
|
const startMenuUserName = document.getElementById('start-menu-user-name');
|
||||||
const startMenuUserAvatar = document.getElementById('start-menu-user-avatar');
|
const startMenuUserAvatar = document.getElementById('start-menu-user-avatar');
|
||||||
@@ -1178,6 +1178,18 @@ if (payloadNode) {
|
|||||||
return;
|
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 = '';
|
startMenuApps.innerHTML = '';
|
||||||
|
|
||||||
if (activeFunctionArea !== 'programs') {
|
if (activeFunctionArea !== 'programs') {
|
||||||
@@ -1252,7 +1264,9 @@ if (payloadNode) {
|
|||||||
renderSelectionArea();
|
renderSelectionArea();
|
||||||
};
|
};
|
||||||
|
|
||||||
payload.apps.forEach((app) => {
|
payload.apps
|
||||||
|
.filter((app) => app.show_on_desktop !== false)
|
||||||
|
.forEach((app) => {
|
||||||
const icon = document.createElement('button');
|
const icon = document.createElement('button');
|
||||||
icon.type = 'button';
|
icon.type = 'button';
|
||||||
icon.className = 'desktop-icon is-contrast-dark';
|
icon.className = 'desktop-icon is-contrast-dark';
|
||||||
@@ -1346,10 +1360,6 @@ if (payloadNode) {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
startMenuSettingsButton?.addEventListener('click', () => {
|
|
||||||
openAccountSettings();
|
|
||||||
});
|
|
||||||
|
|
||||||
startMenuUserCard?.addEventListener('click', () => {
|
startMenuUserCard?.addEventListener('click', () => {
|
||||||
openAccountSettings();
|
openAccountSettings();
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user