migrating...
This commit is contained in:
@ -17,19 +17,45 @@ class MediaCard extends StatelessWidget {
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
DecorationImage mediaImage(MediaItem media) {
|
||||
dynamic image;
|
||||
mediaImage(MediaItem media) {
|
||||
Image image = Image.asset('assets/images/placeholder.jpg');
|
||||
|
||||
if (media.type == MediaType.image || media.type == MediaType.location) {
|
||||
image = NetworkImage(media.reference);
|
||||
image = Image.network(media.reference, loadingBuilder:
|
||||
(BuildContext context, Widget child,
|
||||
ImageChunkEvent? loadingProgress) {
|
||||
if (loadingProgress == null) return child;
|
||||
return Text('WTF!!!!');
|
||||
// return Center(
|
||||
// child: CircularProgressIndicator(
|
||||
// value: loadingProgress.expectedTotalBytes != null
|
||||
// ? loadingProgress.cumulativeBytesLoaded /
|
||||
// loadingProgress.expectedTotalBytes!
|
||||
// : null,
|
||||
// ),
|
||||
// );
|
||||
});
|
||||
} else if (media.type == MediaType.localImage) {
|
||||
image = Image.memory(base64Decode(media.reference)).image;
|
||||
image = Image.memory(base64Decode(media.reference));
|
||||
} else if (media.type == MediaType.youtube) {
|
||||
image =
|
||||
NetworkImage('https://img.youtube.com/vi/${media.reference}/0.jpg');
|
||||
} else if (media.type == MediaType.localVideo) {}
|
||||
Image.network('https://img.youtube.com/vi/${media.reference}/0.jpg',
|
||||
loadingBuilder: (BuildContext context, Widget child,
|
||||
ImageChunkEvent? loadingProgress) {
|
||||
if (loadingProgress == null) return child;
|
||||
return Text('WTF!!!!');
|
||||
// return Center(
|
||||
// child: CircularProgressIndicator(
|
||||
// value: loadingProgress.expectedTotalBytes != null
|
||||
// ? loadingProgress.cumulativeBytesLoaded /
|
||||
// loadingProgress.expectedTotalBytes!
|
||||
// : null,
|
||||
// ),
|
||||
// );
|
||||
});
|
||||
} //else if (media.type == MediaType.localVideo) {}
|
||||
|
||||
return DecorationImage(image: image, fit: BoxFit.cover);
|
||||
return DecorationImage(image: image.image, fit: BoxFit.cover);
|
||||
}
|
||||
|
||||
return Container(
|
||||
|
@ -13,6 +13,7 @@ import 'package:sendtrain/widgets/generic/elements/generic_progress_indicator.da
|
||||
import 'package:sendtrain/widgets/sessions/session_activities_editor.dart';
|
||||
import 'package:sendtrain/widgets/sessions/session_editor.dart';
|
||||
import 'package:sendtrain/widgets/sessions/session_view_achievements.dart';
|
||||
import 'package:sendtrain/widgets/sessions/session_view_actions.dart';
|
||||
import 'package:sendtrain/widgets/sessions/session_view_activities.dart';
|
||||
import 'package:sendtrain/widgets/sessions/session_view_media.dart';
|
||||
|
||||
@ -178,13 +179,20 @@ class _SessionViewState extends State<SessionView> {
|
||||
fontSize: 20, fontWeight: FontWeight.bold),
|
||||
'Media:')),
|
||||
SessionViewMedia(session: session),
|
||||
// const Padding(
|
||||
// padding: EdgeInsets.fromLTRB(15, 30, 0, 10),
|
||||
// child: Text(
|
||||
// style: TextStyle(
|
||||
// fontSize: 20, fontWeight: FontWeight.bold),
|
||||
// 'Activites:')),
|
||||
// SessionViewActivities(session: session),
|
||||
const Padding(
|
||||
padding: EdgeInsets.fromLTRB(15, 30, 0, 10),
|
||||
child: Text(
|
||||
style: TextStyle(
|
||||
fontSize: 20, fontWeight: FontWeight.bold),
|
||||
'Activites:')),
|
||||
SessionViewActivities(session: session),
|
||||
'Actions:')),
|
||||
SessionViewActions(session: session)
|
||||
],
|
||||
));
|
||||
} else {
|
||||
|
42
lib/widgets/sessions/session_view_actions.dart
Normal file
42
lib/widgets/sessions/session_view_actions.dart
Normal file
@ -0,0 +1,42 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'package:scrollable_positioned_list/scrollable_positioned_list.dart';
|
||||
import 'package:sendtrain/daos/action_sets_dao.dart';
|
||||
import 'package:sendtrain/database/database.dart';
|
||||
|
||||
class SessionViewActions extends StatelessWidget {
|
||||
SessionViewActions({super.key, required this.session});
|
||||
|
||||
final Session session;
|
||||
|
||||
// final List actions;
|
||||
final ItemScrollController itemScrollController = ItemScrollController();
|
||||
final ScrollOffsetController scrollOffsetController =
|
||||
ScrollOffsetController();
|
||||
final ItemPositionsListener itemPositionsListener =
|
||||
ItemPositionsListener.create();
|
||||
final ScrollOffsetListener scrollOffsetListener =
|
||||
ScrollOffsetListener.create();
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return FutureBuilder<List>(
|
||||
future: ActionSetsDao(Provider.of<AppDatabase>(context))
|
||||
.fromSession(session),
|
||||
builder: (context, snapshot) {
|
||||
if (snapshot.hasData) {
|
||||
List<ActionSet> actionSets = snapshot.data! as List<ActionSet>;
|
||||
|
||||
return Text(actionSets.first.name);
|
||||
} else {
|
||||
return Container(
|
||||
alignment: Alignment.center,
|
||||
child: SizedBox(
|
||||
height: 50.0,
|
||||
width: 50.0,
|
||||
child: CircularProgressIndicator(),
|
||||
));
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user