Update comment rules session register : Labels de modales harmonisés, espacement hint corrigé, hint email ajouté - #54
Merged
Conversation
…bove the comment form. The article template now shows five French rules covering links, profanity, duplicates, respectful tone and ban conditions. New `.comment-rules` styles added in `article.css`, using the existing design tokens for surface, radius and spacing so the block fits naturally with the rest of the UI
…ened. Username gets a 3–30‑character pattern, passwords require 8+ characters with strength checks, login minimum raised, templates updated with field hints, comment rules moved to English, hint CSS unified, French translations added, tests expanded and migration V18 introduces `session_token` plus a 30‑character username column
…ed. Each account now has a `session_token`, login issues a new random token stored in DB and cookie, and `get_account()` rejects mismatches. The adapter clears sessions and flashes an error for non‑API paths, while API calls return 401 and React redirects to `/`. Token is cleared on logout and ban. English/French translations added. Four new test classes cover adapter, service, integration and in‑memory behavior
… extra flex gap in `.modal-input-group` is removed across article, profile and user‑list styles, and `.field-hint` now gets a small bottom margin for proper visual separation
… modal input labels now use the primary font by removing the `--font-mono` override from article, profile and user‑list styles
…removed. All 27 `__init__.py` files were unused and dropped to adopt implicit namespace packages and improve pytest discovery
…All sub‑8‑character test passwords were replaced with `Str0ng!Pass` to satisfy the new minimum length, and long constructor lines were split to stay under ruff’s 130‑character limit across the affected test files
…d. Logout now returns 403 when no active session and hard‑delete requires admin, matching other admin‑only endpoints. The session adapter short‑circuits before service calls, tests updated for both logout and hard‑delete paths
…All Flask adapters now follow standard third‑party alphabetical order: `from flask import …` is placed before `flask_babel`, and the `g as global_request_context` import is merged into the sorted block across the four adapter files
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.
Contexte
--font-mono(JetBrains Mono) alors que le reste du site utilise--font-primary(Inter). Incohérence visuelle.gap: var(--spacing-sm)sur.modal-input-groupcréait un double espacement entre le.field-hintet l'input : 0.5 rem de gap flex + les marges internes du hint. Le hint semblait trop éloigné de son input.profile.htmln'avait aucun.field-hint, contrairement aux autres champs (password, ban reason).Changements
Police des labels (3 fichiers CSS)
profile.css— retrait defont-family: var(--font-mono)sur.modal-input-group labeluser-list.css— retrait defont-family: var(--font-mono)sur.dialog .modal-input-group labelarticle.css— retrait defont-family: var(--font-mono)sur.modal-input-group labellabel { font-family: var(--font-primary) }global dansbase.cssEspacement hint → input (4 fichiers CSS)
profile.css—.modal-input-group:gappasse devar(--spacing-sm)à0user-list.css—.dialog .modal-input-group:gappasse devar(--spacing-sm)à0article.css—.modal-input-group:gappasse devar(--spacing-sm)à0base.css— ajout demargin-bottom: 0.125remsur.field-hintgap: 0existait déjà pour#ban-modal .modal-input-group, désormais généraliséHint manquant (1 template)
profile.html— ajout de<span class="field-hint">Ex. : user@example.com</span>dans la modale email