import 'package:f0ckapp/services/api.dart'; import 'package:flutter/material.dart'; import 'package:f0ckapp/models/mediaitem_detail.dart'; import 'package:f0ckapp/widgets/video_widget.dart'; class DetailScreen extends StatelessWidget { final MediaItemDetail details; const DetailScreen({super.key, required this.details}); @override Widget build(BuildContext context) { return GestureDetector( onHorizontalDragEnd: (details) { if (details.velocity.pixelsPerSecond.dx > 0) { _navigateToPrev(context); } else { _navigateToNext(context); } }, child: VideoWidget(details: this.details) ); //return VideoWidget(url: this.details.mediaUrl); /*return GestureDetector( onHorizontalDragEnd: (details) { if (details.velocity.pixelsPerSecond.dx > 0) { _navigateToPrev(context); } else { _navigateToNext(context); } }, child: Scaffold( body: Column( children: [ if (this.details.mime.startsWith('image')) ClipRRect( child: Image.network(this.details.mediaUrl, fit: BoxFit.cover), ) else VideoPost( url: this.details.mediaUrl, /*appBar: AppBar( backgroundColor: const Color.fromARGB(255, 43, 43, 43), foregroundColor: const Color.fromARGB(255, 255, 255, 255), title: const Text('f0ck'), centerTitle: true, )*/ ), //const SizedBox(height: 10), //Text('f0cked by: ${this.details.username}', style: const TextStyle(fontSize: 16, color: Color.fromARGB(255, 255, 255, 255))), ], ), ), );*/ } void _navigateToNext(BuildContext context) async { try { final nextDetails = await fetchMediaDetail(details.next); Navigator.pushReplacement( context, MaterialPageRoute(builder: (context) => DetailScreen(details: nextDetails)), ); } catch (e) { print('Fehler beim Laden des nächsten Items: $e'); } } void _navigateToPrev(BuildContext context) async { try { final prevDetails = await fetchMediaDetail(details.prev); Navigator.pushReplacement( context, MaterialPageRoute(builder: (context) => DetailScreen(details: prevDetails)), ); } catch (e) { print('Fehler beim Laden des vorherigen Items: $e'); } } }