Repository navigation
v2 admin : en-tête recopié de la v1, et merge de main - #271
Merged
Merged
Conversation
BrevoEmailSender remplace ResendEmailSender (API transactionnelle Brevo, header api-key). Configuration Brevo:*, variable BREVO_API_KEY, page confidentialité et doc mises à jour.
* Envoi des emails via Brevo au lieu de Resend (#196) BrevoEmailSender remplace ResendEmailSender (API transactionnelle Brevo, header api-key). Configuration Brevo:*, variable BREVO_API_KEY, page confidentialité et doc mises à jour. * Gel de série : retirer du compteur les gels déjà engagés sur une série protégée (#198) La gélule du header affichait encore le stock en base (ex. 2) alors que l'accueil annonçait qu'un gel avait sauvé la série : le stock n'est décrémenté qu'à la complétion du défi. StreakView.Freezes déduit désormais les jours manqués en statut protected, ce qui correspond au stock qui restera après la partie.
… (#241) Le bouton « Partager mon score » ne copiait parfois rien au premier clic : navigator.clipboard.writeText rejette de façon intermittente (NotAllowedError, « Document is not focused »). Sur rejet, ClipboardService retombe sur une copie textarea + execCommand('copy') et remonte l'échec (sans le texte) à l'API.
* feat(admin): renommer un morceau du défi du jour depuis le pool Retire le verrou RenameLock (409 track_locked) : le bouton ✎ est actif sur toutes les lignes du pool, défi du jour compris. Les réponses déjà enregistrées gardent leur verdict, les suivantes sont corrigées avec le nouveau nom. * feat(admin): avertissement dans la modale de renommage pour un morceau du défi du jour
Safari iOS émet `playing` dès l'appel à play(), avant que le son reparte, sans second `playing` ensuite : le chrono d'arrêt coupait le palier à l'aveugle (0,5s → 0,1s de son, voire aucun). Le chrono relit désormais la position de lecture à son échéance et se reprogramme tant que le palier n'est pas atteint ; rien ne coupe pendant un seek.
Bumps coverlet.collector from 10.0.1 to 10.1.0 Bumps WolverineFx from 6.40.0 to 6.43.0 Bumps WolverineFx.EntityFrameworkCore from 6.40.0 to 6.43.0 Bumps WolverineFx.FluentValidation from 6.40.0 to 6.43.0 Bumps WolverineFx.RuntimeCompilation from 6.40.0 to 6.43.0 --- updated-dependencies: - dependency-name: coverlet.collector dependency-version: 10.1.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: nuget-minor-patch - dependency-name: coverlet.collector dependency-version: 10.1.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: nuget-minor-patch - dependency-name: WolverineFx dependency-version: 6.43.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: nuget-minor-patch - dependency-name: WolverineFx.EntityFrameworkCore dependency-version: 6.43.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: nuget-minor-patch - dependency-name: WolverineFx.FluentValidation dependency-version: 6.43.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: nuget-minor-patch - dependency-name: WolverineFx.RuntimeCompilation dependency-version: 6.43.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: nuget-minor-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Conformité aux conditions de l'API Deezer - Confidentialité : ajoute la mention obligatoire « usage strictement privé, dans le cadre familial » (art. IV des conditions Deezer) et corrige le passage qui affirmait que Deezer ne reçoit rien : le navigateur charge extraits et pochettes depuis les CDN Deezer, qui voient l'adresse IP. - Stories Instagram : plus de pochette Deezer dans les images (Deezer interdit de stocker ses images). L'API du récap hebdo ne renvoie plus de coverUrl, une vignette note de musique la remplace. - Doc : piège 47 (CLAUDE.md) et docs des stories. Claude-Session: https://claude.ai/code/session_01B3wbknbbcPyZg2tJQRtvNX * Spec stories : toHaveSize plutôt que length (Sonar S5906) Claude-Session: https://claude.ai/code/session_01B3wbknbbcPyZg2tJQRtvNX * docs(v2): lecteur audio Howler.js dans le plan et le plan de développement AudioPort de la v2 sur Howler.js en Web Audio (décision du 01/10/2026), CORS du CDN des extraits Deezer vérifié le 02/10/2026, CSP connect-src. Fichiers repris de env/staging avec ces modifications. * docs(v2): retire le plan v2 de cette PR (déplacé dans une PR vers env/staging)
Bumps [brace-expansion](https://github.com/juliangruber/brace-expansion) from 1.1.18 to 1.1.21. - [Release notes](https://github.com/juliangruber/brace-expansion/releases) - [Commits](juliangruber/brace-expansion@v1.1.18...v1.1.21) --- updated-dependencies: - dependency-name: brace-expansion dependency-version: 1.1.21 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…xion en bas) - titre et identifiant navigateur centrés, haut de page à 32 px comme en v1 - barre des 5 onglets de la v1 ; ceux de F2 ouvrent une page d'attente sous la barre - déconnexion sous le contenu de l'onglet - plan et suivi de la refonte : mise en page, accès à l'admin du staging, usage à 0 jusqu'en E
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



Part of #205 (suite de C3, #219)
Avant : sur dev.inseconds.cc, l'admin v2 avait 80 px vides en haut, le titre « Admin » aligné à gauche sous un identifiant centré, un seul onglet Pool en pastille orange et « Se déconnecter » en haut à droite.
Après : même en-tête qu'en v1. Le titre et l'identifiant navigateur sont centrés, le haut de page fait 32 px (l'avatar tient à côté du titre, même à 375 px). La barre affiche les 5 onglets de la v1 (Dashboard, Défis, Pool, Joueurs, Actions), avec l'onglet actif sur fond gris. « Se déconnecter » est sous le contenu. Les onglets de F2 ouvrent une page d'attente sous la barre, qui reste utilisable.
Captures (375 px et ordinateur) dans le dossier partagé du projet :
captures/admin-entete-v2/.How
admin-tabs.ts: la liste des onglets etTABS_TO_COME, tirés de cette liste.AdminShellPage: mise en page de la v1.<router-outlet>est placé dans un bloc, sinon il compte comme un élément de la colonne flex et double l'écart.TabComingSoonPage: la page d'attente d'un onglet, affichée dans la coquille. Avant, c'était la page plein écran decore.DEVELOPPEMENT.md(« Après C3 ») explique trois points : la mise en page, l'accès à l'admin du staging (adresse tapée à la main, seul le compteSTAGING_KEEP_EMAILest admin) et pourquoi « 0 utilisé(s) » reste attendu jusqu'en E.PLAN.md§ 6.5 : la garde admin litisAdminde/api/players/me.src/v2/front/CLAUDE.mdmis à jour.main:mainest fusionnée dans la branche pour remettreenv/stagingà jour. Le reste demainétait déjà dansenv/staging(Merge main → env/staging (correctif audio iPhone #249, bumps NuGet #245) #250, Merge main dans env/staging (conformité Deezer) #253), donc les conflits sont résolus en gardantenv/staging. Effet net : seul lepackage-lock.jsonde la v1 change (bump brace-expansion, Bump brace-expansion from 1.1.18 to 1.1.21 in /src/front/InSeconds.Client #267).