#44 — Copie d'URL : chaque tuile projet non archivée (grille, y compris Épinglés) propose « 🔗 Copier l'URL du projet » dans son menu ⋯. L'URL Gitea du dépôt (html_url) est copiée, avec confirmation « URL du projet copiée » et repli (textarea + execCommand) si l'API Clipboard n'est pas disponible.
#45 — Menu refait : fond opaque sur les jetons de la barre d'apps commune (draco-barre.css, prototype Console v7.2 / console Spark) — rayon 14 px, ombre portée, survol/focus visibles, séparateur avant l'action de copie. Corrige la cause du menu transparent : il utilisait var(--surface-1), variable jamais définie dans :root.
Thèmes : jetons clairs par défaut, variante sombre via [data-theme="dark"] et repli prefers-color-scheme, comme la barre Fusion.
Version : bump 0.37.6 → 0.38.0 (MINOR, nouvelle fonctionnalité) + entrée CHANGELOG.
Suite complète locale : 340 passed (dont 3 nouveaux tests menu/copie). Le correctif reste à valider par le build de l'utilisateur (ses captures et ses builds font foi) : menu ⋯ d'une tuile → « Copier l'URL du projet » → coller ailleurs et retrouver l'URL Gitea du bon projet ; menu opaque et lisible.
Publication
Branche publiée via l'API Gitea (le push git classique a échoué : l'authentification par surrogate n'est pas reprise par git). Cette PR n'est PAS mergée sans go explicite, conformément aux règles du projet.
## Ce que ça fait
- **#44 — Copie d'URL** : chaque tuile projet non archivée (grille, y compris Épinglés) propose « 🔗 Copier l'URL du projet » dans son menu ⋯. L'URL Gitea du dépôt (`html_url`) est copiée, avec confirmation « URL du projet copiée » et repli (textarea + execCommand) si l'API Clipboard n'est pas disponible.
- **#45 — Menu refait** : fond opaque sur les jetons de la barre d'apps commune (`draco-barre.css`, prototype Console v7.2 / console Spark) — rayon 14 px, ombre portée, survol/focus visibles, séparateur avant l'action de copie. Corrige la cause du menu transparent : il utilisait `var(--surface-1)`, variable jamais définie dans `:root`.
- **Thèmes** : jetons clairs par défaut, variante sombre via `[data-theme="dark"]` et repli `prefers-color-scheme`, comme la barre Fusion.
- **Version** : bump 0.37.6 → 0.38.0 (MINOR, nouvelle fonctionnalité) + entrée CHANGELOG.
## Fichiers
`app/templates/dashboard.html`, `static/css/style.css`, `static/js/dashboard.js`, `tests/test_dashboard_menu_copy.py`, `app/config.py`, `CHANGELOG.md`.
## Tests
Suite complète locale : 340 passed (dont 3 nouveaux tests menu/copie). Le correctif reste à valider par le build de l'utilisateur (ses captures et ses builds font foi) : menu ⋯ d'une tuile → « Copier l'URL du projet » → coller ailleurs et retrouver l'URL Gitea du bon projet ; menu opaque et lisible.
## Publication
Branche publiée via l'API Gitea (le push git classique a échoué : l'authentification par surrogate n'est pas reprise par git). Cette PR n'est PAS mergée sans go explicite, conformément aux règles du projet.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Ce que ça fait
html_url) est copiée, avec confirmation « URL du projet copiée » et repli (textarea + execCommand) si l'API Clipboard n'est pas disponible.draco-barre.css, prototype Console v7.2 / console Spark) — rayon 14 px, ombre portée, survol/focus visibles, séparateur avant l'action de copie. Corrige la cause du menu transparent : il utilisaitvar(--surface-1), variable jamais définie dans:root.[data-theme="dark"]et repliprefers-color-scheme, comme la barre Fusion.Fichiers
app/templates/dashboard.html,static/css/style.css,static/js/dashboard.js,tests/test_dashboard_menu_copy.py,app/config.py,CHANGELOG.md.Tests
Suite complète locale : 340 passed (dont 3 nouveaux tests menu/copie). Le correctif reste à valider par le build de l'utilisateur (ses captures et ses builds font foi) : menu ⋯ d'une tuile → « Copier l'URL du projet » → coller ailleurs et retrouver l'URL Gitea du bon projet ; menu opaque et lisible.
Publication
Branche publiée via l'API Gitea (le push git classique a échoué : l'authentification par surrogate n'est pas reprise par git). Cette PR n'est PAS mergée sans go explicite, conformément aux règles du projet.