aktueller Stand
This commit is contained in:
@ -1,82 +0,0 @@
|
||||
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');
|
||||
}
|
||||
}
|
||||
}
|
@ -84,10 +84,10 @@ class _DetailViewState extends State<DetailView> {
|
||||
Widget build(BuildContext context) {
|
||||
return GestureDetector(
|
||||
onHorizontalDragEnd: (details) {
|
||||
if (details.velocity.pixelsPerSecond.dx > 0) {
|
||||
_loadNewMediaItem(widget.details.next, true);
|
||||
} else if (details.velocity.pixelsPerSecond.dx < 0) {
|
||||
_loadNewMediaItem(widget.details.prev, false);
|
||||
if (details.velocity.pixelsPerSecond.dx > 0 && widget.details.next != null) {
|
||||
_loadNewMediaItem(widget.details.next!, true);
|
||||
} else if (details.velocity.pixelsPerSecond.dx < 0 && widget.details.prev != null) {
|
||||
_loadNewMediaItem(widget.details.prev!, false);
|
||||
}
|
||||
},
|
||||
child: Scaffold(
|
||||
|
Reference in New Issue
Block a user