Prima implementazione pagina "Attività"

This commit is contained in:
2026-06-08 09:25:29 +02:00
parent 4661922633
commit b7955f0e1f
34 changed files with 1582 additions and 266 deletions
@@ -1,50 +1,92 @@
.navbar {
background-color: var(--ligther-color);
border-radius: 50px 50px 0 0;
border: #eceff2 solid 1px;
/* ─────────────────────────────────────────────────────────────
NavMenu — bottom nav, soft UI
I .nav-item sono <a> resi da NavLink (componente figlio): vanno
raggiunti con ::deep perché non ricevono l'attributo di scope.
───────────────────────────────────────────────────────────── */
.bottom-nav {
display: flex;
justify-content: space-around;
align-items: center;
position: fixed;
bottom: 0;
width: 100%;
bottom: calc(1rem + env(safe-area-inset-bottom, 0px));
left: 1rem;
right: 1rem;
height: 4.5rem;
padding: 0 0.4rem;
background: rgba(255, 255, 255, 0.92);
backdrop-filter: blur(14px);
-webkit-backdrop-filter: blur(14px);
border: 1px solid rgba(31, 30, 90, 0.05);
border-radius: 26px;
box-shadow: 0 12px 34px rgba(31, 30, 90, 0.14), 0 2px 8px rgba(31, 30, 90, 0.06);
z-index: 100;
}
.nav-item {
font-size: 0.9rem;
padding-bottom: 0.5rem;
.bottom-nav ::deep .nav-item {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
flex: 1;
gap: 0.28rem;
padding: 0.4rem 0;
color: #9a9aae;
text-decoration: none;
transition: color 0.2s ease;
cursor: pointer;
-webkit-tap-highlight-color: transparent;
}
.nav-item ::deep a {
color: var(--darker-color);
.bottom-nav ::deep .nav-item:hover {
color: #6b6b7b;
}
.bottom-nav ::deep .nav-item.active {
color: var(--primary-color);
}
.bottom-nav ::deep .nav-icon-wrap {
display: flex;
align-items: center;
line-height: 1.4;
justify-content: center;
}
.nav-item ::deep a > div {
width: 4.3rem;
height: 4.3rem;
width: 3.2rem;
height: 2.3rem;
border-radius: 100px;
background: transparent;
transition: background 0.22s ease, transform 0.22s ease;
}
.bottom-nav ::deep .nav-item.active .nav-icon-wrap {
background: rgba(83, 82, 237, 0.12);
transform: translateY(-2px);
}
.bottom-nav ::deep .nav-item:hover:not(.active) .nav-icon-wrap {
background: rgba(31, 30, 90, 0.05);
}
.bottom-nav ::deep .nav-item i {
font-size: 1.45rem;
line-height: 1;
display: flex;
align-items: center;
justify-content: center;
padding-bottom: 0.1rem;
-webkit-transition: all .3s ease-out;
transition: all .3s ease-out;
transition: transform 0.22s ease;
}
.nav-item ::deep a.active > div {
background-color: var(--primary-color);
color: white;
.bottom-nav ::deep .nav-item.active i {
transform: scale(1.05);
}
/*.nav-item a:hover :not(.active) {*/
/* background-color: rgba(255, 255, 255, 0.1);*/
/* color: var(--primary-color);*/
/*}*/
.nav-item ::deep a i {
font-size: 2rem;
.bottom-nav ::deep .nav-label {
font-size: 0.68rem;
font-weight: 500;
letter-spacing: 0.01em;
line-height: 1;
text-align: center;
}
.nav-item ::deep a span {
font-size: 0.9rem;
.bottom-nav ::deep .nav-item.active .nav-label {
font-weight: 700;
}