From 1edf35f0a28c1be10d056535194a536a54634e8f Mon Sep 17 00:00:00 2001
From: Sara <sarasdj@stud.ntnu.no>
Date: Tue, 9 Apr 2024 12:21:47 +0200
Subject: [PATCH] update: convert chart index to date

---
 app/lib/consts.dart                     |  2 +-
 app/lib/utils/format_month.dart         | 30 ++++++++++++++++
 app/lib/widgets/bar_graph/bar_data.dart | 18 ++++++++++
 app/lib/widgets/main_layout.dart        | 47 ++++++-------------------
 4 files changed, 60 insertions(+), 37 deletions(-)
 create mode 100644 app/lib/utils/format_month.dart

diff --git a/app/lib/consts.dart b/app/lib/consts.dart
index 3c0d9840..f31ec731 100644
--- a/app/lib/consts.dart
+++ b/app/lib/consts.dart
@@ -33,6 +33,6 @@ final titleStyle = GoogleFonts.chakraPetch(
   fontWeight: FontWeight.bold,
 );
 final regTextStyle = GoogleFonts.chakraPetch(fontSize: 16, color: textColor);
-final regTextStyleBig = GoogleFonts.chakraPetch(fontSize: 18, color: textColor);
+final regTextStyleBig = GoogleFonts.chakraPetch(fontSize: 20, color: textColor);
 final chartTextStyle = GoogleFonts.chakraPetch(fontSize: 12, color: textColor);
 final subHeadingStyle = GoogleFonts.chakraPetch(fontSize: 18, color: textColor, fontWeight: FontWeight.bold);
diff --git a/app/lib/utils/format_month.dart b/app/lib/utils/format_month.dart
new file mode 100644
index 00000000..30f32e57
--- /dev/null
+++ b/app/lib/utils/format_month.dart
@@ -0,0 +1,30 @@
+String formatMonth(int month) {
+  switch (month) {
+    case 1:
+      return 'Jan';
+    case 2:
+      return 'Feb';
+    case 3:
+      return 'Mar';
+    case 4:
+      return 'Apr';
+    case 5:
+      return 'May';
+    case 6:
+      return 'Jun';
+    case 7:
+      return 'Jul';
+    case 8:
+      return 'Aug';
+    case 9:
+      return 'Sep';
+    case 10:
+      return 'Oct';
+    case 11:
+      return 'Nov';
+    case 12:
+      return 'Dec';
+    default:
+      return '';
+  }
+}
\ No newline at end of file
diff --git a/app/lib/widgets/bar_graph/bar_data.dart b/app/lib/widgets/bar_graph/bar_data.dart
index 4b80bacc..aff6f066 100644
--- a/app/lib/widgets/bar_graph/bar_data.dart
+++ b/app/lib/widgets/bar_graph/bar_data.dart
@@ -2,6 +2,7 @@ import 'package:flutter/material.dart';
 import 'package:fl_chart/fl_chart.dart';
 
 import '../../consts.dart';
+import '../../utils/format_month.dart';
 
 class BarData extends StatefulWidget {
   const BarData({super.key});
@@ -129,6 +130,23 @@ class _BarDataState extends State<BarData> {
                       showTitles: true,
                       reservedSize: 20,
                       getTextStyles: (value) => const TextStyle(color: Colors.white60),
+                      getTitles: (value) {
+                        // Convert bar indexes to dates
+                        if (barData.isNotEmpty && value >= 0 && value < barData.length) {
+                          int index = value.toInt();
+
+                          DateTime today = DateTime.now();
+
+                          // Subtract index from the day of the month of the current date
+                          int day = today.day - (6-index);
+
+                          String date = day.toString();
+                          String month = formatMonth(today.month);
+
+                          return '$month $date';
+                        }
+                        return '';
+                      },
                     ),
                     leftTitles: SideTitles(
                       showTitles: true,
diff --git a/app/lib/widgets/main_layout.dart b/app/lib/widgets/main_layout.dart
index 021b77fd..5cd63e24 100644
--- a/app/lib/widgets/main_layout.dart
+++ b/app/lib/widgets/main_layout.dart
@@ -12,6 +12,7 @@ import 'choropleth_map.dart';
 import '../data_classes.dart';
 import 'satellite_layer.dart';
 import 'quick_view_chart.dart';
+import '../utils/format_month.dart';
 
 /// MapContainerWidget is the main widget that contains the map with all
 /// its layers, polygons and markers.
@@ -246,19 +247,24 @@ class _MapContainerWidgetState extends State<MapContainerWidget> {
                             'Time: ${selectedTile?.timeMeasured.hour}:00',
                             style: regTextStyle,
                           ),
+                          const SizedBox(height: contPadding),
+                          Text(
+                            'Measuring point: (${selectedTile?.measurementID}, ${selectedTile?.measurementID})',
+                            style: regTextStyle,
+                          ),
                         ],
                       ),
                     ),
                   ),
                 ),
-                const SizedBox(height: contPadding*2),
+                const SizedBox(height: contPadding*2.5),
                 SizedBox(
                 width: screenWidth * boxWidth * 1.2,
                   child: Center(
-                  child: Text(
-                    'Measuring point: (${selectedTile?.measurementID}, ${selectedTile?.measurementID})',
-                    style: regTextStyle,
-                    ),
+                    child: Text(
+                      'Ice layers',
+                      style: regTextStyleBig,
+                      ),
                   ),
                 ),
                 SizedBox(
@@ -305,34 +311,3 @@ class _MapContainerWidgetState extends State<MapContainerWidget> {
     );
   }
 }
-
-String formatMonth(int month) {
-  switch (month) {
-    case 1:
-      return 'Jan';
-    case 2:
-      return 'Feb';
-    case 3:
-      return 'Mar';
-    case 4:
-      return 'Apr';
-    case 5:
-      return 'May';
-    case 6:
-      return 'Jun';
-    case 7:
-      return 'Jul';
-    case 8:
-      return 'Aug';
-    case 9:
-      return 'Sep';
-    case 10:
-      return 'Oct';
-    case 11:
-      return 'Nov';
-    case 12:
-      return 'Dec';
-    default:
-      return '';
-  }
-}
\ No newline at end of file
-- 
GitLab