{:catch error}
--
cgit v1.1
From d8b0f1335078d53d95a4212b1a4d4b0b28016702 Mon Sep 17 00:00:00 2001
From: Zach Berwaldt
Date: Fri, 1 Mar 2024 20:12:21 -0500
Subject: feat(DataView): Add functionality to add water statistic
This commit adds functionality to add water statistics to the DataView component. It includes the following changes:
- Remove unused imports and variables
- Move the 'handleClick' function logic to a new 'AddForm' component
- Create the 'AddForm' component which displays a dialog with input fields for date and quantity and allows the user to add a new water statistic
- Dispatch events on form submit and dialog close in the 'AddForm' component
- Call the 'fetchData' function on successful submission of a new statistic
- Update chart data to display sample data
New component:
- AddForm.svelte: A form component to add a new water statistic
Note: This commit message exceeds the 50-character limit in the subject line, but adheres to the other specified requirements.
---
fe/src/lib/DataView.svelte | 206 ++++++++++++++++-----------------------------
1 file changed, 74 insertions(+), 132 deletions(-)
(limited to 'fe/src/lib/DataView.svelte')
diff --git a/fe/src/lib/DataView.svelte b/fe/src/lib/DataView.svelte
index 00ee21a..7f368c6 100644
--- a/fe/src/lib/DataView.svelte
+++ b/fe/src/lib/DataView.svelte
@@ -1,148 +1,90 @@
-
-
-
-
- {#await json then data}
-
- {:catch error}
-
{error}
- {/await}
-
+
+
+
+ {#await json then data}
+
+ {:catch error}
+
{error}
+ {/await}
+
--
cgit v1.1
From 326f186d67017f87e631a1fbcdf3f184cbc42d7d Mon Sep 17 00:00:00 2001
From: Zach Berwaldt
Date: Fri, 1 Mar 2024 20:26:42 -0500
Subject: feat: Add last seven days labels to chart
In the `DataView.svelte` component, the last seven days are now included as labels in the chart. This allows users to easily visualize data for the past week. The `getLastSevenDays` function generates an array of string values representing the dates in ISO format. This array is assigned to the `lastSevenDays` variable, which is then used as the labels in the chart's dataset.
---
fe/src/lib/DataView.svelte | 27 +++++++++++++++++++++++----
1 file changed, 23 insertions(+), 4 deletions(-)
(limited to 'fe/src/lib/DataView.svelte')
diff --git a/fe/src/lib/DataView.svelte b/fe/src/lib/DataView.svelte
index 7f368c6..5182a85 100644
--- a/fe/src/lib/DataView.svelte
+++ b/fe/src/lib/DataView.svelte
@@ -12,6 +12,8 @@
let canvasRef: HTMLCanvasElement;
let chart: any;
+ let lastSevenDays: string[];
+
async function fetchData() {
const res = await fetch("http://localhost:8080/api/v1/stats/", {
method: "GET",
@@ -26,6 +28,16 @@
}
}
+ function getLastSevenDays() {
+ const result = [];
+ for (let i = 0; i < 7; i++) {
+ let d = new Date();
+ d.setDate(d.getDate() - i);
+ result.push(d.toISOString().substring(0, 10));
+ }
+ return result;
+ }
+
function handleClick() {
open = true;
}
@@ -41,14 +53,21 @@
onMount(() => {
fetchData();
+ lastSevenDays = getLastSevenDays();
chart = new Chart(canvasRef, {
type: "bar",
data: {
- labels: ["one", "two"],
+ labels: lastSevenDays,
datasets: [
{
- label: "Water",
- data: [1, 2],
+ label: "Zach",
+ data: [1, 2, 8, 2, 5, 5, 1],
+ backgroundColor: "rgba(255, 192, 192, 0.2)",
+ borderColor: "rgba(75, 192, 192, 1)",
+ borderWidth: 1
+ }, {
+ label: "Parker",
+ data: [6, 1, 1, 4, 3, 5, 1],
backgroundColor: "rgba(75, 192, 192, 0.2)",
borderColor: "rgba(75, 192, 192, 1)",
borderWidth: 1
@@ -66,8 +85,8 @@
-
+
{#await json then data}
{:catch error}
--
cgit v1.1
From cf2113e77edabf8e3a632c7b76c769752039ba88 Mon Sep 17 00:00:00 2001
From: Zach Berwaldt
Date: Sat, 2 Mar 2024 16:52:55 -0500
Subject: feat: Add API logging
Add logging to the API to keep track of specific requests and headers. Also added CORS middleware to handle OPTIONS requests.
---
The commit adds logging functionality to the API and includes a middleware function to handle CORS OPTIONS requests. This will allow us to track specific requests and headers received by the API.
[API/main.go](/api/main.go):
- Added import for the 'log' package
- Added logging statements to print the request headers and "_I am here_" message
- Removed unnecessary newlines and comments
[fe/src/app.css](/fe/src/app.css):
- Added a new style for button hover effects
[fe/src/lib/Card.svelte](/fe/src/lib/Card.svelte):
- Added a new `height` prop to the Card component
[fe/src/lib/Column.svelte](/fe/src/lib/Column.svelte):
- Added a new CSS class for column layout
- Set the width and gap using CSS variables
[fe/src/lib/DataView.svelte](/fe/src/lib/DataView.svelte):
- Updated the 'fetchData' function to also fetch 'totals' and 'userStats' data
- Added canvas references and chart variables for bar and line charts
- Added a new 'getLastSevenDays' function to calculate the labels for the charts
- Updated the 'onMount' function to initialize the bar and line charts using the canvas references and data
- Updated the 'onDestroy' function to destroy the bar and line charts
- Added a new 'addFormOpen' store and imported it
- Added a new 'onClick' handler for the Add button to open the AddForm modal
- Updated the layout and added Card components to display the bar and line charts and the JSON data
- Added a new 'fetchTotals' function to fetch data for the 'totals' section
- Added a new 'fetchStatsForUser' function to fetch data for the 'userStats' section
[fe/src/lib/Layout.svelte](/fe/src/lib/Layout.svelte):
- Added a new 'preferenceFormOpen' variable and initialized it to 'false'
- Added a new 'showPreferencesDialog' function to set 'preferenceFormOpen' to 'true'
- Added a new 'closePreferenceDialog' function to set 'preferenceFormOpen' to 'false'
- Added a new 'showAddDialog' function to open the AddForm modal
---
fe/src/lib/DataView.svelte | 129 ++++++++++++++++++++++++++++++++++++---------
1 file changed, 105 insertions(+), 24 deletions(-)
(limited to 'fe/src/lib/DataView.svelte')
diff --git a/fe/src/lib/DataView.svelte b/fe/src/lib/DataView.svelte
index 5182a85..2b1b8b9 100644
--- a/fe/src/lib/DataView.svelte
+++ b/fe/src/lib/DataView.svelte
@@ -1,16 +1,21 @@
-