import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:relationship_saver/features/local/local_models.dart'; class LocalRepository { const LocalRepository(); List people() { return [ PersonProfile( id: 'p-ava', name: 'Ava Hart', relationship: 'Partner', affinityScore: 92, nextMoment: DateTime(2026, 2, 16, 19, 30), tags: ['coffee', 'books', 'slow mornings'], notes: 'Prefers thoughtful plans over expensive plans.', ), PersonProfile( id: 'p-jordan', name: 'Jordan Lee', relationship: 'Close Friend', affinityScore: 78, nextMoment: DateTime(2026, 2, 18, 18, 0), tags: ['running', 'street food'], notes: 'Has a race on Sunday; ask how training is going.', ), PersonProfile( id: 'p-mila', name: 'Mila Stone', relationship: 'Sister', affinityScore: 84, nextMoment: DateTime(2026, 2, 20, 12, 0), tags: ['plants', 'retro music'], notes: 'Birthday prep should start this week.', ), ]; } List moments() { return [ RelationshipMoment( id: 'm-1', personId: 'p-ava', title: 'Sunday Walk Tradition', summary: 'Short walk + no-phone hour worked really well.', at: DateTime(2026, 2, 9, 9, 30), type: 'ritual', ), RelationshipMoment( id: 'm-2', personId: 'p-jordan', title: 'Post-workout Check-in', summary: 'Shared training playlist and grabbed smoothies.', at: DateTime(2026, 2, 11, 19, 0), type: 'support', ), RelationshipMoment( id: 'm-3', personId: 'p-mila', title: 'Gift Idea Captured', summary: 'Found a vintage lamp from her saved style board.', at: DateTime(2026, 2, 12, 14, 20), type: 'gift', ), ]; } List tasks() { return [ DashboardTask( title: 'Plan Friday dinner with Ava', description: 'Keep it low-key: ramen + bookstore stop.', when: DateTime(2026, 2, 16, 17, 0), ), DashboardTask( title: 'Send race-day encouragement to Jordan', description: 'Voice note before 8:00 AM.', when: DateTime(2026, 2, 17, 7, 30), ), DashboardTask( title: 'Finalize Mila birthday shortlist', description: 'Pick 1 meaningful gift and 1 backup.', when: DateTime(2026, 2, 18, 20, 0), ), ]; } DashboardSummary summary() { return DashboardSummary( activePeople: people().length, upcomingPlans: people() .where( (PersonProfile p) => p.nextMoment.isAfter(DateTime(2026, 2, 14)), ) .length, pendingIdeas: 6, weeklyConsistency: 82, ); } } final Provider localRepositoryProvider = Provider((Ref ref) { return const LocalRepository(); });