Flutter Team Members Grid with Role Badges

A team roster grid with gradient initial avatars, online status dots, and color coded role badges, composed entirely from Wind utility classes with dark mode built in.

Anılcan Çakır by Anılcan Çakır 39 views 0 stars 1 week ago Rev 1
Flutter Team Members Grid with Role Badges preview
main.dart
WDiv(
  className: 'max-w-sm w-full mx-auto p-6 rounded-3xl bg-white dark:bg-gray-900 border border-gray-200 dark:border-gray-800 shadow-xl',
  children: [
    WDiv(
      className: 'flex flex-row items-center justify-between w-full mb-5',
      children: [
        WDiv(
          className: 'flex flex-col',
          children: [
            WText(
              'Design Team',
              className: 'text-gray-900 dark:text-white text-lg font-bold'
            ),
            WText(
              '4 members online',
              className: 'text-gray-500 dark:text-gray-400 text-xs'
            ),
          ],
        ),
        WButton(
          className: 'px-4 py-2 rounded-xl bg-indigo-600 dark:bg-indigo-500',
          child: WText(
            'Invite',
            className: 'text-white text-xs font-semibold'
          ),
        ),
      ],
    ),
    WDiv(
      className: 'wrap gap-3 w-full',
      children: [
        WDiv(
          className: 'w-36 p-4 rounded-2xl bg-gray-50 dark:bg-gray-800 border border-gray-200 dark:border-gray-700 flex flex-col items-center',
          children: [
            WDiv(
              className: 'relative mb-3',
              children: [
                WDiv(
                  className: 'w-14 h-14 rounded-full bg-gradient-to-br from-sky-400 to-blue-600 dark:from-sky-300 dark:to-blue-500 flex flex-row items-center justify-center',
                  child: WText(
                    'AÇ',
                    className: 'text-white text-base font-bold'
                  ),
                ),
                WDiv(
                  className: 'absolute bottom-0 right-0 w-4 h-4 rounded-full bg-emerald-500 dark:bg-emerald-400 border-2 border-white dark:border-gray-800',
                  children: []
                ),
              ],
            ),
            WText(
              'Anıl Ç.',
              className: 'text-gray-900 dark:text-white text-sm font-bold text-center'
            ),
            WDiv(
              className: 'mt-2 px-3 py-1 rounded-full bg-indigo-100 dark:bg-indigo-950',
              child: WText(
                'Design',
                className: 'text-indigo-600 dark:text-indigo-300 text-xs font-semibold'
              ),
            ),
          ],
        ),
        WDiv(
          className: 'w-36 p-4 rounded-2xl bg-gray-50 dark:bg-gray-800 border border-gray-200 dark:border-gray-700 flex flex-col items-center',
          children: [
            WDiv(
              className: 'relative mb-3',
              children: [
                WDiv(
                  className: 'w-14 h-14 rounded-full bg-gradient-to-br from-emerald-400 to-teal-600 dark:from-emerald-300 dark:to-teal-500 flex flex-row items-center justify-center',
                  child: WText(
                    'MK',
                    className: 'text-white text-base font-bold'
                  ),
                ),
                WDiv(
                  className: 'absolute bottom-0 right-0 w-4 h-4 rounded-full bg-emerald-500 dark:bg-emerald-400 border-2 border-white dark:border-gray-800',
                  children: []
                ),
              ],
            ),
            WText(
              'Mira K.',
              className: 'text-gray-900 dark:text-white text-sm font-bold text-center'
            ),
            WDiv(
              className: 'mt-2 px-3 py-1 rounded-full bg-emerald-100 dark:bg-emerald-950',
              child: WText(
                'Engineering',
                className: 'text-emerald-600 dark:text-emerald-300 text-xs font-semibold'
              ),
            ),
          ],
        ),
        WDiv(
          className: 'w-36 p-4 rounded-2xl bg-gray-50 dark:bg-gray-800 border border-gray-200 dark:border-gray-700 flex flex-col items-center',
          children: [
            WDiv(
              className: 'relative mb-3',
              children: [
                WDiv(
                  className: 'w-14 h-14 rounded-full bg-gradient-to-br from-amber-400 to-orange-600 dark:from-amber-300 dark:to-orange-500 flex flex-row items-center justify-center',
                  child: WText(
                    'JD',
                    className: 'text-white text-base font-bold'
                  ),
                ),
                WDiv(
                  className: 'absolute bottom-0 right-0 w-4 h-4 rounded-full bg-emerald-500 dark:bg-emerald-400 border-2 border-white dark:border-gray-800',
                  children: []
                ),
              ],
            ),
            WText(
              'Jonas D.',
              className: 'text-gray-900 dark:text-white text-sm font-bold text-center'
            ),
            WDiv(
              className: 'mt-2 px-3 py-1 rounded-full bg-amber-100 dark:bg-amber-950',
              child: WText(
                'Product',
                className: 'text-amber-600 dark:text-amber-300 text-xs font-semibold'
              ),
            ),
          ],
        ),
        WDiv(
          className: 'w-36 p-4 rounded-2xl bg-gray-50 dark:bg-gray-800 border border-gray-200 dark:border-gray-700 flex flex-col items-center',
          children: [
            WDiv(
              className: 'relative mb-3',
              children: [
                WDiv(
                  className: 'w-14 h-14 rounded-full bg-gradient-to-br from-rose-400 to-pink-600 dark:from-rose-300 dark:to-pink-500 flex flex-row items-center justify-center',
                  child: WText(
                    'SL',
                    className: 'text-white text-base font-bold'
                  ),
                ),
                WDiv(
                  className: 'absolute bottom-0 right-0 w-4 h-4 rounded-full bg-emerald-500 dark:bg-emerald-400 border-2 border-white dark:border-gray-800',
                  children: []
                ),
              ],
            ),
            WText(
              'Sara L.',
              className: 'text-gray-900 dark:text-white text-sm font-bold text-center'
            ),
            WDiv(
              className: 'mt-2 px-3 py-1 rounded-full bg-rose-100 dark:bg-rose-950',
              child: WText(
                'Research',
                className: 'text-rose-600 dark:text-rose-300 text-xs font-semibold'
              ),
            ),
          ],
        ),
      ],
    ),
  ],
)
Stats
Views
39
Stars
0
Revisions
1
Size
6,328 chars
Created
Jun 28, 2026