Flutter Stock Watchlist Card with Live Price Deltas

A dark fintech watchlist card with a bold portfolio value, a daily-change indicator, and a list of ticker rows showing price and color-coded percent deltas in green and red pills. Built with Tailwind-style className utilities in Flutter.

Anılcan Çakır by Anılcan Çakır 16 views 0 stars 1 week ago Rev 1
Flutter Stock Watchlist Card with Live Price Deltas preview
main.dart
WDiv(
  className: 'mx-auto max-w-sm flex flex-col gap-4 rounded-3xl p-6 bg-gray-950 shadow-xl dark:bg-gray-950',
  children: [
    WDiv(
      className: 'flex flex-col gap-1',
      children: [
        WDiv(
          className: 'flex flex-row items-center justify-between w-full',
          children: [
            WText(
              'Portfolio',
              className: 'text-xs font-semibold uppercase tracking-widest text-gray-500 dark:text-gray-500'
            ),
            WDiv(
              className: 'flex flex-row items-center gap-1 rounded-full px-2 py-1 bg-green-500/15 dark:bg-green-500/15',
              children: [
                WDiv(
                  className: 'w-2 h-2 rounded-full bg-green-400 dark:bg-green-400',
                  child: WSpacer(
                    className: 'w-2 h-2'
                  ),
                ),
                WText(
                  'Markets open',
                  className: 'text-xs font-medium text-green-400 dark:text-green-400'
                ),
              ],
            ),
          ],
        ),
        WDiv(
          className: 'flex flex-row items-baseline gap-2',
          children: [
            WText(
              '$48,210',
              className: 'text-4xl font-extrabold text-white'
            ),
            WDiv(
              className: 'flex flex-row items-center gap-1',
              children: [
                WIcon(
                  Icons.trending_up,
                  className: 'text-green-400 text-sm dark:text-green-400'
                ),
                WText(
                  '+2.6% today',
                  className: 'text-sm font-semibold text-green-400 dark:text-green-400'
                ),
              ],
            ),
          ],
        ),
      ],
    ),
    WDiv(
      className: 'flex flex-col gap-3 w-full border-t border-gray-800 dark:border-gray-800 pt-4',
      children: [
        WDiv(
          className: 'flex flex-row items-center justify-between w-full',
          children: [
            WDiv(
              className: 'flex flex-col',
              children: [
                WText(
                  'NVDA',
                  className: 'text-base font-bold text-white'
                ),
                WText(
                  'NVIDIA Corp',
                  className: 'text-xs text-gray-500 dark:text-gray-500'
                ),
              ],
            ),
            WDiv(
              className: 'flex flex-row items-center gap-3',
              children: [
                WText(
                  '$184.30',
                  className: 'text-sm font-semibold text-white'
                ),
                WDiv(
                  className: 'rounded-full px-2 py-1 bg-green-500/15 dark:bg-green-500/15',
                  child: WText(
                    '+3.4%',
                    className: 'text-xs font-bold text-green-400 dark:text-green-400'
                  ),
                ),
              ],
            ),
          ],
        ),
        WDiv(
          className: 'flex flex-row items-center justify-between w-full',
          children: [
            WDiv(
              className: 'flex flex-col',
              children: [
                WText(
                  'AAPL',
                  className: 'text-base font-bold text-white'
                ),
                WText(
                  'Apple Inc',
                  className: 'text-xs text-gray-500 dark:text-gray-500'
                ),
              ],
            ),
            WDiv(
              className: 'flex flex-row items-center gap-3',
              children: [
                WText(
                  '$229.87',
                  className: 'text-sm font-semibold text-white'
                ),
                WDiv(
                  className: 'rounded-full px-2 py-1 bg-green-500/15 dark:bg-green-500/15',
                  child: WText(
                    '+1.2%',
                    className: 'text-xs font-bold text-green-400 dark:text-green-400'
                  ),
                ),
              ],
            ),
          ],
        ),
        WDiv(
          className: 'flex flex-row items-center justify-between w-full',
          children: [
            WDiv(
              className: 'flex flex-col',
              children: [
                WText(
                  'TSLA',
                  className: 'text-base font-bold text-white'
                ),
                WText(
                  'Tesla Inc',
                  className: 'text-xs text-gray-500 dark:text-gray-500'
                ),
              ],
            ),
            WDiv(
              className: 'flex flex-row items-center gap-3',
              children: [
                WText(
                  '$242.10',
                  className: 'text-sm font-semibold text-white'
                ),
                WDiv(
                  className: 'rounded-full px-2 py-1 bg-red-500/15 dark:bg-red-500/15',
                  child: WText(
                    '-0.8%',
                    className: 'text-xs font-bold text-red-400 dark:text-red-400'
                  ),
                ),
              ],
            ),
          ],
        ),
        WDiv(
          className: 'flex flex-row items-center justify-between w-full',
          children: [
            WDiv(
              className: 'flex flex-col',
              children: [
                WText(
                  'MSFT',
                  className: 'text-base font-bold text-white'
                ),
                WText(
                  'Microsoft',
                  className: 'text-xs text-gray-500 dark:text-gray-500'
                ),
              ],
            ),
            WDiv(
              className: 'flex flex-row items-center gap-3',
              children: [
                WText(
                  '$418.50',
                  className: 'text-sm font-semibold text-white'
                ),
                WDiv(
                  className: 'rounded-full px-2 py-1 bg-green-500/15 dark:bg-green-500/15',
                  child: WText(
                    '+0.5%',
                    className: 'text-xs font-bold text-green-400 dark:text-green-400'
                  ),
                ),
              ],
            ),
          ],
        ),
      ],
    ),
  ],
)
Stats
Views
16
Stars
0
Revisions
1
Size
6,330 chars
Created
Jun 15, 2026