Add smooth animations across WebUI for modern feel

- Tab panels: fade-in with subtle translateY on switch
- Cards: hover lift (translateY -2px), staggered entrance animation
- Modals: spring-curve entrance with backdrop blur
- Buttons: press feedback (scale down on :active)
- Toggle switches: spring overshoot on knob transition
- Toast: smooth bounce-in replaces jarring shake
- Sections: animated height collapse/expand with chevron rotation
- Command palette: slide-down entrance animation
- Theme switch: smooth color transitions on key elements
- Dashboard: section collapse animation, target row hover
- Respects prefers-reduced-motion globally

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-27 00:03:47 +03:00
parent d33d70cfe8
commit 88abd31c1c
10 changed files with 193 additions and 37 deletions
@@ -133,7 +133,7 @@ h2 {
cursor: pointer;
border-bottom: 2px solid transparent;
margin-bottom: -2px;
transition: color 0.2s, border-color 0.2s;
transition: color 0.2s ease, border-color 0.25s ease;
}
.tab-btn:hover {
@@ -171,6 +171,12 @@ h2 {
.tab-panel.active {
display: block;
animation: tabFadeIn 0.25s ease-out;
}
@keyframes tabFadeIn {
from { opacity: 0; transform: translateY(8px); }
to { opacity: 1; transform: translateY(0); }
}
/* Thin animated bar at top of tab panel during data refresh */
@@ -257,6 +263,7 @@ h2 {
inset: 0;
background: rgba(0, 0, 0, 0.5);
backdrop-filter: blur(2px);
animation: fadeIn 0.15s ease-out;
}
.cp-dialog {
@@ -272,6 +279,12 @@ h2 {
flex-direction: column;
overflow: hidden;
align-self: flex-start;
animation: cpSlideDown 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}
@keyframes cpSlideDown {
from { opacity: 0; transform: translateY(-12px) scale(0.98); }
to { opacity: 1; transform: translateY(0) scale(1); }
}
.cp-input {