import 'package:flutter/material.dart'; import 'package:yimaru_app/ui/common/app_colors.dart'; import 'package:yimaru_app/ui/common/enmus.dart'; import 'package:yimaru_app/ui/common/ui_helpers.dart'; class CourseModuleTileSmall extends StatelessWidget { final String title; final ProgressStatuses status; const CourseModuleTileSmall( {super.key, required this.title, required this.status}); @override Widget build(BuildContext context) => _buildTile(); Widget _buildTile() => ListTile( title: _buildTitle(), leading: _buildLeadingWrapper(), trailing: _buildTrailingWrapper(), shape: Border( top: BorderSide( color: kcPrimaryColor.withValues(alpha: 0.25), ), ), contentPadding: const EdgeInsets.symmetric(vertical: 15, horizontal: 15), ); Widget _buildTitle() => Text( title, maxLines: 1, softWrap: false, style: style14DG600, ); Widget _buildLeadingWrapper() => CircleAvatar( backgroundColor: kcVeryLightGrey.withValues(alpha: 0.5), child: _buildLeading(), ); Widget _buildLeading() => const Icon( Icons.book, color: kcLightGrey, ); Widget _buildTrailingWrapper() => status == ProgressStatuses.completed ? _buildCompletedTrailing() : _buildPendingTrailing(); Widget _buildCompletedTrailing() => const Icon( Icons.check_circle, color: kcGreen, ); Widget _buildPendingTrailing() => const Icon( Icons.circle_outlined, color: kcLightGrey, ); }