mirror of
https://github.com/KRTirtho/spotube.git
synced 2025-09-13 07:55:18 +00:00
chore: use enum properties for history duration in top stats
This commit is contained in:
parent
261e1b6685
commit
4c5564fd2f
@ -8,20 +8,24 @@ import 'package:spotube/models/database/database.dart';
|
|||||||
import 'package:spotube/provider/database/database.dart';
|
import 'package:spotube/provider/database/database.dart';
|
||||||
|
|
||||||
enum HistoryDuration {
|
enum HistoryDuration {
|
||||||
allTime,
|
allTime(Duration(days: 365 * 2003)),
|
||||||
days7,
|
days7(Duration(days: 7)),
|
||||||
days30,
|
days30(Duration(days: 30)),
|
||||||
months6,
|
months6(Duration(days: 30 * 6)),
|
||||||
year,
|
year(Duration(days: 365)),
|
||||||
years2,
|
years2(Duration(days: 365 * 2));
|
||||||
|
|
||||||
|
final Duration duration;
|
||||||
|
|
||||||
|
const HistoryDuration(this.duration);
|
||||||
}
|
}
|
||||||
|
|
||||||
final playbackHistoryTopDurationProvider =
|
final playbackHistoryTopDurationProvider =
|
||||||
StateProvider((ref) => HistoryDuration.days30);
|
StateProvider((ref) => HistoryDuration.days30);
|
||||||
|
|
||||||
typedef PlaybackHistoryTrack = ({int count, Track track});
|
|
||||||
typedef PlaybackHistoryAlbum = ({int count, AlbumSimple album});
|
typedef PlaybackHistoryAlbum = ({int count, AlbumSimple album});
|
||||||
typedef PlaybackHistoryPlaylist = ({int count, PlaylistSimple playlist});
|
typedef PlaybackHistoryPlaylist = ({int count, PlaylistSimple playlist});
|
||||||
|
typedef PlaybackHistoryTrack = ({int count, Track track});
|
||||||
typedef PlaybackHistoryArtist = ({int count, Artist artist});
|
typedef PlaybackHistoryArtist = ({int count, Artist artist});
|
||||||
|
|
||||||
class PlaybackHistoryTopState {
|
class PlaybackHistoryTopState {
|
||||||
@ -58,14 +62,7 @@ class PlaybackHistoryTopNotifier
|
|||||||
build(arg) async {
|
build(arg) async {
|
||||||
final database = ref.watch(databaseProvider);
|
final database = ref.watch(databaseProvider);
|
||||||
|
|
||||||
final duration = switch (arg) {
|
final duration = arg.duration;
|
||||||
HistoryDuration.allTime => const Duration(days: 365 * 2003),
|
|
||||||
HistoryDuration.days7 => const Duration(days: 7),
|
|
||||||
HistoryDuration.days30 => const Duration(days: 30),
|
|
||||||
HistoryDuration.months6 => const Duration(days: 30 * 6),
|
|
||||||
HistoryDuration.year => const Duration(days: 365),
|
|
||||||
HistoryDuration.years2 => const Duration(days: 365 * 2),
|
|
||||||
};
|
|
||||||
|
|
||||||
final tracksQuery = (database.select(database.historyTable)
|
final tracksQuery = (database.select(database.historyTable)
|
||||||
..where(
|
..where(
|
||||||
|
Loading…
Reference in New Issue
Block a user