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_card.dart';

class SessionViewMedia extends StatelessWidget {
  const SessionViewMedia({super.key, required this.session});

  final Session session;

  @override
  Widget build(BuildContext context) {
    return FutureBuilder<List<MediaItem>>(
        future: MediaItemsDao(Provider.of<AppDatabase>(context)).mediaItemsFromSession(session),
        builder: (context, snapshot) {
          if (snapshot.hasData) {
            final mediaItems = snapshot.data!;
            // database.close();
            List<Widget> 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());
          }
        });
  }
}