From 598acb410d5ed2921c88eb897a9be82c14058303 Mon Sep 17 00:00:00 2001 From: Till JS Date: Sun, 10 May 2026 14:47:15 +0200 Subject: [PATCH] =?UTF-8?q?fix(study):=20kein=20Layout-Sprung=20beim=20Wec?= =?UTF-8?q?hsel=20Reveal=20=E2=86=94=20Grade-Buttons?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit grade-row bleibt immer im Flow und setzt die Höhe der action-bar. reveal-row liegt absolut darüber. Wechsel via visibility statt {#if}, sodass die Karte beim Aufdecken nicht springt. Co-Authored-By: Claude Sonnet 4.6 --- .../src/routes/study/[deckId]/+page.svelte | 54 +++++++++++++------ 1 file changed, 37 insertions(+), 17 deletions(-) diff --git a/apps/web/src/routes/study/[deckId]/+page.svelte b/apps/web/src/routes/study/[deckId]/+page.svelte index 410dde2..5b70855 100644 --- a/apps/web/src/routes/study/[deckId]/+page.svelte +++ b/apps/web/src/routes/study/[deckId]/+page.svelte @@ -227,32 +227,39 @@ - {#if !revealed} -
- -
- {:else} -
- - - -
- {/if} + +
+ +
+ {/if} @@ -503,10 +510,24 @@ /* Reveal-Button und Grade-Row sitzen UNTER der Karte — keine Sub-Karten, sondern Aktions-Leiste. Bewahrt das "eine Karte ist eine Karte"-Gefühl. */ - .reveal-row { - display: flex; - justify-content: center; + .action-bar { + position: relative; margin-top: 1.5rem; + width: 100%; + max-width: 24rem; + } + + .invisible { + visibility: hidden; + pointer-events: none; + } + + .reveal-row { + position: absolute; + inset: 0; + display: flex; + align-items: center; + justify-content: center; } .btn-primary.reveal { @@ -526,7 +547,6 @@ display: grid; grid-template-columns: repeat(4, 1fr); gap: 0.5rem; - margin-top: 1.5rem; } .grade {