import 'dart:convert'; import 'package:http/http.dart' as http; import 'package:f0ckapp/models/MediaItem.dart'; Future> fetchMedia({ String? older, String? type, int? mode, bool? random, String? tag, }) async { final Uri url = Uri.parse('https://api.f0ck.me/items/get').replace( queryParameters: { 'type': type ?? 'image', 'mode': (mode ?? 0).toString(), 'random': (random! ? 1 : 0).toString(), if (tag != null) 'tag': tag, if (older != null) 'older': older, }, ); final response = await http.get(url); if (response.statusCode == 200) { final List jsonList = jsonDecode(response.body); return jsonList.map((item) => MediaItem.fromJson(item)).toList(); } else { throw Exception('Fehler beim Abrufen der Medien: ${response.statusCode}'); } } Future fetchMediaDetail(int itemId) async { final Uri url = Uri.parse('https://api.f0ck.me/item/${itemId.toString()}'); final response = await http.get(url); if (response.statusCode == 200) { final Map jsonResponse = jsonDecode(response.body); return MediaItem.fromJson(jsonResponse); } else { throw Exception( 'Fehler beim Abrufen der Media-Details: ${response.statusCode}', ); } }