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 CourseTopicTile extends StatelessWidget { final String title; final ProgressStatuses status; const CourseTopicTile({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, style: style16DG600, ); 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, ); }