Initial Flutter booru app

This commit is contained in:
2026-05-23 11:46:52 +03:00
commit 63da741295
187 changed files with 24113 additions and 0 deletions
@@ -0,0 +1,27 @@
import 'package:flutter_riverpod/flutter_riverpod.dart';
import '../../../backend/backend.dart';
import '../../../core/utils/result.dart';
import 'favorites_state.dart';
final favoritesControllerProvider =
AsyncNotifierProvider<FavoritesController, FavoritesState>(
FavoritesController.new,
);
class FavoritesController extends AsyncNotifier<FavoritesState> {
@override
Future<FavoritesState> build() async => FavoritesState(posts: await _load());
Future<void> remove(Post post) async {
await ref
.read(favoriteServiceProvider)
.removeFavorite(post.id, post.providerId);
state = AsyncData(FavoritesState(posts: await _load()));
}
Future<List<Post>> _load() async {
final result = await ref.read(favoriteServiceProvider).getFavoritePosts();
return result is Success<List<Post>> ? result.data : const [];
}
}