mirror of
https://github.com/siop-spelev/siop2.git
synced 2026-08-08 12:41:54 +00:00
feat(r3.4): corrections de recette (8 écarts) + recherche globale ⌘K
Arbitrage du référent sur la revue pixel : tout corriger, activer la recherche. - Stock : filtre fournisseur, sous-seuil en tête, « Entrée de stock » depuis la liste ; fiche pièce : fournisseur → lien Tiers. - Statistiques : période 3/6/12 mois (paramètre months au contrat). - Tiers : rattachements syndic→site (migration r3_recette_fixes, Location.partnerId gardé CLIENT), éditable sur la fiche site, seedé. - Bibliothèque : filtre « Rattaché à » + glisser-déposer (modale préremplie, rattachement toujours requis). - Recherche globale : GET /search (73 opérations) — familles OT/ ascenseurs/sites filtrées par la matrice, « voir autre » respecté ; topbar ⌘K, debounce, résultats groupés, navigation clavier. 74 tests API (8 nouveaux sur le scoping de la recherche), 14/14 Playwright dont un parcours « recette corrigée », 18/18 contrôles en navigateur réel, zéro erreur console. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -187,7 +187,38 @@ table {
|
||||
.recherche svg {
|
||||
width: 15px;
|
||||
height: 15px;
|
||||
flex: none;
|
||||
}
|
||||
.recherche[data-active] { position: relative; color: var(--encre-3); }
|
||||
.recherche input {
|
||||
flex: 1; min-width: 0; border: 0; background: transparent; outline: none;
|
||||
color: var(--encre); font-size: 13px; font-family: inherit;
|
||||
}
|
||||
.recherche input::placeholder { color: var(--encre-3); }
|
||||
.recherche kbd {
|
||||
font-family: inherit; font-size: 11px; color: var(--encre-3);
|
||||
border: 1px solid var(--bordure); border-radius: 5px; padding: 1px 5px;
|
||||
background: var(--surface);
|
||||
}
|
||||
.recherche .resultats {
|
||||
position: absolute; top: calc(100% + 6px); left: 0; right: 0; z-index: 50;
|
||||
background: var(--surface); border: 1px solid var(--bordure);
|
||||
border-radius: var(--rayon); box-shadow: 0 12px 32px rgb(15 23 42 / .14);
|
||||
padding: 6px; max-height: 420px; overflow-y: auto;
|
||||
}
|
||||
.groupe-resultats {
|
||||
font-size: 10.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
|
||||
color: var(--encre-3); padding: 8px 10px 4px;
|
||||
}
|
||||
.resultat {
|
||||
display: flex; align-items: center; gap: 10px; width: 100%;
|
||||
padding: 8px 10px; border-radius: 8px; text-align: left;
|
||||
color: var(--encre); font-size: 13px; cursor: pointer;
|
||||
}
|
||||
.resultat[data-actif] { background: var(--primaire-doux); }
|
||||
.resultat .ref { color: var(--primaire); font-weight: 700; flex: none; }
|
||||
.resultat .titre { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
|
||||
.resultat .fin { flex: none; color: var(--encre-2); font-size: 12px; display: inline-flex; }
|
||||
.compte {
|
||||
margin-left: auto;
|
||||
display: flex;
|
||||
@@ -896,6 +927,15 @@ table {
|
||||
.total { display: flex; justify-content: space-between; font-weight: 700; padding-top: 10px; font-size: 14px; }
|
||||
|
||||
/* Bibliothèque */
|
||||
.zone-depot {
|
||||
width: 100%; border: 1.5px dashed var(--bordure-forte, var(--bordure));
|
||||
border-radius: var(--rayon); background: var(--surface);
|
||||
padding: 16px; color: var(--encre-2); font-size: 13px; text-align: center;
|
||||
cursor: pointer; transition: border-color .15s, background-color .15s;
|
||||
}
|
||||
.zone-depot:hover, .zone-depot[data-survol] {
|
||||
border-color: var(--primaire); background: var(--primaire-doux); color: var(--encre);
|
||||
}
|
||||
.docs { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
|
||||
@media (max-width: 1100px) { .docs { grid-template-columns: repeat(2, 1fr); } }
|
||||
.doc {
|
||||
|
||||
Reference in New Issue
Block a user