v1.4.4+65
All checks were successful
Flutter Schmutter / build (push) Successful in 3m35s

This commit is contained in:
2025-06-22 03:02:18 +02:00
parent 7f0743808a
commit 95f6dcfe2b
13 changed files with 461 additions and 339 deletions

View File

@ -1,12 +1,11 @@
import 'package:encrypt_shared_preferences/provider.dart';
import 'package:get/get.dart';
import 'package:f0ckapp/controller/authcontroller.dart';
import 'package:f0ckapp/models/item.dart';
import 'package:f0ckapp/models/feed.dart';
class ApiService extends GetConnect {
final EncryptedSharedPreferencesAsync storage =
EncryptedSharedPreferencesAsync.getInstance();
final AuthController _authController = Get.find<AuthController>();
Future<Feed> fetchItems({
int? older,
@ -16,7 +15,7 @@ class ApiService extends GetConnect {
int random = 0,
String? tag,
}) async {
String? token = await storage.getString('token');
String? token = _authController.token.value;
final params = <String, String>{
'type': type.toString(),
'mode': mode.toString(),
@ -42,18 +41,40 @@ class ApiService extends GetConnect {
feed.items.sort((a, b) => b.id.compareTo(a.id));
return feed;
} else {
if (Get.isSnackbarOpen == false) {
if (!Get.isSnackbarOpen) {
Get.snackbar('Fehler', 'Fehler beim Laden der Items');
}
throw Exception('Fehler beim Laden der Items');
}
}
Future<MediaItem> fetchItemById(int itemId) async {
String? token = _authController.token.value;
final Map<String, String> headers = <String, String>{};
if (token != null && token.isNotEmpty) {
headers['Authorization'] = 'Bearer $token';
}
final Response<dynamic> response = await get(
'https://api.f0ck.me/item/$itemId',
headers: headers,
);
if (response.status.code == 200 && response.body is Map<String, dynamic>) {
return MediaItem.fromJson(response.body as Map<String, dynamic>);
} else {
if (!Get.isSnackbarOpen) {
Get.snackbar('Fehler', 'Fehler beim Laden des Items');
}
throw Exception('Fehler beim Laden des Items');
}
}
Future<List<Favorite>?> toggleFavorite(
MediaItem item,
bool isFavorite,
) async {
String? token = await storage.getString('token');
String? token = _authController.token.value;
if (token == null || token.isEmpty) return null;
final Map<String, String> headers = {