Files
OpenMediacenterMobileFlutter/lib/navigation/video_feed.dart
T

44 lines
969 B
Dart
Raw Normal View History

2021-12-11 17:17:38 +01:00
import 'dart:convert';
2021-12-10 11:40:20 +01:00
import 'package:flutter/material.dart';
2022-08-28 22:51:12 +02:00
import '../api/api.dart';
2022-08-28 18:48:53 +02:00
import '../log/log.dart';
2022-08-28 22:51:12 +02:00
import '../preview/preview_grid.dart';
2022-08-28 18:48:53 +02:00
import '../types/tag.dart';
2022-08-28 22:51:12 +02:00
import '../types/video.dart';
2021-12-10 11:40:20 +01:00
2021-12-11 17:17:38 +01:00
class VideoFeed extends StatefulWidget {
2022-08-28 18:48:53 +02:00
const VideoFeed({Key? key, this.tag}) : super(key: key);
final Tag? tag;
2021-12-10 11:40:20 +01:00
2021-12-11 17:17:38 +01:00
@override
State<StatefulWidget> createState() {
return VideoFeedState();
}
}
2021-12-10 11:40:20 +01:00
2021-12-11 17:17:38 +01:00
class VideoFeedState extends State<VideoFeed> {
2022-04-15 09:16:41 +02:00
Future<List<VideoT>> loadData() async {
2022-08-28 18:48:53 +02:00
final data = await API.query(
"video", "getMovies", {'Tag': widget.tag?.tagId ?? 1, 'Sort': 0});
2022-04-15 09:16:41 +02:00
final d = jsonDecode(data);
2022-08-25 22:48:44 +02:00
List<VideoT> dta =
(d['Videos'] as List).map((e) => VideoT.fromJson(e)).toList();
2022-04-15 09:16:41 +02:00
return dta;
}
2021-12-11 17:17:38 +01:00
2021-12-10 11:40:20 +01:00
@override
Widget build(BuildContext context) {
2022-04-15 09:16:41 +02:00
double width = MediaQuery.of(context).size.width;
Log.d(width);
2022-08-25 22:48:44 +02:00
return PreviewGrid(
videoLoader: () => loadData(),
);
2021-12-10 11:40:20 +01:00
}
}