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

Flutter VPN Connection Status Card with Server and Speed Stats

A VPN client status card with a large protected state badge, the active server and its latency, protocol and kill switch rows in a soft inner panel, session and throughput stats, plus a disconnect action. Shows how Wind handles centred column layouts, nested panels and dark-mode inverted buttons.

  • WDiv
  • WText
  • WIcon
  • WButton
önizleme
y4qg19mu.dart
WDiv(
  className: 'max-w-sm w-full rounded-3xl bg-white dark:bg-gray-900 border border-gray-200 dark:border-gray-800 shadow-xl p-6',
  children: [
    WDiv(
      className: 'flex flex-row items-center justify-between w-full',
      children: [
        WText(
          'Private Tunnel',
          className: 'text-base font-bold text-gray-900 dark:text-white'
        ),
        WDiv(
          className: 'flex flex-row items-center px-3 py-1 rounded-full bg-emerald-100 dark:bg-emerald-800',
          children: [
            WDiv(
              className: 'w-2 h-2 rounded-full bg-emerald-500 dark:bg-emerald-300'
            ),
            WText(
              'Connected',
              className: 'text-xs font-semibold text-emerald-700 dark:text-emerald-100 ml-1.5'
            ),
          ],
        ),
      ],
    ),
    WDiv(
      className: 'flex flex-col items-center w-full mt-6',
      children: [
        WDiv(
          className: 'w-16 h-16 rounded-full bg-emerald-50 dark:bg-emerald-900 flex flex-row items-center justify-center',
          child: WIcon(
            Icons.check_circle,
            className: 'text-emerald-600 dark:text-emerald-300 text-3xl'
          ),
        ),
        WText(
          'Protected',
          className: 'text-xl font-extrabold text-gray-900 dark:text-white mt-3'
        ),
        WText(
          'Your traffic is encrypted end to end',
          className: 'text-xs text-gray-500 dark:text-gray-400 mt-1'
        ),
      ],
    ),
    WDiv(
      className: 'flex flex-col w-full rounded-2xl bg-gray-50 dark:bg-gray-800 p-4 mt-6',
      children: [
        WDiv(
          className: 'flex flex-row items-center justify-between w-full',
          children: [
            WDiv(
              className: 'flex flex-row items-center',
              children: [
                WIcon(
                  Icons.location_on,
                  className: 'text-indigo-500 dark:text-indigo-400 text-base'
                ),
                WText(
                  'Frankfurt, Germany',
                  className: 'text-sm font-semibold text-gray-900 dark:text-white ml-2'
                ),
              ],
            ),
            WDiv(
              className: 'px-2.5 py-1 rounded-full bg-emerald-100 dark:bg-emerald-800',
              child: WText(
                '18 ms',
                className: 'text-xs font-semibold text-emerald-700 dark:text-emerald-100'
              ),
            ),
          ],
        ),
        WDiv(
          className: 'flex flex-row items-center justify-between w-full mt-3',
          children: [
            WText(
              'Protocol',
              className: 'text-xs text-gray-500 dark:text-gray-400'
            ),
            WText(
              'WireGuard  |  AES-256',
              className: 'text-xs font-semibold text-gray-700 dark:text-gray-200'
            ),
          ],
        ),
        WDiv(
          className: 'flex flex-row items-center justify-between w-full mt-2',
          children: [
            WText(
              'Kill switch',
              className: 'text-xs text-gray-500 dark:text-gray-400'
            ),
            WDiv(
              className: 'flex flex-row items-center',
              children: [
                WIcon(
                  Icons.bolt,
                  className: 'text-amber-500 dark:text-amber-400 text-sm'
                ),
                WText(
                  'Always on',
                  className: 'text-xs font-semibold text-gray-700 dark:text-gray-200 ml-1'
                ),
              ],
            ),
          ],
        ),
      ],
    ),
    WDiv(
      className: 'flex flex-row items-center justify-between w-full mt-5',
      children: [
        WDiv(
          className: 'flex flex-col',
          children: [
            WText(
              '01:42:07',
              className: 'text-sm font-bold text-gray-900 dark:text-white'
            ),
            WText(
              'Session',
              className: 'text-xs text-gray-400 dark:text-gray-500 mt-0.5'
            ),
          ],
        ),
        WDiv(
          className: 'flex flex-col',
          children: [
            WText(
              '84 Mbps',
              className: 'text-sm font-bold text-gray-900 dark:text-white'
            ),
            WText(
              'Download',
              className: 'text-xs text-gray-400 dark:text-gray-500 mt-0.5'
            ),
          ],
        ),
        WDiv(
          className: 'flex flex-col',
          children: [
            WText(
              '21 Mbps',
              className: 'text-sm font-bold text-gray-900 dark:text-white'
            ),
            WText(
              'Upload',
              className: 'text-xs text-gray-400 dark:text-gray-500 mt-0.5'
            ),
          ],
        ),
      ],
    ),
    WDiv(
      className: 'w-full mt-6',
      child: WButton(
        className: 'w-full rounded-2xl bg-gray-900 dark:bg-white py-3',
        child: WText(
          'Disconnect',
          className: 'text-white dark:text-gray-900 text-center font-semibold text-sm'
        ),
      ),
    ),
  ],
)
  • Flutter File Permission Card with rwx Grid and Octal Mode Readout

    A Flutter file permission card for DevOps dashboards, hosting panels and learning apps: a terminal-style grid of owner, group and other against read, write and execute, bits worth 4, 2 and 1 summing to the octal digits of mode 755, plus the chmod command and the -rwxr-xr-x listing. Built with wind_kit.

    • WDiv
    • WIcon
    • WText
    • WButton
  • Flutter Contrast Checker Card with WCAG AA and AAA Pass Badges

    A WCAG 2.2 colour contrast card for design system and accessibility apps: text and background swatches, a live preview of body and large text, the 3.74:1 ratio on a threshold scale, AA and AAA pass or fail tiles for normal and large text, and a one-tap fix to the nearest passing shade.

    • WDiv
    • WIcon
    • WText
    • WButton
  • Flutter Subnet Calculator Card with 32 Bit Network and Host Grid

    A Flutter subnet calculator card for network and developer tools: an IPv4 address with its CIDR prefix, all 32 bits by octet with network and host bits in two colours, plus network, mask, first and last host, broadcast and usable hosts. A correct /21 worked example built with wind_kit.

    • WDiv
    • WIcon
    • WText
    • WButton