From de158d7c3613608dc20f61fd5e8f24443f645ff2 Mon Sep 17 00:00:00 2001 From: lukas Date: Sun, 13 Sep 2026 20:54:39 +0200 Subject: [PATCH] Remove the food-icon backdrop, back to a plain empty state MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 Claude-Session: https://claude.ai/code/session_01RvYdJ3os7tumimsLdLu2j9 --- .../ordering/MenuBackdrop.module.scss | 11 --- src/components/ordering/MenuBackdrop.tsx | 72 ------------------- .../orders/OrdersListView.module.scss | 7 +- src/components/orders/OrdersListView.tsx | 2 - src/routes/basket.module.scss | 7 +- src/routes/basket.tsx | 2 - 6 files changed, 2 insertions(+), 99 deletions(-) delete mode 100644 src/components/ordering/MenuBackdrop.module.scss delete mode 100644 src/components/ordering/MenuBackdrop.tsx diff --git a/src/components/ordering/MenuBackdrop.module.scss b/src/components/ordering/MenuBackdrop.module.scss deleted file mode 100644 index 204519d..0000000 --- a/src/components/ordering/MenuBackdrop.module.scss +++ /dev/null @@ -1,11 +0,0 @@ -.backdrop { - position: absolute; - inset: 0; - z-index: -1; - overflow: hidden; - pointer-events: none; - filter: blur(3px) grayscale(1); - opacity: 0.6; - background-repeat: repeat; - background-size: 340px 340px; -} diff --git a/src/components/ordering/MenuBackdrop.tsx b/src/components/ordering/MenuBackdrop.tsx deleted file mode 100644 index dddacf8..0000000 --- a/src/components/ordering/MenuBackdrop.tsx +++ /dev/null @@ -1,72 +0,0 @@ -import styles from './MenuBackdrop.module.scss' - -// Rendered once as a tiny repeating SVG tile (not as individual DOM icons) -// set as a CSS background-image, rather than one element per icon. -const pizza = (color: string) => ` - - - - -` - -const burger = (color: string) => ` - - - - - -` - -const fries = (color: string) => ` - - -` - -const ICON_VARIANTS = [pizza, burger, fries] -const ICON_COLORS = [ - '#e2725b', // tomato - '#d9a441', // crust - '#e8c468', // cheese - '#7a9d6e', // basil - '#a5678f', // berry - '#8a5a44', // cocoa -] - -// One icon centered in each grid cell within the tile, so they line up -// evenly instead of clustering. -const TILE_SIZE = 240 -const GRID_COLS = 4 -const GRID_ROWS = 4 -const CELL_WIDTH = TILE_SIZE / GRID_COLS -const CELL_HEIGHT = TILE_SIZE / GRID_ROWS -const ICON_SIZE = 30 -const ICON_SCALE = ICON_SIZE / 24 - -const buildTileSvg = () => { - const instances = Array.from( - { length: GRID_COLS * GRID_ROWS }, - (_, index) => { - const col = index % GRID_COLS - const row = Math.floor(index / GRID_COLS) - const x = col * CELL_WIDTH + CELL_WIDTH / 2 - const y = row * CELL_HEIGHT + CELL_HEIGHT / 2 - const rotate = ((index * 29) % 48) - 24 - const color = ICON_COLORS[index % ICON_COLORS.length] - const icon = ICON_VARIANTS[index % ICON_VARIANTS.length](color) - const transform = `translate(${x.toFixed(1)} ${y.toFixed(1)}) rotate(${rotate}) scale(${ICON_SCALE.toFixed(3)}) translate(-12 -12)` - return `${icon}` - }, - ).join('') - - return `${instances}` -} - -const TILE_DATA_URL = `data:image/svg+xml,${encodeURIComponent(buildTileSvg())}` - -export const MenuBackdrop = () => ( -