Refactor screens to MVC architecture with modular widgets

- Extract business logic from screens into dedicated controllers
- Split large screen files into smaller, reusable widget components
- Add controllers for AddSubscriptionScreen and DetailScreen
- Create modular widgets for subscription and detail features
- Improve code organization and maintainability
- Remove duplicated code and improve reusability

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
JiWoong Sul
2025-07-11 00:21:18 +09:00
parent 4731288622
commit 83c5e3d64e
56 changed files with 9092 additions and 4579 deletions

View File

@@ -9,7 +9,6 @@ import '../widgets/subscription_list_widget.dart';
import '../widgets/empty_state_widget.dart';
import '../widgets/glassmorphic_app_bar.dart';
import '../theme/app_colors.dart';
import '../routes/app_routes.dart';
class HomeContent extends StatelessWidget {
final AnimationController fadeController;
@@ -73,8 +72,8 @@ class HomeContent extends StatelessWidget {
pinned: true,
expandedHeight: kToolbarHeight,
),
SliverToBoxAdapter(
child: NativeAdWidget(key: const ValueKey('home_ad')),
const SliverToBoxAdapter(
child: NativeAdWidget(key: ValueKey('home_ad')),
),
SliverToBoxAdapter(
child: SlideTransition(
@@ -119,14 +118,14 @@ class HomeContent extends StatelessWidget {
children: [
Text(
'${provider.subscriptions.length}',
style: TextStyle(
style: const TextStyle(
fontSize: 14,
fontWeight: FontWeight.w600,
color: AppColors.primaryColor,
),
),
const SizedBox(width: 4),
Icon(
const Icon(
Icons.arrow_forward_ios,
size: 14,
color: AppColors.primaryColor,