diff --git a/android/gradle.properties b/android/gradle.properties index f0be9fb67d6fe0b36ce90df03ff2f3f1551d738c..d9abd55731010fe508f39321892e8002f10e79ef 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.11 -app.versionCode=11 +app.versionName=0.0.12 +app.versionCode=12 diff --git a/fastlane/metadata/android/en-US/changelogs/12.txt b/fastlane/metadata/android/en-US/changelogs/12.txt new file mode 100644 index 0000000000000000000000000000000000000000..acb5996e3b53cecd80b1a3049d12c4770297e4d0 --- /dev/null +++ b/fastlane/metadata/android/en-US/changelogs/12.txt @@ -0,0 +1 @@ +Improve charts colors. diff --git a/fastlane/metadata/android/fr-FR/changelogs/12.txt b/fastlane/metadata/android/fr-FR/changelogs/12.txt new file mode 100644 index 0000000000000000000000000000000000000000..8a2a1ab28264f6c8f8b64a1da85fb5cdee57255e --- /dev/null +++ b/fastlane/metadata/android/fr-FR/changelogs/12.txt @@ -0,0 +1 @@ +Amélioration des couleurs des graphiques. diff --git a/lib/ui/widgets/main_screen/counts_by_day_card.dart b/lib/ui/widgets/main_screen/counts_by_day_card.dart index 6cd39c1ccc7a33d8a10ac1f0d96215be0e1b5a23..ab392104473b3409189bdc309bfd61ac5314a198 100644 --- a/lib/ui/widgets/main_screen/counts_by_day_card.dart +++ b/lib/ui/widgets/main_screen/counts_by_day_card.dart @@ -25,7 +25,7 @@ class ChartCountsByDayCard extends StatelessWidget { return Card( elevation: 2, shadowColor: Theme.of(context).colorScheme.shadow, - color: Theme.of(context).colorScheme.primary, + color: Theme.of(context).colorScheme.surface, shape: const RoundedRectangleBorder( borderRadius: BorderRadius.all( Radius.circular(12), diff --git a/lib/ui/widgets/main_screen/counts_by_day_chart.dart b/lib/ui/widgets/main_screen/counts_by_day_chart.dart index 10e01e8860d6fe0ea4c5d38b43b223b3b7cff741..9804b61161f8eb1c60be3e421731b302de05d36f 100644 --- a/lib/ui/widgets/main_screen/counts_by_day_chart.dart +++ b/lib/ui/widgets/main_screen/counts_by_day_chart.dart @@ -14,7 +14,7 @@ class CountsByDayCardContentChart extends StatelessWidget { @override Widget build(BuildContext context) { return Container( - height: 100.0, + height: 120.0, child: LayoutBuilder(builder: (context, constraints) { final double maxWidth = constraints.maxWidth; final int barsCount = this.chartData.data.keys.length; @@ -23,7 +23,7 @@ class CountsByDayCardContentChart extends StatelessWidget { return BarChart( BarChartData( barGroups: getDataCounts(barWidth), - backgroundColor: Theme.of(context).colorScheme.onBackground, + backgroundColor: Theme.of(context).colorScheme.onSurface, borderData: getBorderData(), gridData: getGridData(), titlesData: getTitlesData(), @@ -54,6 +54,19 @@ class CountsByDayCardContentChart extends StatelessWidget { return scale * ((number ~/ scale).toInt() + 1); } + LinearGradient getGradient(Color baseColor) { + return LinearGradient( + begin: Alignment.topLeft, + end: Alignment(0.8, 1), + colors: <Color>[ + baseColor.lighten(30), + baseColor, + baseColor.darken(30), + ], + tileMode: TileMode.mirror, + ); + } + List<BarChartGroupData> getDataCounts(double barWidth) { List<BarChartGroupData> data = []; @@ -87,16 +100,20 @@ class CountsByDayCardContentChart extends StatelessWidget { default: } + final gradient = getGradient(barColor); + final borderColor = barColor.darken(20); + data.add(BarChartGroupData( x: day, barRods: [ BarChartRodData( toY: counts, color: barColor, + gradient: gradient, width: barWidth, borderRadius: BorderRadius.all(Radius.zero), borderSide: BorderSide( - color: barColor.darken(20), + color: borderColor, ), ), ], @@ -120,6 +137,8 @@ class CountsByDayCardContentChart extends StatelessWidget { FlGridData getGridData() { return const FlGridData( show: true, + drawHorizontalLine: true, + drawVerticalLine: false, ); } diff --git a/lib/ui/widgets/main_screen/counts_by_hour_card.dart b/lib/ui/widgets/main_screen/counts_by_hour_card.dart index 4c030f7ddb406b5ebd4037b225e171bdeb6c1304..a5def579771e95956539d90f48d25a442427ffc5 100644 --- a/lib/ui/widgets/main_screen/counts_by_hour_card.dart +++ b/lib/ui/widgets/main_screen/counts_by_hour_card.dart @@ -26,7 +26,7 @@ class ChartCountsByHourCard extends StatelessWidget { return Card( elevation: 2, shadowColor: Theme.of(context).colorScheme.shadow, - color: Theme.of(context).colorScheme.primary, + color: Theme.of(context).colorScheme.surface, shape: const RoundedRectangleBorder( borderRadius: BorderRadius.all( Radius.circular(12), diff --git a/lib/ui/widgets/main_screen/counts_by_hour_chart.dart b/lib/ui/widgets/main_screen/counts_by_hour_chart.dart index b8154fcb7ac458718fe507aa076f03121bc4beb5..97965bf77d922ba164d3decce62a5bb2073ea4ad 100644 --- a/lib/ui/widgets/main_screen/counts_by_hour_chart.dart +++ b/lib/ui/widgets/main_screen/counts_by_hour_chart.dart @@ -13,7 +13,7 @@ class CountsByHourCardContentChart extends StatelessWidget { @override Widget build(BuildContext context) { return Container( - height: 100.0, + height: 120.0, child: LayoutBuilder(builder: (context, constraints) { final double maxWidth = constraints.maxWidth; final int barsCount = this.chartData.data.keys.length; @@ -22,7 +22,7 @@ class CountsByHourCardContentChart extends StatelessWidget { return BarChart( BarChartData( barGroups: getDataCounts(barWidth), - backgroundColor: Theme.of(context).colorScheme.onBackground, + backgroundColor: Theme.of(context).colorScheme.onSurface, borderData: getBorderData(), gridData: getGridData(), titlesData: getTitlesData(), @@ -53,25 +53,41 @@ class CountsByHourCardContentChart extends StatelessWidget { return scale * ((number ~/ scale).toInt() + 1); } + LinearGradient getGradient(Color baseColor) { + return LinearGradient( + begin: Alignment.topLeft, + end: Alignment(0.8, 1), + colors: <Color>[ + baseColor.lighten(30), + baseColor, + baseColor.darken(30), + ], + tileMode: TileMode.mirror, + ); + } + List<BarChartGroupData> getDataCounts(double barWidth) { List<BarChartGroupData> data = []; + final baseColor = AppColors.contentColorCyan.darken(30); + final gradient = getGradient(baseColor); + final borderColor = baseColor.darken(20); + this.chartData.data.keys.forEach((day) { final double? counts = this.chartData.data[day]; if (counts != null) { - final Color barColor = AppColors.contentColorCyan.darken(30); - data.add(BarChartGroupData( x: day, barRods: [ BarChartRodData( toY: counts, - color: barColor, + color: baseColor, + gradient: gradient, width: barWidth, borderRadius: BorderRadius.all(Radius.zero), borderSide: BorderSide( - color: barColor.darken(20), + color: borderColor, ), ), ], diff --git a/lib/ui/widgets/main_screen/timeline_card.dart b/lib/ui/widgets/main_screen/timeline_card.dart index bd3d14a8fc6f86452534d98ea0191aa2ac585198..843b93ba356ecbd9f1b173ed59a0fc6302a215e2 100644 --- a/lib/ui/widgets/main_screen/timeline_card.dart +++ b/lib/ui/widgets/main_screen/timeline_card.dart @@ -25,7 +25,7 @@ class ChartTimelineCard extends StatelessWidget { return Card( elevation: 2, shadowColor: Theme.of(context).colorScheme.shadow, - color: Theme.of(context).colorScheme.primary, + color: Theme.of(context).colorScheme.surface, shape: const RoundedRectangleBorder( borderRadius: BorderRadius.all( Radius.circular(12), diff --git a/lib/ui/widgets/main_screen/timeline_chart_counts.dart b/lib/ui/widgets/main_screen/timeline_chart_counts.dart index 409d7dc19712e72c3a66a947146146ef3c4fd5ca..08eb91c158e0d1a34bb347a628bc75136585819c 100644 --- a/lib/ui/widgets/main_screen/timeline_chart_counts.dart +++ b/lib/ui/widgets/main_screen/timeline_chart_counts.dart @@ -23,7 +23,7 @@ class ChartTimelineCounts extends StatelessWidget { return BarChart( BarChartData( barGroups: getDataCounts(barWidth), - backgroundColor: Theme.of(context).colorScheme.onBackground, + backgroundColor: Theme.of(context).colorScheme.onSurface, borderData: getBorderData(), gridData: getGridData(), titlesData: getTitlesData(), @@ -55,9 +55,26 @@ class ChartTimelineCounts extends StatelessWidget { return scale * ((number ~/ scale).toInt() + 1); } + LinearGradient getGradient(Color baseColor) { + return LinearGradient( + begin: Alignment.topLeft, + end: Alignment(0.8, 1), + colors: <Color>[ + baseColor.lighten(30), + baseColor, + baseColor.darken(30), + ], + tileMode: TileMode.mirror, + ); + } + List<BarChartGroupData> getDataCounts(double barWidth) { List<BarChartGroupData> data = []; + final baseColor = AppColors.contentColorOrange; + final gradient = getGradient(baseColor); + final borderColor = baseColor.darken(20); + this.chartData.data.keys.forEach((key) { TimelineDataValue? value = this.chartData.data[key]; if (value != null) { @@ -69,11 +86,12 @@ class ChartTimelineCounts extends StatelessWidget { barRods: [ BarChartRodData( toY: counts, - color: AppColors.contentColorOrange, + color: baseColor, + gradient: gradient, width: barWidth, borderRadius: BorderRadius.all(Radius.zero), borderSide: BorderSide( - color: AppColors.contentColorOrange.darken(20), + color: borderColor, ), ), ], @@ -97,6 +115,8 @@ class ChartTimelineCounts extends StatelessWidget { FlGridData getGridData() { return const FlGridData( show: true, + drawHorizontalLine: true, + drawVerticalLine: false, ); } diff --git a/lib/ui/widgets/main_screen/timeline_chart_eclecticism.dart b/lib/ui/widgets/main_screen/timeline_chart_eclecticism.dart index 64598bb854c3eb6bfc6d3d55fec6030c78ddd8ec..acdf4ba08584a95d624f27f63a288a6fc36acfb8 100644 --- a/lib/ui/widgets/main_screen/timeline_chart_eclecticism.dart +++ b/lib/ui/widgets/main_screen/timeline_chart_eclecticism.dart @@ -4,6 +4,7 @@ import 'package:fl_chart/fl_chart.dart'; import '../../../config/app_colors.dart'; import '../../../models/timeline.dart'; +import '../../../utils/color_extensions.dart'; class ChartTimelineEclecticism extends StatelessWidget { final TimelineData chartData; @@ -13,11 +14,11 @@ class ChartTimelineEclecticism extends StatelessWidget { @override Widget build(BuildContext context) { return Container( - height: 100.0, + height: 120.0, child: LineChart( LineChartData( lineBarsData: getDataEclecticism(), - backgroundColor: Theme.of(context).colorScheme.onBackground, + backgroundColor: Theme.of(context).colorScheme.onSurface, borderData: getBorderData(), gridData: getGridData(), titlesData: getTitlesData(), @@ -30,6 +31,19 @@ class ChartTimelineEclecticism extends StatelessWidget { ); } + LinearGradient getGradient(Color baseColor) { + return LinearGradient( + begin: Alignment.topCenter, + end: Alignment.bottomCenter, + colors: <Color>[ + baseColor.lighten(30), + baseColor, + baseColor.darken(30), + ], + tileMode: TileMode.mirror, + ); + } + List<LineChartBarData> getDataEclecticism() { List<FlSpot> spots = []; @@ -43,14 +57,22 @@ class ChartTimelineEclecticism extends StatelessWidget { } }); + final baseColor = AppColors.contentColorCyan; + final gradient = getGradient(baseColor); + final borderColor = baseColor.darken(20); + return [ LineChartBarData( isCurved: true, - color: AppColors.contentColorCyan, + color: borderColor, barWidth: 3, isStrokeCapRound: false, dotData: const FlDotData(show: false), - belowBarData: BarAreaData(show: true), + belowBarData: BarAreaData( + show: true, + color: baseColor, + gradient: gradient, + ), spots: spots, ), ]; @@ -69,6 +91,8 @@ class ChartTimelineEclecticism extends StatelessWidget { FlGridData getGridData() { return const FlGridData( show: true, + drawHorizontalLine: true, + drawVerticalLine: false, ); } diff --git a/pubspec.yaml b/pubspec.yaml index 4336e1012987165494ed4e41cb566eae56756bd0..d51ded105b56c8a72138567f8ec2f7ed4fc16ed7 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -3,7 +3,7 @@ description: Display scrobbles data and charts publish_to: 'none' -version: 0.0.11+11 +version: 0.0.12+12 environment: sdk: '^3.0.0'