style(ui): full UX/UI + motion pass across storefront, admin, editor
Some checks failed
Architecture Governance / architecture (push) Has been cancelled

- fix save-bar buttons to use shared app-button primitive (were unstyled)
- fix platform-nav-group border/radius via structural selectors, drop dead
  -middle/-right classes
- storefront widgets (hero/categories/product-carousel/footer-nav): design
  tokens, hover/focus states, 44px touch targets, entrance motion, reduced-
  motion guards
- admin dashboard cards + quick-actions: hover lift, entrance animation
- admin product-form gallery remove badge: hover/focus + expanded hit area
- project-editor section.shared button styles: hover/active/focus/disabled
  states + reduced-motion; section-switch fade-in motion

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
sdarbinyan
2026-07-16 23:32:31 +04:00
parent 897c1f3196
commit ee1cbdf38b
15 changed files with 358 additions and 51 deletions

View File

@@ -8,6 +8,30 @@
background: var(--bg-primary, #fff);
box-shadow: var(--shadow-sm, 0 2px 8px rgba(0, 0, 0, 0.06));
min-height: 108px;
transition: box-shadow var(--transition-normal, 180ms ease), border-color var(--transition-normal, 180ms ease), transform var(--transition-normal, 180ms ease);
animation: dashboard-card-in 320ms ease-out both;
}
.dashboard-card:hover {
border-color: var(--primary-color, #497671);
box-shadow: var(--shadow-md, 0 4px 12px rgba(0, 0, 0, 0.1));
transform: translateY(-2px);
}
@keyframes dashboard-card-in {
from { opacity: 0; transform: translateY(6px); }
to { opacity: 1; transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
.dashboard-card {
animation: none;
transition: none;
}
.dashboard-card:hover {
transform: none;
}
}
.dashboard-card--error {

View File

@@ -25,13 +25,29 @@
font-weight: 600;
font-size: 14px;
text-decoration: none;
transition: border-color 0.15s ease, box-shadow 0.15s ease;
transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}
.dashboard-quick-actions__item:hover,
.dashboard-quick-actions__item:focus-visible {
border-color: var(--primary-color, #497671);
box-shadow: var(--shadow-sm, 0 2px 8px rgba(0, 0, 0, 0.1));
transform: translateY(-2px);
}
.dashboard-quick-actions__item:active {
transform: translateY(0);
}
@media (prefers-reduced-motion: reduce) {
.dashboard-quick-actions__item {
transition: none;
}
.dashboard-quick-actions__item:hover,
.dashboard-quick-actions__item:focus-visible {
transform: none;
}
}
@media (max-width: 960px) {