From 1bce7da215c7e8e4d28521316d9b589476692209 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Harrault?= <benoit@harrault.fr> Date: Mon, 18 Dec 2023 20:43:37 +0100 Subject: [PATCH] Improve vertical axis legends --- android/gradle.properties | 4 +- .../metadata/android/en-US/changelogs/51.txt | 1 + .../metadata/android/fr-FR/changelogs/51.txt | 1 + .../widgets/abstracts/custom_bar_chart.dart | 46 +++---------------- lib/ui/widgets/abstracts/custom_chart.dart | 46 ++++++++++++++++++- .../widgets/abstracts/custom_line_chart.dart | 41 ++--------------- lib/ui/widgets/charts/heatmap.dart | 4 +- lib/ui/widgets/charts/timeline_counts.dart | 4 ++ .../widgets/charts/timeline_eclecticism.dart | 4 ++ lib/ui/widgets/charts/top_artists_stream.dart | 1 + pubspec.yaml | 2 +- 11 files changed, 72 insertions(+), 82 deletions(-) create mode 100644 fastlane/metadata/android/en-US/changelogs/51.txt create mode 100644 fastlane/metadata/android/fr-FR/changelogs/51.txt diff --git a/android/gradle.properties b/android/gradle.properties index 9e30671..630329d 100644 --- a/android/gradle.properties +++ b/android/gradle.properties @@ -1,5 +1,5 @@ org.gradle.jvmargs=-Xmx1536M android.useAndroidX=true android.enableJetifier=true -app.versionName=0.0.50 -app.versionCode=50 +app.versionName=0.0.51 +app.versionCode=51 diff --git a/fastlane/metadata/android/en-US/changelogs/51.txt b/fastlane/metadata/android/en-US/changelogs/51.txt new file mode 100644 index 0000000..9ae924a --- /dev/null +++ b/fastlane/metadata/android/en-US/changelogs/51.txt @@ -0,0 +1 @@ +Improve vertical axis legends. diff --git a/fastlane/metadata/android/fr-FR/changelogs/51.txt b/fastlane/metadata/android/fr-FR/changelogs/51.txt new file mode 100644 index 0000000..f959527 --- /dev/null +++ b/fastlane/metadata/android/fr-FR/changelogs/51.txt @@ -0,0 +1 @@ +Amélioration des axes verticaux des graphiques. diff --git a/lib/ui/widgets/abstracts/custom_bar_chart.dart b/lib/ui/widgets/abstracts/custom_bar_chart.dart index 07a0342..9ca47dc 100644 --- a/lib/ui/widgets/abstracts/custom_bar_chart.dart +++ b/lib/ui/widgets/abstracts/custom_bar_chart.dart @@ -89,47 +89,15 @@ class CustomBarChart extends CustomChart { ); } - FlTitlesData getTitlesData() { - const AxisTitles none = const AxisTitles( - sideTitles: SideTitles(showTitles: false), - ); - - final AxisTitles verticalTitles = AxisTitles( - sideTitles: SideTitles( - showTitles: true, - reservedSize: 35, - getTitlesWidget: getVerticalTitlesWidget, - interval: this.verticalTicksInterval, - ), - ); - - final AxisTitles verticalSpacer = AxisTitles( - sideTitles: SideTitles( - showTitles: true, - reservedSize: 35, - getTitlesWidget: getVerticalTitlesSpacerWidget, - interval: this.verticalTicksInterval, - ), - ); - - final AxisTitles horizontalTitles = AxisTitles( - sideTitles: SideTitles( - showTitles: true, - reservedSize: 20, - getTitlesWidget: getHorizontalTitlesWidget, - ), - ); + Widget getHorizontalTitlesWidget(double value, TitleMeta meta) { + return getHorizontalTitlesWidgetWithDate(value, meta); + } - return FlTitlesData( - show: true, - bottomTitles: horizontalTitles, - leftTitles: verticalTitles, - topTitles: none, - rightTitles: verticalSpacer, - ); + Widget getVerticalLeftTitlesWidget(double value, TitleMeta meta) { + return getVerticalTitlesWidgetWithValue(value, meta); } - Widget getHorizontalTitlesWidget(double value, TitleMeta meta) { - return getHorizontalTitlesWidgetWithDate(value, meta); + Widget getVerticalRightTitlesWidget(double value, TitleMeta meta) { + return getVerticalTitlesWidgetWithValue(value, meta); } } diff --git a/lib/ui/widgets/abstracts/custom_chart.dart b/lib/ui/widgets/abstracts/custom_chart.dart index ad555bc..04c5425 100644 --- a/lib/ui/widgets/abstracts/custom_chart.dart +++ b/lib/ui/widgets/abstracts/custom_chart.dart @@ -95,8 +95,42 @@ class CustomChart extends StatelessWidget { } FlTitlesData getTitlesData() { + const AxisTitles none = const AxisTitles( + sideTitles: SideTitles(showTitles: false), + ); + + final AxisTitles verticalTitlesLeft = AxisTitles( + sideTitles: SideTitles( + showTitles: true, + reservedSize: 35, + getTitlesWidget: getVerticalLeftTitlesWidget, + interval: this.verticalTicksInterval, + ), + ); + + final AxisTitles verticalTitleRight = AxisTitles( + sideTitles: SideTitles( + showTitles: true, + reservedSize: 35, + getTitlesWidget: getVerticalRightTitlesWidget, + interval: this.verticalTicksInterval, + ), + ); + + final AxisTitles horizontalTitles = AxisTitles( + sideTitles: SideTitles( + showTitles: true, + reservedSize: 20, + getTitlesWidget: getHorizontalTitlesWidget, + ), + ); + return FlTitlesData( - show: false, + show: true, + bottomTitles: horizontalTitles, + leftTitles: verticalTitlesLeft, + topTitles: none, + rightTitles: verticalTitleRight, ); } @@ -104,6 +138,14 @@ class CustomChart extends StatelessWidget { return Text(''); } + Widget getVerticalLeftTitlesWidget(double value, TitleMeta meta) { + return Text(''); + } + + Widget getVerticalRightTitlesWidget(double value, TitleMeta meta) { + return Text(''); + } + Widget getHorizontalTitlesWidgetWithDate(double value, TitleMeta meta) { final DateFormat formatter = DateFormat('dd/MM'); @@ -173,7 +215,7 @@ class CustomChart extends StatelessWidget { ); } - Widget getVerticalTitlesWidget(double value, TitleMeta meta) { + Widget getVerticalTitlesWidgetWithValue(double value, TitleMeta meta) { String suffix = this.verticalAxisTitleSuffix != '' ? ' ' + this.verticalAxisTitleSuffix : ''; diff --git a/lib/ui/widgets/abstracts/custom_line_chart.dart b/lib/ui/widgets/abstracts/custom_line_chart.dart index 6efc4e7..5bd3b96 100644 --- a/lib/ui/widgets/abstracts/custom_line_chart.dart +++ b/lib/ui/widgets/abstracts/custom_line_chart.dart @@ -34,42 +34,11 @@ class CustomLineChart extends CustomChart { }; } - FlTitlesData getTitlesData() { - const AxisTitles none = const AxisTitles( - sideTitles: SideTitles(showTitles: false), - ); - - final AxisTitles verticalTitles = AxisTitles( - sideTitles: SideTitles( - showTitles: true, - reservedSize: 35, - getTitlesWidget: getVerticalTitlesWidget, - interval: this.verticalTicksInterval, - ), - ); - - final AxisTitles verticalSpacer = AxisTitles( - sideTitles: SideTitles( - showTitles: true, - reservedSize: 35, - getTitlesWidget: getVerticalTitlesSpacerWidget, - ), - ); - - final AxisTitles horizontalTitles = AxisTitles( - sideTitles: SideTitles( - showTitles: true, - reservedSize: 20, - getTitlesWidget: getHorizontalTitlesWidget, - ), - ); + Widget getVerticalLeftTitlesWidget(double value, TitleMeta meta) { + return getVerticalTitlesWidgetWithValue(value, meta); + } - return FlTitlesData( - show: true, - bottomTitles: horizontalTitles, - leftTitles: verticalSpacer, - topTitles: none, - rightTitles: verticalTitles, - ); + Widget getVerticalRightTitlesWidget(double value, TitleMeta meta) { + return getVerticalTitlesWidgetWithValue(value, meta); } } diff --git a/lib/ui/widgets/charts/heatmap.dart b/lib/ui/widgets/charts/heatmap.dart index b4b1af1..4d867bd 100644 --- a/lib/ui/widgets/charts/heatmap.dart +++ b/lib/ui/widgets/charts/heatmap.dart @@ -92,7 +92,7 @@ class ChartHeatmap extends CustomChart { sideTitles: SideTitles( showTitles: true, reservedSize: 40, - getTitlesWidget: getVerticalTitlesWidget, + getTitlesWidget: getVerticalTitlesWidgetWithValue, interval: 1, ), ); @@ -115,7 +115,7 @@ class ChartHeatmap extends CustomChart { ); } - Widget getVerticalTitlesWidget(double value, TitleMeta meta) { + Widget getVerticalTitlesWidgetWithValue(double value, TitleMeta meta) { final String dayShortName = getDayShortName(8 - value.toInt()); return SideTitleWidget( diff --git a/lib/ui/widgets/charts/timeline_counts.dart b/lib/ui/widgets/charts/timeline_counts.dart index 84fb8bd..5d57f50 100644 --- a/lib/ui/widgets/charts/timeline_counts.dart +++ b/lib/ui/widgets/charts/timeline_counts.dart @@ -74,4 +74,8 @@ class ChartTimelineCounts extends CustomBarChart { return data; } + + Widget getVerticalLeftTitlesWidget(double value, TitleMeta meta) { + return getVerticalTitlesSpacerWidget(value, meta); + } } diff --git a/lib/ui/widgets/charts/timeline_eclecticism.dart b/lib/ui/widgets/charts/timeline_eclecticism.dart index 565cdad..56f05aa 100644 --- a/lib/ui/widgets/charts/timeline_eclecticism.dart +++ b/lib/ui/widgets/charts/timeline_eclecticism.dart @@ -72,4 +72,8 @@ class ChartTimelineEclecticism extends CustomLineChart { ), ]; } + + Widget getVerticalRightTitlesWidget(double value, TitleMeta meta) { + return getVerticalTitlesSpacerWidget(value, meta); + } } diff --git a/lib/ui/widgets/charts/top_artists_stream.dart b/lib/ui/widgets/charts/top_artists_stream.dart index 2e43253..6a01a62 100644 --- a/lib/ui/widgets/charts/top_artists_stream.dart +++ b/lib/ui/widgets/charts/top_artists_stream.dart @@ -11,6 +11,7 @@ class ChartTopArtistsStream extends CustomLineChart { const ChartTopArtistsStream({super.key, required this.chartData}); final double verticalTicksInterval = 10; + final String verticalAxisTitleSuffix = '%'; @override Widget build(BuildContext context) { diff --git a/pubspec.yaml b/pubspec.yaml index 28be42a..1478ee0 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -3,7 +3,7 @@ description: Display scrobbles data and charts publish_to: 'none' -version: 0.0.50+50 +version: 0.0.51+51 environment: sdk: '^3.0.0' -- GitLab