diff --git a/services/web/frontend/js/features/project-list/components/project-list-lumiere.tsx b/services/web/frontend/js/features/project-list/components/project-list-lumiere.tsx index 346ecaebce..5594ed9906 100644 --- a/services/web/frontend/js/features/project-list/components/project-list-lumiere.tsx +++ b/services/web/frontend/js/features/project-list/components/project-list-lumiere.tsx @@ -106,26 +106,14 @@ const ProjectCard = memo(function ProjectCard({ {projectTags.length > 0 && (
- {projectTags.map(tag => { - const color = getTagColor(tag) - return ( - - - {tag.name} - - ) - })} + {projectTags.map(tag => ( + + ))}
)} {date} diff --git a/services/web/frontend/stylesheets/pages/login-register.scss b/services/web/frontend/stylesheets/pages/login-register.scss index 6d273fed85..fdd5025c1d 100644 --- a/services/web/frontend/stylesheets/pages/login-register.scss +++ b/services/web/frontend/stylesheets/pages/login-register.scss @@ -52,17 +52,17 @@ } // ── Login page footer — Lumière override ────────────────────────────────────── -// Same dark-navy treatment as the project page footer. +// Same light-teal treatment as the project page footer. body:has(.login-page) footer.site-footer { position: relative; - background-color: #0d1b24 !important; + background-color: #edf7f4 !important; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.28'/%3E%3C/svg%3E") !important; background-size: 200px 200px !important; background-repeat: repeat !important; border-top: none !important; - color: rgba(255, 255, 255, 0.38) !important; + color: #64748b !important; font-size: 0.78rem; - letter-spacing: 0.03em; + letter-spacing: 0.025em; &::before { content: ''; @@ -76,7 +76,7 @@ body:has(.login-page) footer.site-footer { } a { - color: rgba(255, 255, 255, 0.38) !important; + color: #64748b !important; text-decoration: none; transition: color 0.15s ease; @@ -87,7 +87,8 @@ body:has(.login-page) footer.site-footer { .col-lg-9 .site-footer-items > li:first-child a { font-family: Georgia, 'Times New Roman', 'DejaVu Serif', serif; - color: rgba(255, 255, 255, 0.55) !important; + color: #1a2e3b !important; + font-weight: 500; } .col-lg-3 { @@ -95,15 +96,24 @@ body:has(.login-page) footer.site-footer { font-size: 0.70rem; text-transform: uppercase; letter-spacing: 0.07em; + color: #94a3b8 !important; + + a { + color: #94a3b8 !important; + + &:hover { + color: #2a9d8f !important; + } + } } .text-muted { - color: rgba(255, 255, 255, 0.16) !important; + color: #b8d4cf !important; } - --link-color: rgba(255, 255, 255, 0.38); + --link-color: #64748b; --link-hover-color: #2a9d8f; - --link-visited-color: rgba(255, 255, 255, 0.38); + --link-visited-color: #64748b; } .login-lumiere-card { diff --git a/services/web/frontend/stylesheets/pages/project-list-lumiere.scss b/services/web/frontend/stylesheets/pages/project-list-lumiere.scss index 93da0b4de3..8b8fdb28a7 100644 --- a/services/web/frontend/stylesheets/pages/project-list-lumiere.scss +++ b/services/web/frontend/stylesheets/pages/project-list-lumiere.scss @@ -663,34 +663,25 @@ $lum-noise: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' wi } // ── Card tags ───────────────────────────────────────────────────────────── + // Shown as compact coloured dots only — no text — so cards with/without + // tags stay the same height and long tag names never wrap. .lumiere-card-tags { display: flex; - flex-wrap: wrap; - gap: 4px; - margin-top: 4px; - } - - .lumiere-card-tag { - display: inline-flex; + flex-wrap: nowrap; + gap: 5px; + margin-top: 5px; align-items: center; - gap: 4px; - font-size: 0.65rem; - font-weight: 500; - padding: 2px 6px; - border-radius: 999px; - border: 1px solid; - max-width: 80px; - white-space: nowrap; overflow: hidden; - text-overflow: ellipsis; } .lumiere-card-tag-dot { flex-shrink: 0; - width: 6px; - height: 6px; + width: 8px; + height: 8px; border-radius: 50%; + display: inline-block; + cursor: default; } // ── Selection bar — tool buttons ────────────────────────────────────────── @@ -741,20 +732,20 @@ $lum-noise: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' wi } // ── Footer — Lumière override ───────────────────────────────────────────────── -// Dark-navy footer with noise texture, gradient accent stripe, and two type -// treatments: serif copyright on the left, monospace meta links on the right. +// Pale teal canvas with noise grain, 2px teal→blue accent stripe at top. +// Left col: serif author credit. Right col: monospace/uppercase meta links. // !important beats :root [data-theme='default'] .project-ds-nav-page footer.site-footer. .project-list-lumiere footer.site-footer { position: relative; - background-color: #0d1b24 !important; + background-color: #edf7f4 !important; background-image: #{$lum-noise} !important; background-size: 200px 200px !important; background-repeat: repeat !important; border-top: none !important; - color: rgba(255, 255, 255, 0.38) !important; + color: #64748b !important; font-size: 0.78rem; - letter-spacing: 0.03em; + letter-spacing: 0.025em; // Teal-to-blue gradient stripe matching the navbar accent &::before { @@ -769,7 +760,7 @@ $lum-noise: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' wi } a { - color: rgba(255, 255, 255, 0.38) !important; + color: #64748b !important; text-decoration: none; transition: color 0.15s ease; @@ -781,7 +772,8 @@ $lum-noise: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' wi // Author credit — warm serif for a human touch .col-lg-9 .site-footer-items > li:first-child a { font-family: Georgia, 'Times New Roman', 'DejaVu Serif', serif; - color: rgba(255, 255, 255, 0.55) !important; + color: $lum-text !important; + font-weight: 500; } // Meta links (AGPL, source code) — subtle monospace/uppercase treatment @@ -790,14 +782,23 @@ $lum-noise: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' wi font-size: 0.70rem; text-transform: uppercase; letter-spacing: 0.07em; + color: $lum-text-muted !important; + + a { + color: $lum-text-muted !important; + + &:hover { + color: $lum-teal !important; + } + } } - // Pipe separators — nearly invisible + // Pipe separators .text-muted { - color: rgba(255, 255, 255, 0.16) !important; + color: #b8d4cf !important; } - --link-color: rgba(255, 255, 255, 0.38); + --link-color: #64748b; --link-hover-color: #{$lum-teal}; - --link-visited-color: rgba(255, 255, 255, 0.38); + --link-visited-color: #64748b; } diff --git a/services/web/locales/fr.json b/services/web/locales/fr.json index c86ce1dbc3..43a2f79d79 100644 --- a/services/web/locales/fr.json +++ b/services/web/locales/fr.json @@ -333,6 +333,7 @@ "deleting": "Suppression en cours", "demonstrating_git_integration": "Démonstration de l’intégration Git", "department": "Département", + "deselect_all": "Tout désélectionner", "descending": "Descendant", "description": "Description", "dictionary": "Dictionnaire",