feat(front): coquille quotidien parent 3 colonnes + bandeau pastel (#166)
- QuotidienShell / QuotidienBandeau / QuotidienTheme reutilisables (parent, AM #169) - Bandeau : logo, pastilles dessinees Cahier de liaison / Agenda / Contrat (jaune / peche / turquoise, inactive = meme couleur a 45 %), menu user sur pastille lavande - Separateurs trait crayon gris (bandeau / colonnes / footer) - ImageButton : shape stadium (focus suit le contour) + bgOpacity - AppFooter : option showTopBorder - ParentDashboardScreen branche sur la coquille avec placeholders cartes (#167/#173), blog (#178), messagerie (#184), stubs Agenda/Contrat (#187) - Assets pastilles (meme silhouette 1190x299) et traits crayon Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -0,0 +1,67 @@
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
/// Couleurs / tokens du quotidien parent–AM (#166) — lignée papier / pastel.
|
||||
/// Pas le violet Material du dashboard staff.
|
||||
abstract final class QuotidienTheme {
|
||||
static const Color ink = Color(0xFF2F2F2F);
|
||||
static const Color ivory = Color(0xFFFFFEF9);
|
||||
static const Color turquoise = Color(0xFF8AD0C8);
|
||||
static const Color lavender = Color(0xFFC6A3D8);
|
||||
static const Color coral = Color(0xFFF4A28C);
|
||||
static const Color softGreenPill = Color(0xFFB8D9A8);
|
||||
static const Color columnCardFill = Color(0xFFF7F3EA);
|
||||
static const Color muted = Color(0xFF6B6B6B);
|
||||
|
||||
static const String paperAsset = 'assets/images/paper2.png';
|
||||
static const String logoAsset = 'assets/images/logo.png';
|
||||
|
||||
/// Pastilles « dessinées » du bandeau : même silhouette (1190×299), une
|
||||
/// couleur charte par section ; l'inactive est la même, plus transparente.
|
||||
static const double pillInactiveOpacity = 0.45;
|
||||
static const String pillIvoryAsset = 'assets/images/bg_ivoire_pill.png';
|
||||
static const String pillYellowAsset = 'assets/images/bg_yellow_pill.png';
|
||||
static const String pillPeachAsset = 'assets/images/bg_peach_pill.png';
|
||||
static const String pillTurquoiseAsset =
|
||||
'assets/images/bg_turquoise_pill.png';
|
||||
static const String pillLavenderAsset =
|
||||
'assets/images/bg_lavender_pill.png';
|
||||
|
||||
/// Trait crayon gris (2400×28, transparent) : séparateurs bandeau / corps /
|
||||
/// footer. Version verticale (28×2400) entre les colonnes.
|
||||
static const String pencilLineAsset = 'assets/images/pencil_line_grey.png';
|
||||
static const String pencilLineVerticalAsset =
|
||||
'assets/images/pencil_line_grey_v.png';
|
||||
|
||||
static String pillAssetFor(QuotidienNavSection section) {
|
||||
switch (section) {
|
||||
case QuotidienNavSection.liaison:
|
||||
return pillYellowAsset;
|
||||
case QuotidienNavSection.agenda:
|
||||
return pillPeachAsset;
|
||||
case QuotidienNavSection.contrat:
|
||||
return pillTurquoiseAsset;
|
||||
}
|
||||
}
|
||||
|
||||
/// Largeur / hauteur des PNG de pastille, à respecter pour ne pas déformer.
|
||||
static const double pillAspectRatio = 1190 / 298;
|
||||
|
||||
static BoxDecoration paperBackground() {
|
||||
return const BoxDecoration(
|
||||
image: DecorationImage(
|
||||
image: AssetImage(paperAsset),
|
||||
fit: BoxFit.cover,
|
||||
repeat: ImageRepeat.repeat,
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/// Sections du bandeau quotidien (Cahier de liaison / Agenda / Contrat).
|
||||
/// `liaison` = le hub « Cahier de liaison » (cartes · blog · messagerie).
|
||||
enum QuotidienNavSection {
|
||||
liaison,
|
||||
agenda,
|
||||
contrat,
|
||||
}
|
||||
Reference in New Issue
Block a user