feat(classiques): support extended lines (1-3), bottom clock/info ticker (time=true), and dynamic SNCF Open Data logo resolution

This commit is contained in:
mathis committed 2026-08-30 23:23:56 +02:00
1 parent 427693c492
commit 5e9d770449
6 files changed
+981 -115

No files matched your search

@@ -62,7 +62,7 @@
position: relative;
}
/* Chaque ligne (108px de haut) */
/* Chaque ligne simple (108px de haut) */
.aff-classiques-departs__row {
display: flex;
align-items: center;
@@ -75,10 +75,12 @@
position: relative;
}
.aff-classiques-departs__row--odd,
.aff-classiques-departs__row:nth-child(odd) {
background: var(--blue-odd);
}
.aff-classiques-departs__row--even,
.aff-classiques-departs__row:nth-child(even) {
background: var(--blue-even);
}
@@ -87,6 +89,74 @@
opacity: 0.9;
}
/* ── LIGNE ÉTENDUE (216px = 2 lignes réduites) ── */
.aff-classiques-departs__row--extended {
height: 216px;
min-height: 216px;
max-height: 216px;
padding: 0;
display: flex;
flex-direction: column;
background: transparent !important;
}
.aff-classiques-departs__extended-top {
height: 108px;
min-height: 108px;
max-height: 108px;
width: 100%;
display: flex;
align-items: center;
box-sizing: border-box;
padding-left: 20px;
padding-right: 8px;
}
.aff-classiques-departs__row--odd .aff-classiques-departs__extended-top {
background: var(--blue-odd);
}
.aff-classiques-departs__row--even .aff-classiques-departs__extended-top {
background: var(--blue-even);
}
.aff-classiques-departs__extended-bottom {
height: 108px;
min-height: 108px;
max-height: 108px;
width: 100%;
display: flex;
align-items: center;
box-sizing: border-box;
padding-left: 200px;
padding-right: 280px;
}
.aff-classiques-departs__row--odd .aff-classiques-departs__extended-bottom {
background: var(--blue-even);
}
.aff-classiques-departs__row--even .aff-classiques-departs__extended-bottom {
background: var(--blue-odd);
}
.aff-classiques-departs__sub-stops {
flex: 1 1 0;
min-width: 0;
display: flex;
align-items: center;
overflow: hidden;
position: relative;
z-index: 2;
}
.aff-classiques-departs__sub-stops-text {
color: var(--white);
font-size: 52px;
font-weight: 600;
line-height: 1;
font-family: "Achemine", sans-serif;
white-space: nowrap;
}
/* Colonne 1 : Logo opérateur (blanc) */
.aff-classiques-departs__col-logo {
width: 105px;
@@ -106,7 +176,7 @@
filter: brightness(0) invert(1);
}
/* Colonne 2 : Type de train + Numéro */
/* Colonne 2 : Type de train + Numéro OU Statut */
.aff-classiques-departs__col-meta {
width: 185px;
min-width: 185px;
@@ -139,6 +209,32 @@
white-space: nowrap;
}
.aff-classiques-departs__status-ontime {
color: var(--white);
font-size: 28px;
font-weight: 700;
line-height: 1.1;
white-space: nowrap;
text-transform: lowercase;
}
.aff-classiques-departs__status-delayed {
color: var(--yellow);
font-size: 26px;
font-weight: 700;
line-height: 1.1;
white-space: nowrap;
}
.aff-classiques-departs__status-suppressed {
color: #ff4d4d;
font-size: 28px;
font-weight: 700;
line-height: 1.1;
white-space: nowrap;
text-transform: lowercase;
}
/* Colonne 3 : Heure (Grande, jaune vif) */
.aff-classiques-departs__col-time {
width: 290px;
@@ -222,4 +318,56 @@
line-height: 1;
font-family: "Achemine", sans-serif;
text-align: center;
}
/* ── 10e LIGNE : BANDEAU D'INFORMATION & HORLOGE (time=true) ── */
.aff-classiques-departs__row--info-bottom {
height: 108px;
min-height: 108px;
max-height: 108px;
width: 100%;
display: flex;
align-items: center;
box-sizing: border-box;
padding-left: 24px;
padding-right: 20px;
background: #001e40 !important;
position: relative;
z-index: 30;
border-top: 2px solid rgba(255, 255, 255, 0.25);
}
.aff-classiques-departs__info-bar {
flex: 1 1 0;
min-width: 0;
overflow: hidden;
display: flex;
align-items: center;
margin-right: 30px;
}
.aff-classiques-departs__info-bar-text {
color: var(--white);
font-size: 44px;
font-weight: 600;
font-family: "Achemine", sans-serif;
line-height: 1;
white-space: nowrap;
}
.aff-classiques-departs__bottom-clock {
display: flex;
align-items: center;
justify-content: center;
gap: 12px;
border: 2.5px solid rgba(255, 255, 255, 0.7);
border-radius: 10px;
padding: 6px 18px;
background: #00142e;
font-family: "Achemine", sans-serif;
font-size: 52px;
font-weight: 700;
color: var(--white);
letter-spacing: 2px;
flex-shrink: 0;
}