Skip to content
Snippets Groups Projects
Commit 4a2d8639 authored by Benoît Harrault's avatar Benoît Harrault
Browse files

Improve refresh cards data and charts

parent 28142ac4
Branches
Tags
1 merge request!36Resolve "Improve refresh data and charts"
Pipeline #4652 passed
......@@ -19,10 +19,7 @@ class CardStatisticsRecent extends StatelessWidget {
Widget build(BuildContext context) {
final int daysCount = Settings.statisticsRecentDaysCount;
// data context
return BlocProvider<DataStatisticsRecentCubit>(
create: (BuildContext context) => DataStatisticsRecentCubit(),
child: BlocBuilder<DataStatisticsRecentCubit, DataStatisticsRecentState>(
return BlocBuilder<DataStatisticsRecentCubit, DataStatisticsRecentState>(
builder: (BuildContext context, DataStatisticsRecentState dataState) {
return CardContent(
color: Theme.of(context).colorScheme.primary,
......@@ -39,7 +36,6 @@ class CardStatisticsRecent extends StatelessWidget {
),
);
},
),
);
}
......@@ -50,9 +46,7 @@ class CardStatisticsRecent extends StatelessWidget {
late Future<StatisticsRecentData> futureStatisticsRecent =
ScrobblesApi.fetchRecentStatistics(daysCount);
return BlocProvider<DataStatisticsRecentCubit>(
create: (BuildContext context) => DataStatisticsRecentCubit(),
child: BlocBuilder<DataStatisticsRecentCubit, DataStatisticsRecentState>(
return BlocBuilder<DataStatisticsRecentCubit, DataStatisticsRecentState>(
builder: (BuildContext context, DataStatisticsRecentState state) {
return FutureBuilder<StatisticsRecentData>(
future: futureStatisticsRecent,
......@@ -61,12 +55,12 @@ class CardStatisticsRecent extends StatelessWidget {
return ShowErrorWidget(message: '${snapshot.error}');
}
BlocProvider.of<DataStatisticsRecentCubit>(context).setValue(snapshot.data);
BlocProvider.of<DataStatisticsRecentCubit>(context).update(snapshot.data);
return !snapshot.hasData ? loading : done;
},
);
},
),
);
}
}
......@@ -20,9 +20,7 @@ class CardTimeline extends StatelessWidget {
Widget build(BuildContext context) {
final int daysCount = Settings.timelineDaysCount;
return BlocProvider<DataTimelineCubit>(
create: (BuildContext context) => DataTimelineCubit(),
child: BlocBuilder<DataTimelineCubit, DataTimelineState>(
return BlocBuilder<DataTimelineCubit, DataTimelineState>(
builder: (BuildContext context, DataTimelineState state) {
return CardContent(
color: Theme.of(context).colorScheme.surface,
......@@ -46,7 +44,6 @@ class CardTimeline extends StatelessWidget {
),
);
},
),
);
}
......@@ -56,10 +53,8 @@ class CardTimeline extends StatelessWidget {
late Future<TimelineData> futureTimeline = ScrobblesApi.fetchTimeline(daysCount);
return BlocProvider<DataTimelineCubit>(
create: (BuildContext context) => DataTimelineCubit(),
child: BlocBuilder<DataTimelineCubit, DataTimelineState>(
builder: (BuildContext context, DataTimelineState state) {
return BlocBuilder<DataTimelineCubit, DataTimelineState>(
builder: (BuildContext context, DataTimelineState dataTimelineState) {
return FutureBuilder<TimelineData>(
future: futureTimeline,
builder: (context, snapshot) {
......@@ -67,12 +62,12 @@ class CardTimeline extends StatelessWidget {
return ShowErrorWidget(message: '${snapshot.error}');
}
BlocProvider.of<DataTimelineCubit>(context).setValue(snapshot.data);
BlocProvider.of<DataTimelineCubit>(context).update(snapshot.data);
return !snapshot.hasData ? loading : done;
},
);
},
),
);
}
}
......@@ -19,9 +19,7 @@ class CardTopArtists extends StatelessWidget {
Widget build(BuildContext context) {
final int daysCount = Settings.topArtistsDaysCount;
return BlocProvider<DataTopArtistsCubit>(
create: (BuildContext context) => DataTopArtistsCubit(),
child: BlocBuilder<DataTopArtistsCubit, DataTopArtistsState>(
return BlocBuilder<DataTopArtistsCubit, DataTopArtistsState>(
builder: (BuildContext context, DataTopArtistsState state) {
return CardContent(
color: Theme.of(context).colorScheme.surface,
......@@ -37,7 +35,6 @@ class CardTopArtists extends StatelessWidget {
),
);
},
),
);
}
......@@ -47,9 +44,7 @@ class CardTopArtists extends StatelessWidget {
late Future<TopArtistsData> futureTopArtists = ScrobblesApi.fetchTopArtists(daysCount);
return BlocProvider<DataTopArtistsCubit>(
create: (BuildContext context) => DataTopArtistsCubit(),
child: BlocBuilder<DataTopArtistsCubit, DataTopArtistsState>(
return BlocBuilder<DataTopArtistsCubit, DataTopArtistsState>(
builder: (BuildContext context, DataTopArtistsState state) {
return FutureBuilder<TopArtistsData>(
future: futureTopArtists,
......@@ -58,12 +53,12 @@ class CardTopArtists extends StatelessWidget {
return ShowErrorWidget(message: '${snapshot.error}');
}
BlocProvider.of<DataTopArtistsCubit>(context).setValue(snapshot.data);
BlocProvider.of<DataTopArtistsCubit>(context).update(snapshot.data);
return !snapshot.hasData ? loading : done;
},
);
},
),
);
}
}
......@@ -17,6 +17,12 @@ class ChartCountsByDay extends CustomBarChart {
@override
Widget build(BuildContext context) {
if (this.chartData.data.keys.length == 0) {
return SizedBox(
height: this.chartHeight,
);
}
return Container(
height: this.chartHeight,
child: this.isLoading
......
......@@ -17,6 +17,12 @@ class ChartCountsByHour extends CustomBarChart {
@override
Widget build(BuildContext context) {
if (this.chartData.data.keys.length == 0) {
return SizedBox(
height: this.chartHeight,
);
}
return Container(
height: this.chartHeight,
child: this.isLoading
......
......@@ -14,6 +14,12 @@ class ChartDiscoveriesArtists extends CustomBarChart {
@override
Widget build(BuildContext context) {
if (this.chartData.data.keys.length == 0) {
return SizedBox(
height: this.chartHeight,
);
}
return Container(
height: this.chartHeight,
child: this.isLoading
......
......@@ -14,6 +14,12 @@ class ChartDiscoveriesTracks extends CustomBarChart {
@override
Widget build(BuildContext context) {
if (this.chartData.data.keys.length == 0) {
return SizedBox(
height: this.chartHeight,
);
}
return Container(
height: this.chartHeight,
child: this.isLoading
......
......@@ -15,6 +15,12 @@ class ChartTimelineCounts extends CustomBarChart {
@override
Widget build(BuildContext context) {
if (this.chartData.data.keys.length == 0) {
return SizedBox(
height: this.chartHeight,
);
}
return Container(
height: this.chartHeight,
child: this.isLoading
......
......@@ -16,6 +16,12 @@ class ChartTimelineEclecticism extends CustomLineChart {
Widget build(BuildContext context) {
final horizontalScale = getHorizontalScale();
if (this.chartData.data.keys.length == 0) {
return SizedBox(
height: this.chartHeight,
);
}
return Container(
height: this.chartHeight,
child: this.isLoading
......
......@@ -3,7 +3,7 @@ description: Display scrobbles data and charts
publish_to: 'none'
version: 0.0.33+33
version: 0.0.34+34
environment:
sdk: '^3.0.0'
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment