import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; import 'package:sendtrain/daos/media_items_dao.dart'; import 'package:sendtrain/database/database.dart'; import 'package:sendtrain/widgets/media/media_card.dart'; class SessionViewMedia extends StatelessWidget { const SessionViewMedia({super.key, required this.session}); final Session session; @override Widget build(BuildContext context) { return FutureBuilder>( future: MediaItemsDao(Provider.of(context)) .fromSession(session.id), builder: (context, snapshot) { if (snapshot.hasData) { final mediaItems = snapshot.data!; List mediaCards = List.generate( mediaItems.length, (i) => MediaCard(media: mediaItems[i])); return Column( children: [ SizedBox( width: double.infinity, height: 100, child: GridView.count( padding: const EdgeInsets.fromLTRB(15, 0, 0, 0), scrollDirection: Axis.horizontal, crossAxisSpacing: 5, mainAxisSpacing: 5, crossAxisCount: 1, children: mediaCards)) ], ); } else { return Padding( padding: EdgeInsets.all(15), child: CircularProgressIndicator()); } }); } }