import 'package:flutter_riverpod/flutter_riverpod.dart'; import '../../shared/models/home_summary.dart'; import 'home_service.dart'; // ── Selected date (persists while app is open) ──────────────── /// The date currently viewed on the home screen. /// Defaults to today; can be changed via the date selector. final selectedDateProvider = StateProvider((ref) => DateTime.now()); /// Formats a [DateTime] to the 'YYYY-MM-DD' string expected by the diary API. String formatDateForDiary(DateTime date) => '${date.year}-${date.month.toString().padLeft(2, '0')}-' '${date.day.toString().padLeft(2, '0')}'; // ── Home summary ────────────────────────────────────────────── class HomeNotifier extends StateNotifier> { final HomeService _service; HomeNotifier(this._service) : super(const AsyncValue.loading()) { load(); } Future load() async { state = const AsyncValue.loading(); state = await AsyncValue.guard(() => _service.getSummary()); } } final homeProvider = StateNotifierProvider>( (ref) => HomeNotifier(ref.read(homeServiceProvider)), );