style(web): lebendigere Kacheln deutlich sichtbar - gelber Symbol-Chip, 4px Anheben, spuerbares Einblenden
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -434,7 +434,7 @@ input[type="checkbox"], input[type="radio"] {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Runde 3 — mehr Leben in den Kacheln, ohne bunt zu werden.
|
/* Runde 3 — mehr Leben in den Kacheln, ohne bunt zu werden.
|
||||||
Symbol-Chip: Flaeche und Symbol aus der persoenlichen Akzentfarbe. */
|
Symbol-Chip: volle Akzentfarbe als Flaeche, Symbol in der passenden Vordergrundfarbe. */
|
||||||
.widget-icon-chip {
|
.widget-icon-chip {
|
||||||
display: inline-flex;
|
display: inline-flex;
|
||||||
flex-shrink: 0;
|
flex-shrink: 0;
|
||||||
@@ -443,39 +443,35 @@ input[type="checkbox"], input[type="radio"] {
|
|||||||
width: 1.625rem;
|
width: 1.625rem;
|
||||||
height: 1.625rem;
|
height: 1.625rem;
|
||||||
border-radius: 0.4375rem;
|
border-radius: 0.4375rem;
|
||||||
background-color: color-mix(in oklab, var(--primary) 24%, var(--card));
|
background-color: var(--primary);
|
||||||
color: color-mix(in oklab, var(--primary) 38%, oklch(0.27 0.02 90));
|
color: var(--primary-foreground);
|
||||||
}
|
|
||||||
.dark .widget-icon-chip {
|
|
||||||
background-color: color-mix(in oklab, var(--primary) 16%, var(--card));
|
|
||||||
color: var(--primary);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Karte hebt sich beim Zeigen leicht an (nur Maus, nur Ansicht). */
|
/* Karte hebt sich beim Zeigen leicht an (nur Maus, nur Ansicht). */
|
||||||
@media (hover: hover) {
|
@media (hover: hover) {
|
||||||
.widget-card {
|
.widget-card {
|
||||||
transition: box-shadow 160ms ease-out, translate 160ms ease-out;
|
transition: box-shadow 180ms ease-out, translate 180ms ease-out;
|
||||||
}
|
}
|
||||||
.widget-card:not(.widget-drag-handle):hover {
|
.widget-card:not(.widget-drag-handle):hover {
|
||||||
translate: 0 -1px;
|
translate: 0 -4px;
|
||||||
box-shadow: 0 0 2px oklch(0 0 0 / 0.12), 0 6px 16px oklch(0 0 0 / 0.12);
|
box-shadow: 0 0 2px oklch(0 0 0 / 0.14), 0 14px 30px oklch(0 0 0 / 0.18);
|
||||||
}
|
}
|
||||||
.dark .widget-card:not(.widget-drag-handle):hover {
|
.dark .widget-card:not(.widget-drag-handle):hover {
|
||||||
box-shadow: 0 0 0 1px oklch(1 0 0 / 0.08), 0 8px 20px oklch(0 0 0 / 0.45);
|
box-shadow: 0 0 0 1px oklch(1 0 0 / 0.12), 0 16px 34px oklch(0 0 0 / 0.6);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Beim Laden blenden die Kacheln gestaffelt ein (je 40 ms, --enter-delay). */
|
/* Beim Laden blenden die Kacheln gestaffelt ein (je 80 ms, --enter-delay). */
|
||||||
@media (prefers-reduced-motion: no-preference) {
|
@media (prefers-reduced-motion: no-preference) {
|
||||||
.widget-card {
|
.widget-card {
|
||||||
animation: widget-enter 320ms cubic-bezier(0.2, 0.7, 0.3, 1) both;
|
animation: widget-enter 520ms cubic-bezier(0.2, 0.7, 0.3, 1) both;
|
||||||
animation-delay: var(--enter-delay, 0ms);
|
animation-delay: var(--enter-delay, 0ms);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@keyframes widget-enter {
|
@keyframes widget-enter {
|
||||||
from {
|
from {
|
||||||
opacity: 0;
|
opacity: 0;
|
||||||
transform: translateY(6px);
|
transform: translateY(24px) scale(0.97);
|
||||||
}
|
}
|
||||||
to {
|
to {
|
||||||
opacity: 1;
|
opacity: 1;
|
||||||
|
|||||||
@@ -52,7 +52,7 @@ export function WidgetWrapper({ widget, isEditMode, onRemove, enterIndex = 0 }:
|
|||||||
return (
|
return (
|
||||||
<article
|
<article
|
||||||
className={cardClassName}
|
className={cardClassName}
|
||||||
style={{ '--enter-delay': `${Math.min(enterIndex, 8) * 40}ms` } as CSSProperties}
|
style={{ '--enter-delay': `${Math.min(enterIndex, 8) * 80}ms` } as CSSProperties}
|
||||||
data-widget-id={widget.id}
|
data-widget-id={widget.id}
|
||||||
aria-label={definition ? t(definition.nameKey) : widget.widgetType}
|
aria-label={definition ? t(definition.nameKey) : widget.widgetType}
|
||||||
>
|
>
|
||||||
|
|||||||
Reference in New Issue
Block a user