This commit is contained in:
ponzischeme89
2026-08-21 23:15:42 +12:00
parent c85fab4459
commit 8b3d80a0a6
14 changed files with 199 additions and 259 deletions
+7 -10
View File
@@ -2895,21 +2895,18 @@ thumbnails had three copies of the same lift-and-grow at 1.06, 1.06 and 1.05 ove
value is read only inside the `graphicsLayer` block, so travelling a grid redraws two cards
rather than recomposing every card in it — which is why it is a modifier and not a wrapper.
**"Close Memby?" is the one full-stop dialog**, `ui/ExitConfirmation.kt`, drawn when the
**"Exit Memby?" is the one full-stop dialog**, `ui/ExitMembyScreen.kt`, drawn when the
viewer has asked to be asked (`confirmExitMemby`). It is the panel that appears *over*
Memby, so it was the one thing on screen that must not look like somebody else's app — and
it was two identical raw `androidx.tv.material3.Button`s wearing Material's own colours,
which meant the destructive answer and the safe one were the same shape at three metres.
Things to preserve: the two actions **do not look alike** (Stay is the accent fill and takes
focus first, closing is a quiet outline), the entrance is read only inside `graphicsLayer`
lambdas so nothing recomposes while the panel arrives, and **Back means stay** — it is the
key that raised the panel and pressing it again must not be what closes the app. The scrim
is a wash rather than a flat black, so the library underneath stays faintly readable and
this reads as a question asked over it. `focusedForCapture` exists because Robolectric's
window never takes focus and the focus ring is the whole of what says which action a press
would take; `ExitConfirmationScreenshotTest` renders both answers under it, plus one
capture under a foreign palette — this is the only dialog drawn entirely from the tokens,
so a theme that could not reach it would show here and nowhere else.
focus first, closing is a quiet outline), and **Back means stay** — it is the key that raised
the panel and pressing it again must not be what closes the app. The treatment stays plain:
a dimmed backdrop, a compact panel, one question and two actions. `focusedForCapture` exists
because Robolectric's window never takes focus and the focus ring is the whole of what says
which action a press would take; `ExitConfirmationScreenshotTest` renders both answers under
it, plus one capture under a foreign palette.
**Settings is black, flat, and says one thing once.** `ui/settings/SettingsSheet.kt` had four
stacked surfaces to show two switches — the page, the rail, a titled section card, and the