diff --git a/.vscode/launch.json b/.vscode/launch.json
index f81a9deb..4aceb26d 100644
--- a/.vscode/launch.json
+++ b/.vscode/launch.json
@@ -16,6 +16,7 @@
"3000",
"-t",
"lib/main_dev.dart",
+ "--web-experimental-hot-reload",
],
"flutterMode": "debug"
@@ -35,6 +36,7 @@
"3000",
"-t",
"lib/main_staging.dart",
+ "--web-experimental-hot-reload",
],
"flutterMode": "debug"
@@ -54,6 +56,7 @@
"3000",
"-t",
"lib/main.dart",
+ "--web-experimental-hot-reload",
],
"flutterMode": "debug"
diff --git a/assets/icons/close_settings_icon.svg b/assets/icons/close_settings_icon.svg
new file mode 100644
index 00000000..93e615d8
--- /dev/null
+++ b/assets/icons/close_settings_icon.svg
@@ -0,0 +1,3 @@
+
diff --git a/assets/icons/edit_name_icon_settings.svg b/assets/icons/edit_name_icon_settings.svg
new file mode 100644
index 00000000..54bee0af
--- /dev/null
+++ b/assets/icons/edit_name_icon_settings.svg
@@ -0,0 +1,3 @@
+
diff --git a/lib/pages/analytics/models/air_quality_data_model.dart b/lib/pages/analytics/models/air_quality_data_model.dart
new file mode 100644
index 00000000..2eab2ddb
--- /dev/null
+++ b/lib/pages/analytics/models/air_quality_data_model.dart
@@ -0,0 +1,57 @@
+import 'package:equatable/equatable.dart';
+import 'package:flutter/material.dart';
+import 'package:syncrow_web/utils/color_manager.dart';
+
+class AirQualityDataModel extends Equatable {
+ const AirQualityDataModel({
+ required this.date,
+ required this.data,
+ });
+
+ final DateTime date;
+ final List data;
+
+ factory AirQualityDataModel.fromJson(Map json) {
+ return AirQualityDataModel(
+ date: DateTime.parse(json['date'] as String),
+ data: (json['data'] as List)
+ .map((e) => AirQualityPercentageData.fromJson(e as Map))
+ .toList(),
+ );
+ }
+
+ static final Map metricColors = {
+ 'good': ColorsManager.goodGreen.withValues(alpha: 0.7),
+ 'moderate': ColorsManager.moderateYellow.withValues(alpha: 0.7),
+ 'poor': ColorsManager.poorOrange.withValues(alpha: 0.7),
+ 'unhealthy': ColorsManager.unhealthyRed.withValues(alpha: 0.7),
+ 'severe': ColorsManager.severePink.withValues(alpha: 0.7),
+ 'hazardous': ColorsManager.hazardousPurple.withValues(alpha: 0.7),
+ };
+
+ @override
+ List