diff --git a/.gitignore b/.gitignore index b59403a..8110974 100644 --- a/.gitignore +++ b/.gitignore @@ -44,3 +44,5 @@ app.*.map.json /android/app/debug /android/app/profile /android/app/release + +ASSEMENT_FINAL_REPORT.MD diff --git a/lib/data/services/habit_service.dart b/lib/data/services/habit_service.dart index e6088eb..73dd29c 100644 --- a/lib/data/services/habit_service.dart +++ b/lib/data/services/habit_service.dart @@ -6,6 +6,7 @@ import 'package:intl/intl.dart'; /// Service untuk mengelola data Habit /// /// Memisahkan logic load/save/filter dari UI layer. +//{Inline Review: Pastikan tidak terjadi dual source of truth bila app utama sudah memakai Hive repository.} class HabitService { /// Kunci penyimpanan untuk SharedPreferences static const String _storageKey = 'my_habits'; diff --git a/lib/pages/home_page.dart b/lib/pages/home_page.dart index 8e25d10..67481eb 100644 --- a/lib/pages/home_page.dart +++ b/lib/pages/home_page.dart @@ -322,6 +322,7 @@ class _HomePageState extends ConsumerState { /// Handle delete habit (konfirmasi sudah ditangani oleh widget) void _handleDeleteHabit(Habit habit) { + //{Inline Review: Operasi delete async sebaiknya di-await untuk memastikan feedback UI sesuai hasil persistence.} ref.read(habitProvider.notifier).deleteHabit(habit.id); ScaffoldMessenger.of(context).showSnackBar( const SnackBar(content: Text("Habit deleted"), duration: Duration(seconds: 2)), @@ -340,6 +341,7 @@ class _HomePageState extends ConsumerState { return AddHabitModal( onHabitCreated: (newHabitData) { final newHabit = Habit.fromJson(newHabitData); + //{Inline Review: Tambahkan await + error handling agar snackbar sukses tidak tampil prematur.} ref.read(habitProvider.notifier).addHabit(newHabit); ScaffoldMessenger.of(context).showSnackBar( const SnackBar(content: Text('Habit Created & Saved!'), backgroundColor: Colors.green), diff --git a/lib/providers/habit_provider.dart b/lib/providers/habit_provider.dart index abc0736..82b0d85 100644 --- a/lib/providers/habit_provider.dart +++ b/lib/providers/habit_provider.dart @@ -22,6 +22,7 @@ class HabitState { bool? isLoading, String? error, }) { + //{Inline Review: Pertimbangkan mekanisme clearError eksplisit agar error lama tidak terbawa ke state berikutnya.} return HabitState( habits: habits ?? this.habits, isLoading: isLoading ?? this.isLoading,