feat: SMS 스캔 화면 리팩토링 및 MVC 패턴 적용
- SMS 스캔 화면을 컨트롤러/서비스/위젯으로 분리 - 코드 가독성 및 유지보수성 향상 - 새로운 다국어 지원 키 추가 - Git 커밋 가이드라인 문서화
This commit is contained in:
38
lib/widgets/sms_scan/scan_progress_widget.dart
Normal file
38
lib/widgets/sms_scan/scan_progress_widget.dart
Normal file
@@ -0,0 +1,38 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import '../../theme/app_colors.dart';
|
||||
import '../../widgets/themed_text.dart';
|
||||
|
||||
class ScanProgressWidget extends StatelessWidget {
|
||||
final int currentIndex;
|
||||
final int totalCount;
|
||||
|
||||
const ScanProgressWidget({
|
||||
super.key,
|
||||
required this.currentIndex,
|
||||
required this.totalCount,
|
||||
});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.stretch,
|
||||
children: [
|
||||
// 진행 상태 표시
|
||||
LinearProgressIndicator(
|
||||
value: (currentIndex + 1) / totalCount,
|
||||
backgroundColor: AppColors.navyGray.withValues(alpha: 0.2),
|
||||
valueColor: AlwaysStoppedAnimation<Color>(
|
||||
Theme.of(context).colorScheme.primary,
|
||||
),
|
||||
),
|
||||
const SizedBox(height: 8),
|
||||
ThemedText(
|
||||
'${currentIndex + 1}/$totalCount',
|
||||
fontWeight: FontWeight.w500,
|
||||
opacity: 0.7,
|
||||
forceDark: true,
|
||||
),
|
||||
],
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user