Add weekly monthly and yearly periods
This commit is contained in:
@@ -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}
|
||||
|
@@ -26,6 +26,18 @@
|
||||
{
|
||||
label: 'Daily',
|
||||
href: '/daily'
|
||||
},
|
||||
{
|
||||
label: 'Weekly',
|
||||
href: '/weekly'
|
||||
},
|
||||
{
|
||||
label: 'Monthly',
|
||||
href: '/monthly'
|
||||
},
|
||||
{
|
||||
label: 'Yearly',
|
||||
href: '/yearly'
|
||||
}
|
||||
]
|
||||
</script>
|
||||
|
@@ -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() {
|
||||
|
@@ -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>
|
||||
|
||||
|
19
src/lib/router/routes/Monthly.svelte
Normal file
19
src/lib/router/routes/Monthly.svelte
Normal 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>
|
19
src/lib/router/routes/Weekly.svelte
Normal file
19
src/lib/router/routes/Weekly.svelte
Normal 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>
|
19
src/lib/router/routes/Yearly.svelte
Normal file
19
src/lib/router/routes/Yearly.svelte
Normal 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>
|
Reference in New Issue
Block a user