import 'package:flutter_riverpod/flutter_riverpod.dart'; import '../../../app/error_message.dart'; import '../../../app/load_state.dart'; import '../../../models/event_log_item.dart'; import '../../shared/providers/core_providers.dart'; final eventLogProvider = NotifierProvider>>( () => EventLogNotifier(), ); class EventLogNotifier extends Notifier>> { @override LoadState> build() => const LoadState.idle([]); Future load({int limit = 100}) async { state = LoadState.loading(state.data); try { final api = ref.read(apiProvider); final res = await api.getStatsLog(limit: limit); final events = EventLogItem.listFromApi(res.data); state = events.isEmpty ? LoadState.empty(events) : LoadState.data(events); } catch (e) { state = LoadState.error(state.data, describeLoadError(e)); } } }