Files
Ghost_Kitchen/src/components/orders/OrdersListView.module.scss
T
lukasandClaude Sonnet 5 de158d7c36 Remove the food-icon backdrop, back to a plain empty state
Drop MenuBackdrop entirely and put the icon, title, text, and CTA
directly back on the empty state's own solid background — no separate
overlay card needed once there's no pattern behind it to cover up.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RvYdJ3os7tumimsLdLu2j9
2026-09-13 20:54:39 +02:00

147 lines
2.5 KiB
SCSS

@use '../../styles/variables' as *;
.page {
max-width: 720px;
margin: 0 auto;
padding: $space-5 $space-3;
}
.heading {
margin: 0 0 $space-4;
}
@keyframes empty-state-enter {
from {
opacity: 0;
transform: translateY(8px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
.empty {
display: flex;
flex-direction: column;
align-items: center;
gap: $space-1;
padding: $space-5 $space-3;
text-align: center;
border: 1px dashed $color-border;
border-radius: $radius;
background: $color-surface;
@media (prefers-reduced-motion: no-preference) {
animation: empty-state-enter 0.32s cubic-bezier(0.2, 0, 0, 1) both;
}
svg {
width: 2.5rem;
height: 2.5rem;
margin-bottom: $space-2;
color: $color-text-muted;
}
}
.emptyTitle {
margin: 0;
font-size: 1.1rem;
font-weight: 600;
}
.emptyText {
margin: 0 0 $space-3;
color: $color-text-muted;
}
.emptyCta {
display: inline-flex;
align-items: center;
gap: $space-1;
padding: $space-2 $space-4;
border-radius: $radius;
background: $color-primary;
color: $color-primary-contrast;
font-weight: 600;
text-decoration: none;
box-shadow: 0 2px 8px color-mix(in srgb, $color-primary 35%, transparent);
transition:
transform 0.15s ease,
box-shadow 0.15s ease;
&:hover {
transform: translateY(-2px);
box-shadow: 0 6px 16px color-mix(in srgb, $color-primary 45%, transparent);
}
&:active {
transform: translateY(0);
box-shadow: 0 2px 8px color-mix(in srgb, $color-primary 35%, transparent);
}
}
.emptyCtaArrow {
transition: transform 0.15s ease;
}
.emptyCta:hover .emptyCtaArrow {
transform: translateX(3px);
}
.orders {
list-style: none;
margin: 0;
padding: 0;
display: flex;
flex-direction: column;
gap: $space-3;
}
.order {
display: block;
padding: $space-3;
border: 1px solid $color-border;
border-radius: $radius;
background: $color-surface;
color: inherit;
text-decoration: none;
transition:
border-color 0.15s ease,
opacity 0.28s ease,
transform 0.28s ease;
&:hover {
border-color: $color-primary;
}
}
.orderExiting .order {
opacity: 0;
transform: translateY(-8px) scale(0.98);
}
.orderHeader {
display: flex;
justify-content: space-between;
font-weight: 600;
margin-bottom: $space-1;
}
.orderStatus {
text-transform: capitalize;
color: $color-text-muted;
font-weight: 500;
}
.orderItems {
margin: 0 0 $space-1;
font-size: 0.9rem;
}
.orderMeta {
margin: 0;
font-size: 0.85rem;
color: $color-text-muted;
}