diff --git a/lib/home.dart b/lib/home.dart index 8db5670..47c7a2e 100644 --- a/lib/home.dart +++ b/lib/home.dart @@ -1,5 +1,5 @@ import 'package:flutter/material.dart'; -import 'package:leg_barkr_app/view/steps_page.dart'; +import 'package:leg_barkr_app/view/steps/steps_page.dart'; import 'package:leg_barkr_app/view/data_page.dart'; import 'package:leg_barkr_app/view/map_page.dart'; import 'package:leg_barkr_app/view/settings_page.dart'; diff --git a/lib/model/steps_series.dart b/lib/model/steps_series.dart index 2b3ee3c..faf5958 100644 --- a/lib/model/steps_series.dart +++ b/lib/model/steps_series.dart @@ -1,13 +1,6 @@ -import 'package:charts_flutter/flutter.dart' as charts; - -class StepSeries { +class StepsSeries { final DateTime date; final int steps; - final charts.Color barColor; - StepSeries({ - required this.date, - required this.steps, - required this.barColor - }); + StepsSeries(this.date, this.steps); } \ No newline at end of file diff --git a/lib/view/steps/steps_chart.dart b/lib/view/steps/steps_chart.dart new file mode 100644 index 0000000..e911a8a --- /dev/null +++ b/lib/view/steps/steps_chart.dart @@ -0,0 +1,25 @@ +import 'package:flutter/material.dart'; +import 'package:charts_flutter/flutter.dart' as charts; +import 'package:leg_barkr_app/model/steps_series.dart'; + +class StepsChart extends StatelessWidget { + final List data; + + StepsChart(this.data); + + @override + Widget build(BuildContext context) { + List> series = [ + charts.Series( + id: "Steps", + data: data, + domainFn: (StepsSeries series, _) => series.date.day.toString() + "/" + series.date.month.toString(), + measureFn: (StepsSeries series, _) => series.steps, + colorFn: (StepsSeries series, _) => charts.ColorUtil.fromDartColor(Colors.green) + ) + ]; + + return new charts.BarChart(series, animate: true,); + } + +} \ No newline at end of file diff --git a/lib/view/steps/steps_page.dart b/lib/view/steps/steps_page.dart new file mode 100644 index 0000000..1c3981b --- /dev/null +++ b/lib/view/steps/steps_page.dart @@ -0,0 +1,36 @@ +import 'package:charts_flutter/flutter.dart' as charts; +import 'package:flutter/material.dart'; +import 'package:leg_barkr_app/model/steps_series.dart'; +import 'package:leg_barkr_app/view/steps/steps_chart.dart'; + +class StepsPage extends StatefulWidget { + const StepsPage({ Key? key }) : super(key: key); + + @override + _StepsPageState createState() => _StepsPageState(); +} + +class _StepsPageState extends State { + // Dummy data + final List data = [ + StepsSeries(DateTime.utc(2022, 2, 9), 9867), + StepsSeries(DateTime.utc(2022, 2, 8), 8123), + StepsSeries(DateTime.utc(2022, 2, 7), 10234), + StepsSeries(DateTime.utc(2022, 2, 6), 6521), + StepsSeries(DateTime.utc(2022, 2, 5), 1021), + StepsSeries(DateTime.utc(2022, 2, 4), 10567), + StepsSeries(DateTime.utc(2022, 2, 3), 7500) + ]; + + + @override + Widget build(BuildContext context) { + return MaterialApp( + home: Scaffold( + body: Center( + child: StepsChart(data) + ), + ), + ); + } +} \ No newline at end of file diff --git a/lib/view/steps_page.dart b/lib/view/steps_page.dart deleted file mode 100644 index 91a402f..0000000 --- a/lib/view/steps_page.dart +++ /dev/null @@ -1,14 +0,0 @@ -import 'package:flutter/material.dart'; - -class StepsPage extends StatelessWidget { - const StepsPage({ Key? key }) : super(key: key); - - @override - Widget build(BuildContext context) { - return Scaffold( - body: Center( - child: Text("Steps Page"), - ), - ); - } -} \ No newline at end of file