Skip to content
Türkçe
All snippets

Flutter Restaurant Menu Dish Card with Price and Rating

A food-delivery menu item card built with Wind: a gradient dish header with a popular badge and favorite toggle, star rating, dish description, dietary tags, price, and an add-to-cart button. Dark-mode ready.

  • WDiv
  • WIcon
  • WText
  • WButton
preview
ulanajw0.dart
WDiv(
  className: 'mx-auto max-w-sm flex flex-col rounded-3xl bg-white border border-gray-100 shadow-xl overflow-hidden dark:bg-gray-900 dark:border-gray-800',
  children: [
    WDiv(
      className: 'w-full h-32 bg-gradient-to-br from-orange-400 to-rose-500 flex flex-col justify-between p-3',
      children: [
        WDiv(
          className: 'flex flex-row items-center justify-between w-full',
          children: [
            WDiv(
              className: 'flex flex-row items-center gap-1 px-2.5 py-1 rounded-full bg-white/90 dark:bg-gray-900/80',
              children: [
                WIcon(
                  Icons.local_fire_department,
                  className: 'text-sm text-orange-500 dark:text-orange-400'
                ),
                WText(
                  'Popular',
                  className: 'text-xs font-bold text-gray-800 dark:text-white'
                ),
              ]
            ),
            WDiv(
              className: 'w-8 h-8 rounded-full bg-white/90 dark:bg-gray-900/80 flex flex-row items-center justify-center',
              child: WIcon(
                Icons.favorite,
                className: 'text-base text-rose-500 dark:text-rose-400'
              )
            ),
          ]
        ),
        WDiv(
          className: 'flex flex-row w-full',
          child: WDiv(
            className: 'flex flex-row items-center gap-1 px-2.5 py-1 rounded-full bg-black/35',
            children: [
              WIcon(
                Icons.schedule,
                className: 'text-sm text-white dark:text-white'
              ),
              WText(
                '20 min',
                className: 'text-xs font-semibold text-white dark:text-white'
              ),
            ]
          )
        ),
      ]
    ),
    WDiv(
      className: 'flex flex-col gap-3 p-5 w-full',
      children: [
        WText(
          'Truffle Mushroom Risotto',
          className: 'text-lg font-bold text-gray-900 dark:text-white'
        ),
        WDiv(
          className: 'flex flex-row items-center gap-2 w-full',
          children: [
            WDiv(
              className: 'flex flex-row items-center gap-0.5',
              children: [
                WIcon(
                  Icons.star,
                  className: 'text-sm text-amber-400 dark:text-amber-400'
                ),
                WIcon(
                  Icons.star,
                  className: 'text-sm text-amber-400 dark:text-amber-400'
                ),
                WIcon(
                  Icons.star,
                  className: 'text-sm text-amber-400 dark:text-amber-400'
                ),
                WIcon(
                  Icons.star,
                  className: 'text-sm text-amber-400 dark:text-amber-400'
                ),
                WIcon(
                  Icons.star,
                  className: 'text-sm text-amber-400 dark:text-amber-400'
                ),
              ]
            ),
            WText(
              '4.8 (210)',
              className: 'text-xs font-medium text-gray-500 dark:text-gray-400'
            ),
          ]
        ),
        WText(
          'Creamy arborio rice slow-cooked with wild mushrooms, aged parmesan, and a drizzle of black truffle oil.',
          className: 'text-sm text-gray-500 dark:text-gray-400'
        ),
        WDiv(
          className: 'flex flex-row items-center gap-2 w-full',
          children: [
            WDiv(
              className: 'px-2.5 py-1 rounded-lg bg-emerald-50 dark:bg-emerald-500/15',
              child: WText(
                'Vegetarian',
                className: 'text-xs font-semibold text-emerald-600 dark:text-emerald-300'
              )
            ),
            WDiv(
              className: 'px-2.5 py-1 rounded-lg bg-gray-100 dark:bg-gray-800',
              child: WText(
                '320 kcal',
                className: 'text-xs font-semibold text-gray-500 dark:text-gray-400'
              )
            ),
          ]
        ),
        WDiv(
          className: 'flex flex-row items-center justify-between w-full',
          children: [
            WDiv(
              className: 'flex flex-col',
              children: [
                WText(
                  'Price',
                  className: 'text-xs font-medium text-gray-400 dark:text-gray-500'
                ),
                WText(
                  '$14.50',
                  className: 'text-xl font-bold text-gray-900 dark:text-white'
                ),
              ]
            ),
            WButton(
              className: 'rounded-full px-5 py-2.5 bg-gray-900 shadow-lg dark:bg-white flex flex-row items-center gap-1.5',
              child: WDiv(
                className: 'flex flex-row items-center gap-1.5',
                children: [
                  WIcon(
                    Icons.add,
                    className: 'text-base text-white dark:text-gray-900'
                  ),
                  WText(
                    'Add',
                    className: 'text-sm font-bold text-white dark:text-gray-900'
                  ),
                ]
              )
            ),
          ]
        ),
      ]
    ),
  ],
)
  • Flutter Bookshelf Card with Book Spine Shelves and Reading Goal

    A reading tracker card for Flutter book apps, built with Wind: two wooden shelves of book spines in varied heights, colours and foil bands, a flat stack, a bookmark ribbon on the current read, a reading challenge badge and a page progress bar. The spine counts match the goal it reports.

    • WDiv
    • WText
    • WButton
  • Flutter Restaurant Floor Plan Card with Table Occupancy Status

    A Flutter restaurant floor plan card for host stand apps: round tops, banquette booths, a communal eight-top and a bar with stools, each table coloured free, seated or held. Every table is a div at a fixed pixel coordinate in wind_kit over WDynamic, no canvas, no image.

    • WDiv
    • WIcon
    • WText
    • WButton
  • Flutter Hiking Trail Card with Elevation Profile and Waypoints

    A Flutter hiking trail card for outdoor, trail running and cycling apps: a 34-step elevation profile with a ridge line, markers for trailhead, summit and lake, a distance axis, trip stat tiles, a snow advisory strip and a navigation button. Built with wind_kit className strings only.

    • WDiv
    • WText
    • WIcon
    • WButton