mirror of
https://codeberg.org/PostERG/xamxam.git
synced 2026-09-25 01:53:03 +02:00
feat(admin): cleanup page — remove 'Fichiers temporaires' level, promote sections to h2 TOC entries
This commit is contained in:
@@ -1142,6 +1142,31 @@ th.admin-ap-col {
|
||||
margin-left: var(--space-2xs);
|
||||
}
|
||||
|
||||
/* Stat line rendered as a card under a cleanup-section heading. */
|
||||
.cleanup-stat-card {
|
||||
margin: 0 0 var(--space-m);
|
||||
padding: var(--space-s) var(--space-l);
|
||||
background: var(--bg-secondary);
|
||||
border: 1px solid var(--border-primary);
|
||||
border-radius: var(--radius);
|
||||
font-size: var(--step-1);
|
||||
font-weight: 700;
|
||||
color: var(--accent-primary);
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: var(--space-2xs) var(--space-m);
|
||||
align-items: baseline;
|
||||
}
|
||||
|
||||
/* Short French explanation shown under a cleanup-section heading. */
|
||||
.cleanup-section-desc {
|
||||
margin: 0 0 var(--space-m);
|
||||
font-size: var(--step--1);
|
||||
line-height: 1.5;
|
||||
color: var(--text-secondary);
|
||||
max-width: 70ch;
|
||||
}
|
||||
|
||||
.n-grid {
|
||||
display: block;
|
||||
}
|
||||
@@ -2284,6 +2309,15 @@ th.admin-ap-col {
|
||||
margin-bottom: var(--space-m);
|
||||
}
|
||||
|
||||
/* Cleanup page: sections are loaded asynchronously into a wrapper div, so
|
||||
give them the same top-level spacing as direct article sections. */
|
||||
#tmp-cleanup-stats-wrapper > section[aria-labelledby] {
|
||||
margin-bottom: var(--space-xl);
|
||||
border: none;
|
||||
border-radius: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
/* Admin TOC: same <details class="toc"> as public pages, positioned sticky */
|
||||
#admin-toc .toc-list {
|
||||
padding-top: var(--space-2xs);
|
||||
|
||||
@@ -167,3 +167,59 @@
|
||||
.btn--red:hover {
|
||||
filter: brightness(0.9);
|
||||
}
|
||||
|
||||
/* Tooltips — display when a .btn carries a data-tip attribute.
|
||||
Shown below the button on hover/focus, positioned above the
|
||||
toolbar so it never clips inside the scrollable table. */
|
||||
.btn[data-tip] {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.btn[data-tip]::after {
|
||||
content: attr(data-tip);
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
bottom: calc(100% + 8px);
|
||||
transform: translateX(-50%);
|
||||
width: max-content;
|
||||
max-width: 260px;
|
||||
padding: var(--space-3xs) var(--space-xs);
|
||||
border-radius: var(--radius);
|
||||
background: var(--text-primary);
|
||||
color: var(--bg-primary);
|
||||
font-size: var(--step--2);
|
||||
font-weight: 500;
|
||||
letter-spacing: 0.02em;
|
||||
line-height: 1.3;
|
||||
text-align: center;
|
||||
opacity: 0;
|
||||
pointer-events: none;
|
||||
z-index: 1000;
|
||||
transition: opacity 0.12s ease;
|
||||
}
|
||||
|
||||
.btn[data-tip]:hover::after,
|
||||
.btn[data-tip]:focus::after {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
/* Small arrow below the bubble pointing at the button */
|
||||
.btn[data-tip]::before {
|
||||
content: '';
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
bottom: calc(100% + 4px);
|
||||
transform: translateX(-50%);
|
||||
border-left: 5px solid transparent;
|
||||
border-right: 5px solid transparent;
|
||||
border-top: 4px solid var(--text-primary);
|
||||
opacity: 0;
|
||||
pointer-events: none;
|
||||
z-index: 1000;
|
||||
transition: opacity 0.12s ease;
|
||||
}
|
||||
|
||||
.btn[data-tip]:hover::before,
|
||||
.btn[data-tip]:focus::before {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user