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.
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
- 84
- Stars
- 0
- Revisions
- 1
- Size
- 6,328 chars
- Created
- Jun 28, 2026