style: standardise links to Regular weight (400) with violet accent hover, body to Light (300)

This commit is contained in:
Pontoporeia
2026-06-08 11:53:57 +02:00
parent cee3345ea3
commit cb2b18e470
16 changed files with 66 additions and 48 deletions

22
TODO.md
View File

@@ -1,23 +1,3 @@
# TODO
- [x] Fix htmx checkbox "Activer la restriction d'accès": add missing csrf_token in #fieldset-restrictions (fixes token invalide + full parametres.php injection)
- [x] Convert all file inputs to FilePond (CSV import, file-field.php; fix dialog init + missing CSS/JS on index page)
- [x] Fix `account.php`: replace `!==` CSRF token check with `hash_equals` (constant-time comparison)
- [x] Fix `ShareLink::setPassword()`: also encrypt and store plain-text password, matching `create()` behavior
- [x] Audit: confirm all remaining credential comparison sites use constant-time `hash_equals` or `password_verify`
- [x] Fix `.gitignore`: anchor `vendor/` to root (`/vendor/`) so `app/public/assets/js/vendor/` (htmx, OverType, FilePond) is tracked
- [x] Fix migration `025_lowercase_languages.sql`: deduplicate languages before LOWER() to avoid UNIQUE constraint violation (`Néerlandais`/`néerlandais`)
- [x] Fix home page: load ALL published theses grouped by year (desc), shuffled randomly within each year (instead of only ~20 from latest year)
- [x] Répertoire: colonnes à largeurs différenciées (Années plus étroites, Orientations/AP plus larges)
- [x] Répertoire: barres de scroll discrètes (thin + semi-transparentes)
- [x] Répertoire: fontes/graisses conformes à la maquette (Ductus pour titres colonnes, années en bold, etc.)
- [x] Répertoire: diminutifs des AP entre crochets (ex: Design et Politique du Multiple [DPM])
- [x] Page TFE: enlever le soulignage de tous les mots/liens
- [x] Page TFE: harmoniser minuscules pour mots-clés, langues & formats
- [x] Page TFE: corriger texte inclusif ("utilisateur·ices autorisé·es")
- [x] Page TFE: empêcher les mots-clés de se couper au milieu du mot lors du wrapping
- [x] Page TFE: rendre le texte des TFE internes/interdits éditable dans les paramètres
- [x] Page TFE: afficher CC2r en plus de la licence choisie (ex: "CC2r, CC BY")
- [x] Page TFE: formater le contact au plus court (stripper https://www., afficher @identifiant pour Instagram/Mastodon)
- [x] Page TFE: supprimer le lien de téléchargement du PDF sous l'iframe
- [x] Standardise all links (including header) to be heavy (font-weight: 600) and add violet accent color on hover

View File

@@ -109,7 +109,7 @@
.admin-back-btn:hover {
background: var(--bg-secondary);
color: var(--text-primary);
color: var(--accent-primary);
}
.admin-back-btn svg {
@@ -1543,7 +1543,12 @@ th.admin-ap-col {
.admin-cancel-link {
font-size: var(--step--1);
color: var(--text-secondary);
text-decoration: underline;
text-decoration: none;
font-weight: 400;
}
.admin-cancel-link:hover {
color: var(--accent-primary);
}
/* ── Pagination (admin list) ─────────────────────────────────────────────── */
@@ -1574,6 +1579,7 @@ th.admin-ap-col {
border-radius: var(--radius);
color: var(--text-primary);
font-size: var(--step--1);
font-weight: 400;
text-decoration: none;
transition:
border-color 0.15s,

View File

@@ -67,7 +67,7 @@
}
.apropos-toc ul a:hover {
color: var(--text-primary);
color: var(--accent-primary);
border-left-color: var(--accent-primary);
}
@@ -84,7 +84,8 @@
}
.apropos-toc-erg a:hover {
opacity: 0.75;
color: var(--accent-primary);
opacity: 1;
}
.apropos-toc-source {
@@ -99,7 +100,8 @@
}
.apropos-toc-source a:hover {
opacity: 0.75;
color: var(--accent-primary);
opacity: 1;
}
/* ------------------------------------------------------------------ */
@@ -237,7 +239,8 @@
}
.apropos-contact-card a:hover {
opacity: 0.75;
color: var(--accent-primary);
opacity: 1;
}
/* ------------------------------------------------------------------ */

View File

@@ -38,6 +38,7 @@ html, body {
body {
font-family: var(--font-body);
font-weight: 300;
background: var(--bg-primary);
color: var(--text-primary);
background: linear-gradient(

View File

@@ -19,8 +19,9 @@ details {
summary {
font-family: var(--font-display);
font-weight: 600;
text-decoration: 1px wavy;
text-decoration: none;
color: var(--accent-secondary);
transition: color 0.15s;
svg {
fill: var(--accent-secondary);
@@ -28,3 +29,7 @@ summary {
height: 1.4em;
}
}
summary:hover {
color: var(--accent-primary);
}

View File

@@ -51,13 +51,14 @@ header nav ul a {
}
header nav ul a:hover {
opacity: 1;
color: var(--accent-primary);
}
header nav ul a[aria-current="page"] {
opacity: 1;
border-bottom: 1px solid var(--header-nav-active-border);
padding-bottom: 1px;
color: var(--accent-foreground);
}
/* ── Logo ───────────────────────────────────────────────────────────── */

View File

@@ -6,10 +6,10 @@
a {
color: inherit;
text-decoration: none;
font-weight: 400;
}
a:hover {
text-decoration-line: underline;
text-decoration-style: wavy;
text-decoration-thickness: 1px;
color: var(--accent-primary);
text-decoration: none;
}

View File

@@ -30,6 +30,7 @@
border-radius: var(--radius);
color: var(--text-primary);
font-size: var(--step--1);
font-weight: 400;
text-decoration: none;
transition: border-color 0.15s, color 0.15s;
}

View File

@@ -51,7 +51,13 @@
.toast--warning a {
color: inherit;
text-decoration: underline;
font-weight: 400;
text-decoration: none;
transition: color 0.15s;
}
.toast--warning a:hover {
color: var(--accent-primary);
}
@keyframes toast-enter {

View File

@@ -50,7 +50,7 @@
}
.access-req-tab:hover {
color: var(--text-primary);
color: var(--accent-primary);
}
.access-req-tab.active {
@@ -163,7 +163,8 @@
}
.access-req-card__info a:hover {
text-decoration: underline;
color: var(--accent-primary);
text-decoration: none;
}
.access-req-card__justification,
@@ -224,8 +225,7 @@
}
.access-req-pagination__link:hover {
color: var(--accent-secondary);
text-decoration: underline;
color: var(--accent-primary);
}
.access-req-pagination__info {

View File

@@ -419,12 +419,14 @@
background: var(--text-primary);
color: var(--bg-primary);
text-decoration: none;
font-weight: 400;
border-radius: var(--radius);
transition: opacity 0.15s;
}
.share-error a:hover {
opacity: 0.8;
color: var(--accent-primary);
opacity: 1;
}
/* ── Password gate page ─────────────────────────────────────────────────── */
@@ -1416,8 +1418,7 @@ legend {
}
.recap-files-name a:hover {
text-decoration: underline;
color: var(--accent);
color: var(--accent-primary);
}
.recap-files-peertube-id {
@@ -1527,7 +1528,7 @@ legend {
text-decoration: none;
}
.file-browser-breadcrumb a:hover {
text-decoration: underline;
color: var(--accent-primary);
}
.file-browser-sep {
color: var(--text-tertiary);

View File

@@ -191,6 +191,7 @@
.clear-filter:hover {
background: var(--accent-secondary);
color: var(--accent-foreground);
}
/* Pagination */
@@ -222,6 +223,7 @@
color: var(--text-primary);
font-size: var(--step--1);
text-decoration: none;
font-weight: 400;
transition: all 0.15s;
}

View File

@@ -282,8 +282,14 @@
.search-reset-link {
font-size: var(--step--1);
color: var(--text-secondary);
text-decoration: underline;
text-decoration: none;
font-weight: 400;
cursor: pointer;
transition: color 0.15s;
}
.search-reset-link:hover {
color: var(--accent-primary);
}
/* Search results pagination */
@@ -307,6 +313,7 @@
color: var(--text-primary);
font-size: var(--step--1);
text-decoration: none;
font-weight: 400;
transition: all 0.15s;
}

View File

@@ -21,7 +21,7 @@
transition: color .15s, border-color .15s;
}
.sys-tab:hover {
color: var(--text-primary);
color: var(--accent-primary);
}
.sys-tab.active {
color: var(--accent-primary);
@@ -327,7 +327,7 @@
color: var(--accent-primary);
text-decoration: none;
}
.sys-refresh-note a:hover { text-decoration: underline; }
.sys-refresh-note a:hover { color: var(--accent-primary); }
/* ── Cache freshness badges ────────────────────────────────────────────── */
.sys-cache-badge {

View File

@@ -57,7 +57,7 @@
}
.tfe-meta-label {
font-weight: 400;
font-weight: 300;
}
.tfe-meta-item a {
@@ -67,7 +67,7 @@
}
.tfe-meta-item a:hover {
text-decoration: none;
color: var(--accent-primary);
}
/* Note field: align label to top, value in italics */
@@ -190,7 +190,7 @@ aside figcaption {
}
.tfe-pdf-fallback a:hover {
text-decoration: none;
color: var(--accent-primary);
}
/* "Not available" and "no files" notices */

View File

@@ -24,7 +24,7 @@
z-index: 9999;
padding: var(--space-2xs) var(--space-s);
background: var(--accent-primary);
color: var(--text-primary);
color: var(--accent-foreground);
font-size: var(--step--1);
font-weight: 600;
text-decoration: none;
@@ -35,6 +35,11 @@
top: 0;
}
.skip-link:hover {
color: var(--accent-primary);
background: var(--accent-foreground);
}
/* Respect user motion preferences */
@media (prefers-reduced-motion: reduce) {
*,