Add weekly monthly and yearly periods

This commit is contained in:
2024-06-12 10:14:58 +02:00
parent 41b77d8c98
commit 63cdc3c657
7 changed files with 79 additions and 4 deletions

View File

@@ -8,7 +8,7 @@
<tr class="border-b border-gray-200 dark:border-gray-700">
<th class="px-6 py-4 font-medium text-gray-900 whitespace-nowrap bg-gray-50 dark:text-white dark:bg-gray-800"
scope="row">
{item.date}
{item.period}
</th>
<td class="px-6 py-4">
{item.amount}

View File

@@ -26,6 +26,18 @@
{
label: 'Daily',
href: '/daily'
},
{
label: 'Weekly',
href: '/weekly'
},
{
label: 'Monthly',
href: '/monthly'
},
{
label: 'Yearly',
href: '/yearly'
}
]
</script>

View File

@@ -12,14 +12,14 @@ export type Food = {
}
export type AggregatedFood = {
date: Date,
period: string,
amount: number,
avgPer100: number,
energy: number,
}
const columns = ['rowid', 'date', 'food', 'description', 'amount', 'per100', 'energy']
const aggColumns = ['date', 'amount', 'avgPer100', 'energy']
const aggColumns = ['period', 'amount', 'avgPer100', 'energy']
const FoodService = {
async GetAll() {

View File

@@ -3,10 +3,16 @@
import Home from '$lib/router/routes/Home.svelte'
import Daily from '$router/routes/Daily.svelte'
import Weekly from '$router/routes/Weekly.svelte'
import Monthly from '$router/routes/Monthly.svelte'
import Yearly from '$router/routes/Yearly.svelte'
const routes = {
'/': Home,
'/daily': Daily
'/daily': Daily,
'/weekly': Weekly,
'/monthly': Monthly,
'/yearly': Yearly
}
</script>

View File

@@ -0,0 +1,19 @@
<script lang="ts">
import { type AggregatedFood, FoodService } from '$lib/database/food'
import { onMount } from 'svelte'
import AggregatedFoodTable from '$components/AggregatedFood/AggregatedFoodTable.svelte'
let foods: AggregatedFood[] = []
onMount(async () => {
const [dbfoods, err] = await FoodService.GetMonthly()
if (err) {
console.error(err)
return
}
foods = dbfoods
})
</script>
<template>
<AggregatedFoodTable items="{foods}" />
</template>

View File

@@ -0,0 +1,19 @@
<script lang="ts">
import { type AggregatedFood, FoodService } from '$lib/database/food'
import { onMount } from 'svelte'
import AggregatedFoodTable from '$components/AggregatedFood/AggregatedFoodTable.svelte'
let foods: AggregatedFood[] = []
onMount(async () => {
const [dbfoods, err] = await FoodService.GetWeekly()
if (err) {
console.error(err)
return
}
foods = dbfoods
})
</script>
<template>
<AggregatedFoodTable items="{foods}" />
</template>

View File

@@ -0,0 +1,19 @@
<script lang="ts">
import { type AggregatedFood, FoodService } from '$lib/database/food'
import { onMount } from 'svelte'
import AggregatedFoodTable from '$components/AggregatedFood/AggregatedFoodTable.svelte'
let foods: AggregatedFood[] = []
onMount(async () => {
const [dbfoods, err] = await FoodService.GetYearly()
if (err) {
console.error(err)
return
}
foods = dbfoods
})
</script>
<template>
<AggregatedFoodTable items="{foods}" />
</template>