İçeriğe geç
English
Tüm örnekler

Flutter Bill Split Summary Card with Per-Person Shares

A group expense card showing the total bill, each person's share with avatar initials, settled and pending states, and how much you're owed. Perfect for fintech and social payment apps.

  • WDiv
  • WIcon
  • WText
önizleme
665kn94h.dart
WDiv(
  className: 'mx-auto max-w-sm flex flex-col gap-5 rounded-3xl p-6 bg-white border border-gray-200 shadow-xl dark:bg-gray-900 dark:border-gray-800',
  children: [
    WDiv(
      className: 'flex flex-row items-center justify-between w-full',
      children: [
        WDiv(
          className: 'flex flex-row items-center gap-3',
          children: [
            WDiv(
              className: 'flex items-center justify-center w-11 h-11 rounded-2xl bg-indigo-100 dark:bg-indigo-500/20',
              child: WIcon(
                Icons.location_on,
                className: 'text-indigo-600 text-xl dark:text-indigo-300',
              ),
            ),
            WDiv(
              className: 'flex flex-col',
              children: [
                WText(
                  'Nodo Sushi Bar',
                  className: 'text-base font-bold text-gray-900 dark:text-white',
                ),
                WText(
                  'Apr 18 · split 4 ways',
                  className: 'text-xs text-gray-500 dark:text-gray-400',
                ),
              ],
            ),
          ],
        ),
        WDiv(
          className: 'flex flex-row items-center gap-1 rounded-full px-3 py-1 bg-amber-100 dark:bg-amber-500/20',
          children: [
            WIcon(
              Icons.schedule,
              className: 'text-amber-600 text-sm dark:text-amber-300',
            ),
            WText(
              'Pending',
              className: 'text-xs font-bold text-amber-700 dark:text-amber-300',
            ),
          ],
        ),
      ],
    ),
    WDiv(
      className: 'flex flex-row items-baseline gap-2',
      children: [
        WText(
          '$184.00',
          className: 'text-4xl font-extrabold text-gray-900 dark:text-white',
        ),
        WText(
          'total bill',
          className: 'text-sm font-medium text-gray-500 dark:text-gray-400',
        ),
      ],
    ),
    WDiv(
      className: 'flex flex-col gap-3 w-full',
      children: [
        WDiv(
          className: 'flex flex-row items-center justify-between w-full',
          children: [
            WDiv(
              className: 'flex flex-row items-center gap-3',
              children: [
                WDiv(
                  className: 'flex items-center justify-center w-9 h-9 rounded-full bg-emerald-500 dark:bg-emerald-500',
                  child: WText(
                    'You',
                    className: 'text-[10px] font-bold text-white',
                  ),
                ),
                WText(
                  'You paid',
                  className: 'text-sm font-semibold text-gray-900 dark:text-white',
                ),
              ],
            ),
            WDiv(
              className: 'flex flex-row items-center gap-2',
              children: [
                WText(
                  '$184.00',
                  className: 'text-sm font-bold text-gray-900 dark:text-white',
                ),
                WIcon(
                  Icons.check,
                  className: 'text-emerald-500 text-base dark:text-emerald-400',
                ),
              ],
            ),
          ],
        ),
        WDiv(
          className: 'flex flex-row items-center justify-between w-full',
          children: [
            WDiv(
              className: 'flex flex-row items-center gap-3',
              children: [
                WDiv(
                  className: 'flex items-center justify-center w-9 h-9 rounded-full bg-rose-500 dark:bg-rose-500',
                  child: WText(
                    'M',
                    className: 'text-xs font-bold text-white',
                  ),
                ),
                WText(
                  'Maya',
                  className: 'text-sm font-semibold text-gray-900 dark:text-white',
                ),
              ],
            ),
            WText(
              'owes $46.00',
              className: 'text-sm font-semibold text-rose-600 dark:text-rose-400',
            ),
          ],
        ),
        WDiv(
          className: 'flex flex-row items-center justify-between w-full',
          children: [
            WDiv(
              className: 'flex flex-row items-center gap-3',
              children: [
                WDiv(
                  className: 'flex items-center justify-center w-9 h-9 rounded-full bg-sky-500 dark:bg-sky-500',
                  child: WText(
                    'L',
                    className: 'text-xs font-bold text-white',
                  ),
                ),
                WText(
                  'Leo',
                  className: 'text-sm font-semibold text-gray-900 dark:text-white',
                ),
              ],
            ),
            WText(
              'owes $46.00',
              className: 'text-sm font-semibold text-rose-600 dark:text-rose-400',
            ),
          ],
        ),
        WDiv(
          className: 'flex flex-row items-center justify-between w-full',
          children: [
            WDiv(
              className: 'flex flex-row items-center gap-3',
              children: [
                WDiv(
                  className: 'flex items-center justify-center w-9 h-9 rounded-full bg-violet-500 dark:bg-violet-500',
                  child: WText(
                    'S',
                    className: 'text-xs font-bold text-white',
                  ),
                ),
                WText(
                  'Sam',
                  className: 'text-sm font-semibold text-gray-900 dark:text-white',
                ),
              ],
            ),
            WDiv(
              className: 'flex flex-row items-center gap-2',
              children: [
                WText(
                  'settled',
                  className: 'text-sm font-semibold text-emerald-600 dark:text-emerald-400',
                ),
                WIcon(
                  Icons.check,
                  className: 'text-emerald-500 text-base dark:text-emerald-400',
                ),
              ],
            ),
          ],
        ),
      ],
    ),
    WDiv(
      className: 'flex flex-row items-center justify-between w-full rounded-2xl px-4 py-3 bg-gray-50 dark:bg-gray-800',
      children: [
        WDiv(
          className: 'flex flex-col',
          children: [
            WText(
              "You're owed",
              className: 'text-xs text-gray-500 dark:text-gray-400',
            ),
            WText(
              '$92.00',
              className: 'text-lg font-extrabold text-emerald-600 dark:text-emerald-400',
            ),
          ],
        ),
        WDiv(
          className: 'flex flex-row items-center gap-1 rounded-full px-4 py-2 bg-indigo-600 dark:bg-indigo-500',
          children: [
            WIcon(
              Icons.notifications,
              className: 'text-white text-sm dark:text-white',
            ),
            WText(
              'Remind',
              className: 'text-xs font-bold text-white dark:text-white',
            ),
          ],
        ),
      ],
    ),
  ],
)
  • Flutter Euro Banknote Card with True Scale Note Stack and Denomination Colours

    A euro banknote card for banking, travel and currency apps: all six Europa series notes from €5 to €200 drawn to true scale in their official grey, red, blue, orange, green and yellow-brown, each tagged with its millimetre size, plus width and height stats showing how every step up adds 6 or 7 mm.

    • WDiv
    • WText
    • WButton
    • WIcon
  • Flutter Income Tax Band Card with Marginal Rate Staircase and Effective Rate

    A Flutter income tax card for payroll, budgeting and personal finance apps: UK 2026/27 personal allowance, basic and higher rate bands drawn to scale for a 60,000 pound salary, tax per band and tiles for total, effective rate and marginal rate. Baseline-aligned wind_kit bars.

    • WDiv
    • WIcon
    • WText
    • WButton
  • Flutter Revenue Bridge Card with Floating Waterfall Steps

    A waterfall bridge that walks opening recurring revenue to closing through new, expansion, contraction and churn. Each step floats at its own running total with a hairline connector to the next, so the additions and the losses are readable without a chart library.

    • WDiv
    • WIcon
    • WText
    • WButton