Guide d'utilisation accessible depuis toute la navigation
Les écrans expliquaient chacun leur propre action, mais rien ne racontait l'enchaînement : un nouvel utilisateur ne pouvait pas deviner qu'un lieu doit exister avant un agent, ni qu'un planning se saisit en brouillon avant d'être validé. La page « faq » déroule ce parcours complet, du paramétrage des lieux au suivi annuel, et répond aux questions qui reviennent (chevauchements, quota dépassé, planning validé à corriger). Son bouton d'accès est ancré à droite de la barre de navigation plutôt que rangé dans un groupe d'intention : le guide n'est pas une étape du travail, c'est un secours permanent. Il est donc volontairement absent de $navigation — c'est aussi ce qui l'empêche d'être repêché par le filet « Autres » et d'apparaître deux fois. La barre défilant horizontalement quand les onglets débordent, le bloc est en position sticky pour rester atteignable. La page reste soumise à la règle V7.8 : le droit vient de acces_role_page, ouvert aux trois rôles. Sans la migration, ni bouton ni page. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
196
assets/style.css
196
assets/style.css
@@ -2820,3 +2820,199 @@ textarea:disabled {
|
||||
.dashboard-list-meta { text-align: left; }
|
||||
.dashboard-list-action { width: 100%; justify-content: center; }
|
||||
}
|
||||
|
||||
/* ============================================================
|
||||
PTA V7.10 - Guide d'utilisation (FAQ)
|
||||
============================================================ */
|
||||
|
||||
/* --- Bouton d'accès ancré à droite de la navigation --------- */
|
||||
/* La barre défile horizontalement quand les onglets débordent ;
|
||||
`position: sticky` garde le guide visible quoi qu'il arrive. */
|
||||
.view-tab-help {
|
||||
display: flex;
|
||||
position: sticky;
|
||||
right: 0;
|
||||
align-items: center;
|
||||
margin-left: auto;
|
||||
padding-left: 0.55rem;
|
||||
background: #f8fafc;
|
||||
box-shadow: -14px 0 12px -10px rgba(15, 23, 42, 0.16);
|
||||
}
|
||||
|
||||
.view-tabs-grouped .view-tab-help { border-left: 1px solid #e2e8f0; }
|
||||
|
||||
.view-tab-faq {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 0.4rem;
|
||||
color: #263238;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.view-tab-faq-mark {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
width: 1.35rem;
|
||||
height: 1.35rem;
|
||||
border-radius: 50%;
|
||||
background: #263238;
|
||||
color: #fff;
|
||||
font-size: 0.78rem;
|
||||
line-height: 1;
|
||||
}
|
||||
|
||||
.view-tab-faq:hover,
|
||||
.view-tab-faq:focus-visible { background: #fff; }
|
||||
|
||||
/* --- Mise en page du guide --------------------------------- */
|
||||
.faq-layout {
|
||||
display: grid;
|
||||
grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
|
||||
align-items: start;
|
||||
gap: 20px;
|
||||
}
|
||||
|
||||
.faq-summary {
|
||||
position: sticky;
|
||||
top: 18px;
|
||||
padding: 18px 20px;
|
||||
}
|
||||
|
||||
.faq-summary-title {
|
||||
margin: 0 0 10px;
|
||||
color: #7b8794;
|
||||
font-size: 0.7rem;
|
||||
font-weight: 800;
|
||||
letter-spacing: 0.12em;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
.faq-summary-list {
|
||||
margin: 0;
|
||||
padding-left: 1.1rem;
|
||||
color: #66737d;
|
||||
font-size: 0.9rem;
|
||||
}
|
||||
|
||||
.faq-summary-list li { margin-bottom: 7px; }
|
||||
.faq-summary-list a { color: #263238; text-decoration: none; }
|
||||
.faq-summary-list a:hover,
|
||||
.faq-summary-list a:focus-visible { text-decoration: underline; }
|
||||
|
||||
.faq-summary-note {
|
||||
margin: 14px 0 0;
|
||||
padding-top: 12px;
|
||||
border-top: 1px solid #eceff1;
|
||||
color: #66737d;
|
||||
font-size: 0.8rem;
|
||||
}
|
||||
|
||||
.faq-section { scroll-margin-top: 18px; }
|
||||
.faq-section h3 { margin: 22px 0 8px; font-size: 1rem; }
|
||||
.faq-section p { line-height: 1.55; }
|
||||
.faq-section code {
|
||||
padding: 1px 5px;
|
||||
border-radius: 5px;
|
||||
background: #eef1f4;
|
||||
font-size: 0.86rem;
|
||||
}
|
||||
.faq-section kbd {
|
||||
padding: 1px 6px;
|
||||
border: 1px solid #cfd8dc;
|
||||
border-bottom-width: 2px;
|
||||
border-radius: 5px;
|
||||
background: #f8fafc;
|
||||
font-size: 0.82rem;
|
||||
}
|
||||
|
||||
/* --- Le parcours en huit étapes ---------------------------- */
|
||||
.faq-flow {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
|
||||
gap: 12px;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
.faq-flow li {
|
||||
display: grid;
|
||||
gap: 3px;
|
||||
padding: 13px 15px;
|
||||
border: 1px solid #e4e8eb;
|
||||
border-radius: 12px;
|
||||
background: #f9fbfc;
|
||||
}
|
||||
|
||||
.faq-flow-step {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
width: 1.6rem;
|
||||
height: 1.6rem;
|
||||
border-radius: 50%;
|
||||
background: #263238;
|
||||
color: #fff;
|
||||
font-size: 0.8rem;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.faq-flow li small { color: #66737d; font-size: 0.82rem; line-height: 1.4; }
|
||||
|
||||
/* --- Étapes numérotées et listes --------------------------- */
|
||||
.faq-steps { margin: 0; padding-left: 1.3rem; }
|
||||
.faq-steps li { margin-bottom: 9px; line-height: 1.55; }
|
||||
.faq-list { margin: 0 0 4px; padding-left: 1.3rem; }
|
||||
.faq-list li { margin-bottom: 7px; line-height: 1.55; }
|
||||
|
||||
.faq-callout { margin: 16px 0 0; }
|
||||
|
||||
.faq-table th,
|
||||
.faq-table td { vertical-align: top; line-height: 1.5; }
|
||||
.faq-table tr.faq-row-current { background: #f2f7f4; }
|
||||
|
||||
.faq-level {
|
||||
display: inline-block;
|
||||
padding: 2px 8px;
|
||||
border-radius: 999px;
|
||||
font-size: 0.74rem;
|
||||
font-weight: 800;
|
||||
letter-spacing: 0.03em;
|
||||
text-transform: uppercase;
|
||||
white-space: nowrap;
|
||||
}
|
||||
.faq-level-error { background: #fdecec; color: #a3212f; }
|
||||
.faq-level-warning { background: #fffbeb; color: #7d5c00; }
|
||||
.faq-level-info { background: #eef2f7; color: #37474f; }
|
||||
|
||||
/* --- Questions / réponses ---------------------------------- */
|
||||
.faq-qa { margin: 0; }
|
||||
.faq-qa dt {
|
||||
margin-top: 16px;
|
||||
font-weight: 700;
|
||||
}
|
||||
.faq-qa dt:first-child { margin-top: 0; }
|
||||
.faq-qa dd {
|
||||
margin: 5px 0 0;
|
||||
padding-left: 13px;
|
||||
border-left: 3px solid #e4e8eb;
|
||||
color: #4b5563;
|
||||
line-height: 1.55;
|
||||
}
|
||||
|
||||
@media (max-width: 1000px) {
|
||||
.faq-layout { grid-template-columns: minmax(0, 1fr); }
|
||||
.faq-summary { position: static; }
|
||||
}
|
||||
|
||||
@media (max-width: 900px) {
|
||||
.view-tab-help {
|
||||
position: static;
|
||||
width: 100%;
|
||||
margin-left: 0;
|
||||
padding-left: 0;
|
||||
box-shadow: none;
|
||||
}
|
||||
.view-tabs-grouped .view-tab-help { border-left: 0; }
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user