UX - Filter #12

Merged
Lars merged 22 commits from develop into main 2026-05-06 21:25:56 +02:00
2 changed files with 44 additions and 23 deletions
Showing only changes of commit b9ef0395c1 - Show all commits

View File

@ -215,6 +215,11 @@ body { font-family: var(--font); background: var(--bg); color: var(--text1); -we
/* Cards */ /* Cards */
.card { background: var(--surface); border: 1px solid var(--border); border-radius: 12px; padding: 16px; } .card { background: var(--surface); border: 1px solid var(--border); border-radius: 12px; padding: 16px; }
.card + .card { margin-top: 12px; } .card + .card { margin-top: 12px; }
/* In CSS-Grids: Abstände nur über gap, nicht über Adjacent-Sibling-Margin */
.exercises-list-grid > .card + .card,
.ref-value-tiles-grid > .card + .card {
margin-top: 0;
}
.card-title { font-size: 13px; font-weight: 600; color: var(--text3); text-transform: uppercase; letter-spacing: 0.05em; margin-bottom: 10px; } .card-title { font-size: 13px; font-weight: 600; color: var(--text3); text-transform: uppercase; letter-spacing: 0.05em; margin-bottom: 10px; }
/* Stats grid */ /* Stats grid */
@ -961,7 +966,7 @@ a.analysis-split__nav-item {
padding: 8px 10px; padding: 8px 10px;
} }
/* Erfassung: Sub-Navigation (Mobil = Chips, Desktop = linke Spalte) */ /* Erfassung: Sub-Navigation — oben Chip-Zeile (alle Viewports); wie admin-page-subtabs */
.capture-shell { .capture-shell {
width: 100%; width: 100%;
} }
@ -970,11 +975,26 @@ a.analysis-split__nav-item {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
gap: 16px; gap: 16px;
align-items: stretch;
}
.capture-shell__nav-wrap {
width: 100%;
min-width: 0;
position: sticky;
top: var(--header-h);
z-index: 4;
background: var(--bg);
padding-bottom: 4px;
margin-bottom: 0;
border-bottom: 1px solid var(--border);
} }
.capture-shell__nav { .capture-shell__nav {
display: flex; display: flex;
flex-direction: row; flex-direction: row;
flex-wrap: wrap;
align-items: center;
gap: 6px; gap: 6px;
overflow-x: auto; overflow-x: auto;
padding-bottom: 6px; padding-bottom: 6px;
@ -1036,42 +1056,32 @@ a.analysis-split__nav-item {
.capture-shell__main { .capture-shell__main {
min-width: 0; min-width: 0;
flex: 1;
} }
@media (min-width: 1024px) { @media (min-width: 1024px) {
.capture-shell__layout { .capture-shell__layout {
flex-direction: row; gap: 20px;
align-items: flex-start;
gap: 24px;
} }
.capture-shell__nav-wrap { .capture-shell__nav-wrap {
flex: 0 0 260px; top: var(--header-h);
max-width: 280px; padding-top: 2px;
position: sticky; padding-bottom: 10px;
top: 16px;
align-self: flex-start;
} }
.capture-shell__nav { .capture-shell__nav {
flex-direction: column; flex-wrap: wrap;
overflow-x: visible; overflow-x: visible;
overflow-y: auto;
max-height: calc(100vh - 140px);
padding-bottom: 0; padding-bottom: 0;
gap: 8px; gap: 8px;
} }
.capture-shell__nav-item { .capture-shell__nav-item {
width: 100%; padding: 9px 14px;
justify-content: flex-start; border-radius: 999px;
border-radius: 10px; font-size: 13px;
white-space: normal; font-weight: 600;
padding: 9px 12px;
}
.capture-shell__main {
flex: 1;
} }
} }
@ -1492,6 +1502,15 @@ button.capture-shell__nav-item {
font-size: 0.92rem; font-size: 0.92rem;
} }
/* ---------- Navigations-Ebenen (Kurzreferenz) ----------
* Hauptbereiche: Bottom-Nav / App-Header.
* Sektionsumschalter auf einer Seite (2n Einträge): horizontale Chip-Zeile oben
* AppSubnavShell .capture-shell (sticky unter dem Header, Wrap auf großen Screens)
* viele flache Tabs (z. B. Stammdaten) .admin-page-subtabs (gleiche Chip-Idee, Edge-Scroll mobil)
* Wechsel zwischen Admin-Seiten .admin-top-nav
* Sub-Sub (dritte Ebene, z. B. Editor-Spalten): bewusst in jeweiligen Feature-Layouts (Seitenleiste / Panel).
* ---------- */
/* Admin-Kataloge: Seite „Stammdaten“ — viele Unter-Tabs, Chip-Scroll */ /* Admin-Kataloge: Seite „Stammdaten“ — viele Unter-Tabs, Chip-Scroll */
.admin-page-subtabs { .admin-page-subtabs {
display: flex; display: flex;

View File

@ -1,6 +1,8 @@
/** /**
* Einheitliche Sub-Navigation (Jinkendo-Muster): * Sub-Navigation (einheitlich mit Admin-Sektionsschaltern):
* Mobil = horizontale Chips, Desktop 1024px = linke Spalte (sticky). * Mobil & Desktop: eine horizontale Chip-/Registerzeile oben (scroll auf schmalen Viewports).
* Eine darunter liegende Sub-Sub-Ebene (z. B. Rahmen bearbeiten) bleibt bewusst
* seitlich / in eigenen Layout-Komponenten (z. B. Trainingseinheit, Framework-Editor).
* Nutzt .capture-shell* aus app.css. * Nutzt .capture-shell* aus app.css.
*/ */
export default function AppSubnavShell({ export default function AppSubnavShell({