import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:hive_flutter/hive_flutter.dart'; import '../models/teaching_plan.dart'; final teachingPlansProvider = StateNotifierProvider>((ref) { return TeachingPlansNotifier(); }); class TeachingPlansNotifier extends StateNotifier> { TeachingPlansNotifier() : super([]) { _loadPlans(); } void _loadPlans() { if (Hive.isBoxOpen('teaching_plans_v2')) { final box = Hive.box('teaching_plans_v2'); state = box.values.toList()..sort((a, b) => b.date.compareTo(a.date)); } } Future addPlan(TeachingPlan plan) async { final box = Hive.box('teaching_plans_v2'); await box.put(plan.id, plan); _loadPlans(); } Future updatePlan(TeachingPlan plan) async { final box = Hive.box('teaching_plans_v2'); await box.put(plan.id, plan); _loadPlans(); } Future deletePlan(String id) async { final box = Hive.box('teaching_plans_v2'); await box.delete(id); _loadPlans(); } }