Area riservata: menu essenziale e veste grafica del sito

Il menu in alto si riduce alle voci che servono davvero — Articoli,
Contenuti, Utenti, Sito, Esci — con la voce corrente evidenziata; ognuna
resta visibile solo a chi ha il ruolo per aprirla, e in pagina di login la
barra mostra il solo marchio. "Nuovo" esce dal menu perché il pulsante per
creare un articolo è già in cima all'elenco Articoli.

Il pannello smette di essere un foglio di stile a sé: adotta i font e la
palette del sito, come Campus e Stress Index, con tabelle, pulsanti, campi
e pillole di stato riportati allo stesso linguaggio.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-07-31 16:28:35 +02:00
parent 8207627425
commit 03510d3940
3 changed files with 140 additions and 46 deletions
+13 -9
View File
@@ -109,22 +109,26 @@ const allStyles = STYLE_GROUPS as Record<string, readonly string[]>;
<style is:global>
.chead { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; flex-wrap: wrap; }
.chead a { color: #7a6a55; }
.cgroup { background: #fff; border: 1px solid #ddd; margin-bottom: 14px; }
.cgroup > summary { padding: 12px 16px; cursor: pointer; background: #eee9e1; font-size: 1.05rem; }
.crow { border-top: 1px solid #eee; }
.chead a { color: var(--c-accent-dark); font-weight: 600; text-decoration: none; }
.cgroup { background: #fff; border: 1px solid #e4dfd7; margin-bottom: 14px; }
.cgroup > summary {
padding: 13px 16px; cursor: pointer; background: #faf8f5; border-bottom: 1px solid #efeae2;
font-family: var(--font-heading); font-size: .78rem; font-weight: 600; letter-spacing: .14em;
text-transform: uppercase; color: var(--c-heading);
}
.crow { border-top: 1px solid #efeae2; }
.crow > summary { padding: 8px 16px; cursor: pointer; display: flex; gap: 12px; align-items: baseline; }
.crow > summary code { background: #f0ece5; padding: 1px 6px; font-size: .82rem; white-space: nowrap; }
.crow > summary code { background: #f2ede5; padding: 2px 7px; font-size: .78rem; white-space: nowrap; color: #6f6357; }
.crow-snippet { color: #888; font-size: .85rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.crow-body { padding: 6px 16px 12px; }
.crow-body .afield { margin-bottom: 8px; }
.cstyles { display: flex; gap: 14px; flex-wrap: wrap; margin: 0 0 8px; }
.cstyles label { font-size: .85rem; color: #555; }
.cstyles label { font-size: .82rem; color: var(--c-text-light); }
.cstyles select { margin-left: 4px; padding: 4px; font: inherit; }
.cactions { margin: 0 0 4px; display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.cimg-preview img { max-width: 240px; max-height: 140px; display: block; border: 1px solid #ddd; }
.cmeta { color: #999; font-size: .78rem; margin: 4px 0 0; }
.crow--hl { outline: 2px solid #b5a48b; }
.cimg-preview img { max-width: 240px; max-height: 140px; display: block; border: 1px solid #e4dfd7; }
.cmeta { color: var(--c-text-light); font-size: .76rem; margin: 4px 0 0; }
.crow--hl { outline: 2px solid var(--c-accent); }
</style>
<script>
+2 -2
View File
@@ -22,8 +22,8 @@ if (Astro.request.method === 'POST') {
---
<Admin title="Login">
<h1>Accesso</h1>
{error && <p style="color:#a33">{error}</p>}
<form method="post" style="max-width:360px">
{error && <p class="form-msg form-msg--err">{error}</p>}
<form class="aform" method="post">
<input class="afield" name="username" placeholder="Utente" required autocomplete="username" />
<input class="afield" type="password" name="password" placeholder="Password" required autocomplete="current-password" />
<button class="abtn" type="submit">Entra</button>