modified db for local images, added file list saving functionality

This commit is contained in:
Joshua Burman
2025-01-01 23:42:46 -05:00
parent e36d2a837a
commit e78788d67a
17 changed files with 4478 additions and 87 deletions

View File

@ -1,3 +1,6 @@
import 'dart:convert';
import 'dart:typed_data';
import 'package:flutter/material.dart';
import 'package:sendtrain/database/database.dart';
import 'package:sendtrain/helpers/widget_helpers.dart';
@ -10,15 +13,17 @@ class MediaCard extends StatelessWidget {
@override
Widget build(BuildContext context) {
DecorationImage mediaImage(MediaItem media) {
String image = '';
dynamic image;
if (media.type == MediaType.image || media.type == MediaType.location) {
image = media.reference;
image = NetworkImage(media.reference);
} else if (media.type == MediaType.localImage) {
image = Image.memory(base64Decode(media.reference)).image;
} else if (media.type == MediaType.youtube) {
image = 'https://img.youtube.com/vi/${media.reference}/0.jpg';
image = NetworkImage('https://img.youtube.com/vi/${media.reference}/0.jpg');
}
return DecorationImage(image: NetworkImage(image), fit: BoxFit.cover);
return DecorationImage(image: image, fit: BoxFit.cover);
}
return Container(

View File

@ -1,3 +1,5 @@
import 'dart:convert';
import 'package:flutter/material.dart';
import 'package:sendtrain/database/database.dart';
import 'package:youtube_player_flutter/youtube_player_flutter.dart';
@ -16,6 +18,8 @@ class MediaContent extends StatelessWidget {
if (media.type == MediaType.image || media.type == MediaType.location) {
return Image(image: NetworkImage(media.reference));
} else if (media.type == MediaType.localImage) {
return Image.memory(base64Decode(media.reference));
} else if (media.type == MediaType.youtube) {
return YoutubePlayer(
controller: controller,

View File

@ -11,9 +11,8 @@ class MediaDetails extends StatelessWidget {
Widget build(BuildContext context) {
return Padding(
padding: EdgeInsets.fromLTRB(15, 0, 15, 15),
child: Column(
mainAxisSize: MainAxisSize.min,
mainAxisAlignment: MainAxisAlignment.start,
child: ListView(
shrinkWrap: true,
children: <Widget>[
ClipRRect(
borderRadius: BorderRadius.circular(10),