fix(ui): make screen backgrounds full-bleed instead of content-sized

The gradient Container in the playlist selection and admin screens sized
itself to its content rather than the viewport: under the loose body
constraints, SingleChildScrollView and Wrap both shrink-wrap, so the
gradient was painted only across a 436 px band (48 padding + 340 card +
48 padding) with the rest of the screen falling through to bare black.
BoxConstraints.expand() forces full coverage.

Also:
- both screens now use AppColors.backgroundGradient. The previous ramp
  ran surfaceContainerLowest -> background -> baseLevel0, i.e. dark to
  lighter to dark, which put a pale band across the middle
- the playlist card was a 3% cream translucent plate, so it took on
  whatever sat behind it instead of resting on it; it is now an opaque
  surface (surfaceContainerLow, surfaceContainerHigh on hover) with the
  lift() shadow at rest and the ember focus halo on hover
- Scaffold backgroundColor pinned to baseLevel0 so route transitions
  never flash pure black

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
MichaelandClaude Opus 5 committed 2026-08-10 21:57:35 +02:00
1 parent ad3e970c8d
commit ef744c215e
2 files changed
+27 -33

No files matched your search

+5 -8
View File
@@ -24,16 +24,13 @@ class AdminPanel extends StatelessWidget {
Widget build(BuildContext context) {
return Scaffold(
extendBodyBehindAppBar: true,
backgroundColor: AppColors.baseLevel0,
body: Container(
// Meme precaution que sur l'ecran de selection de playlist : sans
// contrainte d'expansion, le degrade ne couvre que le contenu.
constraints: const BoxConstraints.expand(),
decoration: const BoxDecoration(
gradient: LinearGradient(
begin: Alignment.topCenter,
end: Alignment.bottomCenter,
colors: [
AppColors.surfaceVariant,
AppColors.background,
],
),
gradient: AppColors.backgroundGradient,
),
child: const AdminContent(),
),