import 'dart:io'; import 'dart:math'; import 'package:flutter/material.dart'; import 'package:finamp/l10n/app_localizations.dart'; import 'package:get_it/get_it.dart'; import '../../models/jellyfin_models.dart'; import '../../services/audio_service_helper.dart'; import '../album_image.dart'; import 'item_info.dart'; class AlbumScreenContentFlexibleSpaceBar extends StatelessWidget { const AlbumScreenContentFlexibleSpaceBar({ Key? key, required this.album, required this.items, }) : super(key: key); final BaseItemDto album; final List items; @override Widget build(BuildContext context) { AudioServiceHelper audioServiceHelper = GetIt.instance(); return FlexibleSpaceBar( background: SafeArea( child: Align( alignment: Alignment.bottomCenter, child: Padding( padding: const EdgeInsets.symmetric(horizontal: 8), child: Column( mainAxisSize: MainAxisSize.min, children: [ Row( children: [ SizedBox( height: 125, child: AlbumImage(item: album), ), const Padding( padding: EdgeInsets.symmetric(horizontal: 4), ), Expanded( flex: 2, child: ItemInfo( item: album, itemSongs: items.length, ), ) ], ), Padding( padding: const EdgeInsets.symmetric(vertical: 8), child: Row(children: [ Expanded( child: ElevatedButton.icon( onPressed: () => audioServiceHelper.replaceQueueWithItem( itemList: items, ), icon: const Icon(Icons.play_arrow), label: Text(AppLocalizations.of(context)!.playButtonLabel), ), ), const Padding(padding: EdgeInsets.symmetric(horizontal: 8)), Expanded( child: ElevatedButton.icon( onPressed: () => audioServiceHelper.replaceQueueWithItem( itemList: items, shuffle: true, initialIndex: Random().nextInt(items.length), ), icon: const Icon(Icons.shuffle), label: Text( AppLocalizations.of(context)!.shuffleButtonLabel), ), ), ]), ) ], ), ), ), ), ); } }