Fix inputs descriptions searchbar : Corrections et ajout UX (sélection de texte, interface de l’éditeur, pagination de la liste admin et nombre d’utilisateurs)#42
Merged
Conversation
…rticle list so text can be selected. The .article-title-link::after pseudo‑element is dropped, leaving only the title link clickable and making description text selectable on all devices
…article detail and restore mobile text selection. All viewer‑mode UI components are turned off and the read‑only .bn-editor gets user-select: text so mobile browsers like Firefox can select content even when contenteditable is false
…al. A delegated listener on document handles all inputs and textareas, including dynamic ones. Editor fields are excluded and the script is loaded once in base.html
…in users. The endpoint now loads 20 users per page with LIMIT/OFFSET and a count query, updates all adapters and ports, adds pagination UI in the template and includes full test coverage across in‑memory, SQLAlchemy, Flask and integration layers
…in user list. Backend adds username/email search with pagination across all adapters and ports. Frontend adopts the article‑style search bar and removes the old JS. Tests cover in‑memory, SQLAlchemy and Flask behavior
…p modal to the admin user list. The template now uses the shared pagination macro, replaces prev/next with full editorial pagination, updates CSS to the new page‑link styles and adds the jump dialog. Tests are updated to match the new UI
…lignment in the admin user list. A second editorial‑pagination block is added above the table, hidden links are fully removed from the flex flow for proper centering and native number spinners are disabled on the jump‑page input
…n list title. The template now displays “Manage Users (N users)”, the Flask adapter passes the count, and tests are updated to assert the dynamic value
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
Améliorations visuelles et fonctionnelles de l'interface — sélection de texte, pagination numérotée avec fenêtrage et modal de saut, recherche et pagination serveur pour la liste des utilisateurs admin, alignement des axes centraux, nettoyage des doublons de templates et affichage du nombre total d'utilisateurs.
Changements
🎨 Visuel général
.article-title-link::afterqui couvrait toute la carte → le texte des descriptions reste sélectionnablevisibility:hidden→display:nonesur les liens cachés de pagination → le centrage du numéro de page correspond au titre et au lien retour<h1>Manage Users ({{ total_count }} users)</h1>— compteur dynamique visible sur toutes les pages, mis à jour selon la recherche active📱 Mobile
.bn-editorreçoituser-select: text→ sélection fonctionnelle dans le viewer articleoverflow-x: auto+white-space: nowrapsur mobile<input type="number">de la modale Jump to Page⚙️ Backend
LIMIT/OFFSET, comptage, ports et adapteurs mis à jourILIKEsur username + email avec pagination conservée, couvert par 10 tests (InMemory, SQLAlchemy, Flask)total_countpassé au template, test unitaire (mock count=47) + assertion dynamique dans le test d'intégration existant (AccountModel.query.count())