import 'package:get/get.dart'; import 'package:f0ckapp/models/media_item.dart'; const List mediaTypes = ["alles", "image", "video", "audio"]; const List mediaModes = ["sfw", "nsfw", "untagged", "all"]; class MediaService extends GetConnect { Future> fetchMediaItems({ required int type, required int mode, required int random, String? tag, int? older, }) async { final queryParameters = { 'type': type.toString(), 'mode': mode.toString(), 'random': random.toString(), if (tag != null) 'tag': tag, if (older != null) 'older': older.toString(), }; try { final response = await get( 'https://api.f0ck.me/items/get', query: queryParameters, ); if (response.status.code == 200 && response.body is List) { final data = response.body as List; return data.map((json) => MediaItem.fromJson(json)).toList(); } else { return Future.error('Fehler beim Laden der Daten: ${response.body}'); } } catch (e) { return Future.error('Netzwerkfehler: ${e.toString()}'); } } }