Änderung Menü

This commit is contained in:
2026-04-08 23:09:44 +02:00
parent 629a1f9e51
commit f6121b486c
5 changed files with 58 additions and 29 deletions
+7 -12
View File
@@ -391,7 +391,7 @@ $marketing = app_marketing_messages();
.button,button{display:inline-flex;align-items:center;justify-content:center;padding:.72rem 1rem;border-radius:10px;border:1px solid transparent;background:linear-gradient(135deg,var(--brand) 0%,var(--brand-strong) 100%);color:#fff;font:inherit;font-weight:700;cursor:pointer;box-shadow:0 12px 24px rgba(var(--brand-rgb),.22)}
.button.secondary,.button--ghost{background:rgba(255,255,255,.03);color:var(--text-strong);border-color:rgba(255,255,255,.12)}
.page-shell{width:100%;margin:0 0 34px;display:grid;gap:16px}
.site-header{position:sticky;top:0;z-index:30;width:100vw;margin-left:calc(50% - 50vw);margin-bottom:24px}
.site-header{position:sticky;top:0;z-index:30;width:100%;margin-left:0;margin-bottom:24px}
.site-header__inner{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:74px;width:100%;margin:0;padding:0 24px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:color-mix(in srgb,var(--surface-1) 88%, rgba(var(--brand-rgb),.12) 12%);box-shadow:var(--shadow);backdrop-filter:blur(18px)}
.site-brand{display:flex;align-items:center;gap:12px;min-width:0}
.site-brand__mark{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(135deg,var(--brand) 0%,var(--brand-strong) 100%);color:#fff;font-weight:800;box-shadow:none}
@@ -414,7 +414,7 @@ $marketing = app_marketing_messages();
.mobile-drawer{position:fixed;inset:0;display:none;z-index:55}
.mobile-drawer.is-open{display:block}
.mobile-drawer__scrim{position:absolute;inset:0;background:rgba(4,10,18,.58);backdrop-filter:blur(6px)}
.mobile-drawer__panel{position:absolute;right:0;top:0;bottom:0;width:min(92vw,380px);padding:18px 16px calc(28px + env(safe-area-inset-bottom));background:var(--surface-3);border-left:1px solid var(--line);box-shadow:var(--shadow);display:grid;grid-template-rows:auto 1fr auto;gap:18px;overflow:auto}
.mobile-drawer__panel{position:absolute;right:0;top:0;bottom:0;width:min(100vw,420px);max-width:100%;padding:18px 16px calc(28px + env(safe-area-inset-bottom));background:var(--surface-3);border-left:1px solid var(--line);box-shadow:var(--shadow);display:grid;grid-template-rows:auto 1fr auto;gap:18px;overflow:auto}
.mobile-drawer__header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.mobile-drawer__title{margin:0;font-size:1.08rem}
.mobile-drawer__subtitle{margin:4px 0 0;color:var(--text-soft);font-size:.9rem}
@@ -474,7 +474,7 @@ $marketing = app_marketing_messages();
.bulk-toolbar,.bulk-footer{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}
.bulk-summary{display:flex;flex-wrap:wrap;gap:10px;align-items:center;color:var(--text-soft);font-weight:600}
.bulk-chip{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:rgba(var(--brand-rgb),.12);color:var(--text-strong);font-size:.88rem;font-weight:700}
form.grid{grid-template-columns:repeat(2,minmax(0,1fr))}label{display:flex;flex-direction:column;gap:8px;font-weight:700}input,select,textarea{width:100%;padding:12px 14px;border-radius:12px;border:1px solid rgba(255,255,255,.08);font:inherit;background:rgba(255,255,255,.04);color:var(--text-strong)}textarea{min-height:120px}
form.grid{grid-template-columns:repeat(2,minmax(0,1fr))}label{display:flex;flex-direction:column;gap:8px;font-weight:700}input,select,textarea{width:100%;padding:12px 14px;border-radius:12px;border:1px solid rgba(255,255,255,.08);font:inherit;background:rgba(255,255,255,.04);color:var(--text-strong)}select{color-scheme:dark;background-color:var(--surface-3)}select option,select optgroup{background:var(--surface-3);color:var(--text-strong)}textarea{min-height:120px}
.footer{margin-top:0;text-align:center;color:var(--text-faint);font-size:.92rem}
.section-mini{display:grid;gap:10px}
.section-mini__title{margin:0;font-size:1rem;color:var(--text-strong)}
@@ -538,8 +538,8 @@ $marketing = app_marketing_messages();
.marketing-footer{position:fixed;left:0;right:0;bottom:0;z-index:25;margin-top:0;padding:10px 24px;border-top:1px solid rgba(137,154,188,.14);background:rgba(8,10,18,.88);backdrop-filter:blur(18px);color:rgba(209,217,235,.68);font-size:.92rem}
.marketing-footer__inner{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;width:min(1240px,calc(100% - 48px));margin:0 auto}
@media(max-width:960px){.marketing-main,.landing-hero,.landing-section,.landing-callout{width:calc(100vw - 24px)}.marketing-bar{height:72px;min-height:72px;margin-bottom:16px;padding:0 12px}.marketing-nav,.marketing-actions{display:none}.marketing-mobile{display:block}.landing-hero,.landing-feature-grid,.landing-step-grid,.landing-use-grid,.landing-proof-grid{grid-template-columns:1fr}.landing-hero{gap:24px;padding-top:0}.landing-section,.landing-callout{padding:20px}.marketing-shell{padding:0 0 88px}.marketing-footer{padding:10px 12px}.marketing-footer__inner{width:100%}}
@media(max-width:960px){body.mobile-drawer-open{overflow:hidden}.page-shell{padding-bottom:94px}.site-header{margin-bottom:14px}.site-header__inner{min-height:68px;width:100%;align-items:center;padding:10px 16px}.site-brand__subtitle{font-size:.8rem}.site-nav{display:none}.site-mobile{display:block}.site-actions{gap:8px}.site-actions .badge, .site-actions > form{display:none}.content{width:min(100vw - 20px,1460px);gap:14px}.hero{padding:16px}.hero .eyebrow,.hero p{display:none}.hero h1{font-size:1.5rem;margin:0}.grid-2,.grid-3,.grid-4,form.grid{grid-template-columns:1fr}.table table{min-width:0}.desktop-ledger-shell{display:none}.mobile-ledger-shell{display:grid;gap:14px}.mobile-bottom-nav{position:fixed;left:10px;right:10px;bottom:max(10px,env(safe-area-inset-bottom));z-index:45;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:6px;border:1px solid var(--line);border-radius:18px;background:color-mix(in srgb,var(--surface-3) 92%, rgba(var(--brand-rgb),.12) 8%);box-shadow:var(--shadow)}}
@media(min-width:961px){.site-mobile{display:none}}
@media(max-width:1180px){body.mobile-drawer-open{overflow:hidden}.page-shell{padding-bottom:94px}.site-header{margin-bottom:14px}.site-header__inner{min-height:68px;width:100%;align-items:center;padding:10px 16px}.site-brand__subtitle{font-size:.8rem}.site-nav{display:none}.site-mobile{display:block}.site-actions{gap:8px}.content{width:min(100vw - 20px,1460px);gap:14px}.hero{padding:16px}.hero .eyebrow,.hero p{display:none}.hero h1{font-size:1.5rem;margin:0}.grid-2,.grid-3,.grid-4,form.grid{grid-template-columns:1fr}.table table{min-width:0}.desktop-ledger-shell{display:none}.mobile-ledger-shell{display:grid;gap:14px}.mobile-bottom-nav{position:fixed;left:10px;right:10px;bottom:max(10px,env(safe-area-inset-bottom));z-index:45;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:6px;border:1px solid var(--line);border-radius:18px;background:color-mix(in srgb,var(--surface-3) 92%, rgba(var(--brand-rgb),.12) 8%);box-shadow:var(--shadow)}}
@media(min-width:1181px){.site-mobile{display:none}}
</style>
</head>
<body class="<?= $isMarketingHome ? 'landing-preview' : '' ?>" data-theme="<?= h($themeMode) ?>">
@@ -734,14 +734,9 @@ $marketing = app_marketing_messages();
</nav>
<div class="site-actions">
<?php if ($auth !== null): ?>
<?= badge((string) ($auth['tenant_name'] ?? 'Bereich')) ?>
<form method="post" action="/logout/"><button type="submit" class="button secondary">Abmelden</button></form>
<?php else: ?>
<?php if ($auth === null): ?>
<a class="button secondary" href="/login/">Anmelden</a>
<?php endif; ?>
<?php if ($auth !== null): ?>
<?php else: ?>
<button type="button" class="site-mobile__toggle" data-mobile-drawer-open>Mehr</button>
<?php endif; ?>
</div>
File diff suppressed because one or more lines are too long
+40 -7
View File
@@ -218,6 +218,31 @@
flex-wrap: wrap;
}
.site-actions__toggle {
display: inline-flex;
align-items: center;
gap: 10px;
min-height: 38px;
padding: 0.45rem 0.82rem;
border-radius: 10px;
border: 1px solid var(--line-strong);
background: rgba(255, 255, 255, 0.04);
color: var(--text-strong);
font: inherit;
font-weight: 700;
cursor: pointer;
}
.site-actions__toggle::before {
content: "";
display: block;
width: 18px;
height: 2px;
border-radius: 999px;
background: currentColor;
box-shadow: 0 -6px 0 currentColor, 0 6px 0 currentColor;
}
.sidebar-meta,
.header-meta {
display: flex;
@@ -390,7 +415,7 @@
top: 0;
right: 0;
bottom: 0;
width: min(94vw, 408px);
width: min(100vw, 420px);
max-width: 100%;
padding: 18px 16px calc(26px + env(safe-area-inset-bottom));
border-left: 1px solid var(--line);
@@ -769,6 +794,17 @@
color: var(--text-strong);
}
select {
color-scheme: dark;
background-color: rgba(13, 18, 31, 0.96);
}
select option,
select optgroup {
background: rgba(13, 18, 31, 0.98);
color: var(--text-strong);
}
textarea { min-height: 120px; resize: vertical; }
.note {
@@ -1011,7 +1047,7 @@
margin: 0 auto;
}
@media (max-width: 980px) {
@media (max-width: 1180px) {
.site-shell {
padding: 0 0 104px;
}
@@ -1053,7 +1089,7 @@
}
.mobile-drawer__panel {
width: min(96vw, 420px);
width: min(100vw, 420px);
padding-left: 14px;
padding-right: 14px;
}
@@ -1177,10 +1213,7 @@
<div class="site-actions">
@if (is_array($layoutAuth))
<span class="pill">{{ $layoutAuth['tenant_name'] ?? 'Tenant' }}</span>
<form method="post" action="/logout/">
<button type="submit" class="button button--ghost">Abmelden</button>
</form>
<button type="button" class="site-actions__toggle" data-mobile-drawer-open>Mehr</button>
@else
<a class="button button--ghost" href="/login/">Anmelden</a>
@endif
@@ -153,7 +153,8 @@
right:0;
top:0;
bottom:0;
width:min(92vw,380px);
width:min(100vw,420px);
max-width:100%;
padding:18px 16px calc(28px + env(safe-area-inset-bottom));
background:rgba(14,20,34,.96);
border-left:1px solid rgba(163,183,255,.12);
@@ -288,6 +289,8 @@
th{font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;color:rgba(193,205,232,.7)}
label{display:flex;flex-direction:column;gap:8px;font-weight:700}
input,select,textarea{width:100%;padding:12px 14px;border-radius:14px;border:1px solid rgba(163,183,255,.14);font:inherit;background:rgba(9,13,24,.82);color:#f4f7ff}
select{color-scheme:dark;background-color:rgba(9,13,24,.94)}
select option,select optgroup{background:rgba(9,13,24,.98);color:#f4f7ff}
textarea{min-height:120px}
.timeline{display:grid;gap:12px}
.timeline__item{padding:14px 16px;border-radius:16px;background:rgba(255,255,255,.04);border:1px solid rgba(163,183,255,.12)}
@@ -312,7 +315,7 @@
.status.is-closed::before{background:#11623d}
.mono{font-family:Consolas,monospace}
.footer{margin-top:18px;text-align:center;color:rgba(209,217,235,.68);font-size:.92rem}
@media(max-width:960px){
@media(max-width:1180px){
body.mobile-drawer-open{overflow:hidden}
.page-shell{width:min(100vw - 20px,1460px)}
.page-shell{padding-bottom:94px}
@@ -339,7 +342,7 @@
box-shadow:0 16px 40px rgba(2,5,12,.34);
}
}
@media(min-width:961px){
@media(min-width:1181px){
.site-mobile{display:none}
}
</style>
@@ -375,7 +378,6 @@
<div class="site-actions">
<?= support_badge($isManager ? 'Verantwortlichen-Sicht' : 'Mitgliedersicht', 'success') ?>
<form method="post" action="/logout/"><button type="submit" class="button button--ghost">Abmelden</button></form>
<button type="button" class="site-mobile__toggle" data-mobile-drawer-open>Mehr</button>
</div>
</div>
@@ -142,7 +142,8 @@
right:0;
top:0;
bottom:0;
width:min(92vw,380px);
width:min(100vw,420px);
max-width:100%;
padding:18px 16px calc(28px + env(safe-area-inset-bottom));
background:rgba(14,20,34,.96);
border-left:1px solid rgba(163,183,255,.12);
@@ -277,7 +278,7 @@
font-weight:700;
white-space:nowrap;
}
@media(max-width:960px){
@media(max-width:1180px){
body.mobile-drawer-open{overflow:hidden}
.page-shell{width:min(100vw - 20px,1460px)}
.page-shell{padding-bottom:94px}
@@ -303,7 +304,7 @@
box-shadow:0 16px 40px rgba(2,5,12,.34);
}
}
@media(min-width:961px){
@media(min-width:1181px){
.site-mobile{display:none}
}
</style>
@@ -339,7 +340,6 @@
<div class="site-actions">
<span class="pill">Rollenmatrix</span>
<form method="post" action="/logout/"><button type="submit" class="button button--ghost">Abmelden</button></form>
<button type="button" class="site-mobile__toggle" data-mobile-drawer-open>Mehr</button>
</div>
</div>