Flutter Kanban Task Card with Subtask Progress

A project task card in an in-progress state with a priority badge, labelled tags, a subtask progress bar, an assignee avatar cluster, and a due-date chip. Built with Wind utility classes and full dark-mode pairs.

Anılcan Çakır by Anılcan Çakır 17 views 0 stars 1 week ago Rev 1
Flutter Kanban Task Card with Subtask Progress preview
main.dart
WDiv(
  className: 'flex flex-col max-w-sm w-full rounded-2xl p-5 bg-white dark:bg-gray-900 border border-gray-200 dark:border-gray-800 shadow-lg',
  children: [
    WDiv(
      className: 'flex flex-row items-center justify-between w-full mb-4',
      children: [
        WDiv(
          className: 'flex flex-row items-center rounded-full px-3 py-1 bg-blue-50 dark:bg-blue-950',
          children: [
            WDiv(
              className: 'w-2 h-2 rounded-full bg-blue-500 dark:bg-blue-400 mr-2',
              child: WSpacer(),
            ),
            WText(
              'In Progress',
              className: 'text-xs font-semibold text-blue-700 dark:text-blue-300'
            ),
          ],
        ),
        WDiv(
          className: 'rounded-full px-3 py-1 bg-rose-50 dark:bg-rose-950',
          child: WText(
            'High',
            className: 'text-xs font-bold text-rose-600 dark:text-rose-400'
          ),
        ),
      ],
    ),
    WText(
      'Redesign onboarding flow',
      className: 'text-lg font-bold text-gray-900 dark:text-white mb-1'
    ),
    WText(
      'Ship the new 3-step signup with progress indicators and skip option.',
      className: 'text-sm text-gray-500 dark:text-gray-400 mb-4'
    ),
    WDiv(
      className: 'flex flex-row items-center mb-5',
      children: [
        WDiv(
          className: 'rounded-md px-2 py-1 bg-violet-50 dark:bg-violet-950 mr-2',
          child: WText(
            'Design',
            className: 'text-xs font-semibold text-violet-700 dark:text-violet-300'
          ),
        ),
        WDiv(
          className: 'rounded-md px-2 py-1 bg-emerald-50 dark:bg-emerald-950',
          child: WText(
            'Sprint 4',
            className: 'text-xs font-semibold text-emerald-700 dark:text-emerald-300'
          ),
        ),
      ],
    ),
    WDiv(
      className: 'flex flex-row items-center justify-between w-full mb-2',
      children: [
        WText(
          'Subtasks',
          className: 'text-xs font-medium text-gray-600 dark:text-gray-300'
        ),
        WText(
          '3 of 5',
          className: 'text-xs font-bold text-gray-900 dark:text-white'
        ),
      ],
    ),
    WDiv(
      className: 'flex flex-row w-full h-2 rounded-full bg-gray-100 dark:bg-gray-800 mb-5',
      child: WDiv(
        className: 'h-2 rounded-full bg-blue-500 dark:bg-blue-400 w-40',
        child: WSpacer(),
      ),
    ),
    WDiv(
      className: 'flex flex-row items-center justify-between w-full pt-4 border-t border-gray-100 dark:border-gray-800',
      children: [
        WDiv(
          className: 'flex flex-row items-center',
          children: [
            WDiv(
              className: 'flex flex-row items-center justify-center w-8 h-8 rounded-full bg-blue-500 dark:bg-blue-600 border-2 border-white dark:border-gray-900',
              child: WText(
                'AÇ',
                className: 'text-xs font-bold text-white dark:text-white'
              ),
            ),
            WDiv(
              className: 'flex flex-row items-center justify-center w-8 h-8 rounded-full bg-emerald-500 dark:bg-emerald-600 border-2 border-white dark:border-gray-900',
              child: WText(
                'MK',
                className: 'text-xs font-bold text-white dark:text-white'
              ),
            ),
            WDiv(
              className: 'flex flex-row items-center justify-center w-8 h-8 rounded-full bg-amber-500 dark:bg-amber-600 border-2 border-white dark:border-gray-900',
              child: WText(
                '+3',
                className: 'text-xs font-bold text-white dark:text-white'
              ),
            ),
          ],
        ),
        WDiv(
          className: 'flex flex-row items-center rounded-full px-3 py-1 bg-gray-100 dark:bg-gray-800',
          children: [
            WIcon(
              Icons.calendar_today,
              className: 'text-sm text-gray-500 dark:text-gray-400 mr-1'
            ),
            WText(
              'Jun 24',
              className: 'text-xs font-semibold text-gray-700 dark:text-gray-200'
            ),
          ],
        ),
      ],
    ),
  ],
)
Stats
Views
17
Stars
0
Revisions
1
Size
4,195 chars
Created
Jun 16, 2026