18 Widget
build(BuildContext context) {
23 borderRadius: BorderRadius.circular(16.r),
26 decoration: BoxDecoration(
27 borderRadius: BorderRadius.circular(16.r),
28 color: Theme.of(context).colorScheme.surface,
31 mainAxisSize: MainAxisSize.min,
32 crossAxisAlignment: CrossAxisAlignment.start,
37 decoration: BoxDecoration(
39 borderRadius: BorderRadius.circular(16.r),
42 HugeIcons.strokeRoundedFile01,
47 SizedBox(height: 20.r),
53 overflow: TextOverflow.ellipsis,
54 style: Theme.of(context).textTheme.titleMedium?.copyWith(
55 fontWeight: FontWeight.bold,
58 SizedBox(height: 10.r),
62 alignment: Alignment.centerRight,
64 '${(course.progress! * 100).toInt()}%',
65 style: Theme.of(context)
71 SizedBox(height: 5.r),
74 LinearProgressIndicator(
78 valueColor: AlwaysStoppedAnimation<Color>(
iconColor),
80 SizedBox(height: 15.r),
86 HugeIcons.strokeRoundedClock01,
92 '${course.durationMinutes} min',
93 style: Theme.of(context).textTheme.bodySmall,
105 hexColor = hexColor.replaceAll(
'#',
'');
106 if (hexColor.length == 6) hexColor =
'FF$hexColor';
107 return Color(
int.parse(hexColor, radix: 16));
109 return Theme.of(context).colorScheme.primary;