mucke/lib/presentation/widgets/next_indicator.dart

46 lines
1.3 KiB
Dart
Raw Normal View History

2020-07-12 18:25:34 +02:00
import 'package:flutter/material.dart';
import 'package:flutter_mobx/flutter_mobx.dart';
import 'package:provider/provider.dart';
2020-08-12 20:59:00 +02:00
import '../state/audio_store.dart';
import 'next_song.dart';
2020-07-12 18:25:34 +02:00
class NextIndicator extends StatelessWidget {
2020-08-12 20:59:00 +02:00
const NextIndicator({Key key, this.onTapAction}) : super(key: key);
final void Function(BuildContext) onTapAction;
2020-07-12 18:25:34 +02:00
@override
Widget build(BuildContext context) {
final AudioStore audioStore = Provider.of<AudioStore>(context);
return Observer(
builder: (BuildContext context) {
final queue = audioStore.queueStream.value;
final int index = audioStore.queueIndexStream.value;
2020-08-12 20:59:00 +02:00
return GestureDetector(
onTap: () => onTapAction(context),
child: Padding(
padding: const EdgeInsets.all(8.0),
child: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.end,
crossAxisAlignment: CrossAxisAlignment.center,
children: [
const Icon(
Icons.expand_less,
color: Colors.white70,
),
if (index < queue.length - 1)
NextSong(song: queue[index + 1]),
],
),
2020-07-12 18:25:34 +02:00
),
),
);
},
);
}
}