Implement weight stores
This commit is contained in:
		@@ -31,7 +31,7 @@ async function createStore(): Promise<Writable<main.AggregatedFood[]>> {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const dailyFoodStore = await createStore();
 | 
			
		||||
settingsStore.subscribe((settings) => {
 | 
			
		||||
settingsStore.subscribe(() => {
 | 
			
		||||
	// @ts-ignore
 | 
			
		||||
	dailyFoodStore.refresh();
 | 
			
		||||
});
 | 
			
		||||
 
 | 
			
		||||
@@ -31,7 +31,7 @@ async function createStore(): Promise<Writable<main.Food[]>> {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const foodStore = await createStore();
 | 
			
		||||
settingsStore.subscribe((settings) => {
 | 
			
		||||
settingsStore.subscribe(() => {
 | 
			
		||||
	// @ts-ignore
 | 
			
		||||
	foodStore.refresh();
 | 
			
		||||
});
 | 
			
		||||
 
 | 
			
		||||
@@ -31,7 +31,7 @@ async function createStore(): Promise<Writable<main.AggregatedFood[]>> {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const monthlyFoodStore = await createStore();
 | 
			
		||||
settingsStore.subscribe((settings) => {
 | 
			
		||||
settingsStore.subscribe(() => {
 | 
			
		||||
	// @ts-ignore
 | 
			
		||||
	monthlyFoodStore.refresh();
 | 
			
		||||
});
 | 
			
		||||
 
 | 
			
		||||
@@ -31,7 +31,7 @@ async function createStore(): Promise<Writable<main.AggregatedFood[]>> {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const weeklyFoodStore = await createStore();
 | 
			
		||||
settingsStore.subscribe((settings) => {
 | 
			
		||||
settingsStore.subscribe(() => {
 | 
			
		||||
	// @ts-ignore
 | 
			
		||||
	weeklyFoodStore.refresh();
 | 
			
		||||
});
 | 
			
		||||
 
 | 
			
		||||
@@ -31,7 +31,7 @@ async function createStore(): Promise<Writable<main.AggregatedFood[]>> {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const yearlyFoodStore = await createStore();
 | 
			
		||||
settingsStore.subscribe((settings) => {
 | 
			
		||||
settingsStore.subscribe(() => {
 | 
			
		||||
	// @ts-ignore
 | 
			
		||||
	yearlyFoodStore.refresh();
 | 
			
		||||
});
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										39
									
								
								frontend/src/lib/store/Weight/dailyWeightStore.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										39
									
								
								frontend/src/lib/store/Weight/dailyWeightStore.ts
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,39 @@
 | 
			
		||||
import { type Writable, writable } from "svelte/store";
 | 
			
		||||
import { main } from "$wails/models";
 | 
			
		||||
import { GetDailyWeight } from "$wails/main/App";
 | 
			
		||||
import { toast } from "svelte-sonner";
 | 
			
		||||
import { settingsStore } from "../settingsStore";
 | 
			
		||||
 | 
			
		||||
async function createStore(): Promise<Writable<main.AggregatedWeight[]>> {
 | 
			
		||||
	let weights: main.AggregatedWeight[] = [];
 | 
			
		||||
	let res: main.WailsAggregateWeight = await GetDailyWeight();
 | 
			
		||||
	if (!res.success) {
 | 
			
		||||
		toast.error(`Failed to get weights with error: ${res.error}`);
 | 
			
		||||
	} else {
 | 
			
		||||
		weights = res.data;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	const { subscribe, update, set } = writable(weights);
 | 
			
		||||
	return {
 | 
			
		||||
		subscribe,
 | 
			
		||||
		update,
 | 
			
		||||
		set,
 | 
			
		||||
		// @ts-ignore
 | 
			
		||||
		refresh: async () => {
 | 
			
		||||
			const res = await GetDailyWeight();
 | 
			
		||||
			if (!res.success) {
 | 
			
		||||
				toast.error(`Failed to get weights with error: ${res.error}`);
 | 
			
		||||
				return;
 | 
			
		||||
			}
 | 
			
		||||
			set(res.data);
 | 
			
		||||
		},
 | 
			
		||||
	};
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const dailyWeightStore = await createStore();
 | 
			
		||||
settingsStore.subscribe(() => {
 | 
			
		||||
	// @ts-ignore
 | 
			
		||||
	dailyWeightStore.refresh();
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
export { dailyWeightStore };
 | 
			
		||||
							
								
								
									
										39
									
								
								frontend/src/lib/store/Weight/monthlyWeightStore.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										39
									
								
								frontend/src/lib/store/Weight/monthlyWeightStore.ts
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,39 @@
 | 
			
		||||
import { type Writable, writable } from "svelte/store";
 | 
			
		||||
import { main } from "$wails/models";
 | 
			
		||||
import { GetMonthlyWeight } from "$wails/main/App";
 | 
			
		||||
import { toast } from "svelte-sonner";
 | 
			
		||||
import { settingsStore } from "../settingsStore";
 | 
			
		||||
 | 
			
		||||
async function createStore(): Promise<Writable<main.AggregatedWeight[]>> {
 | 
			
		||||
	let weights: main.AggregatedWeight[] = [];
 | 
			
		||||
	let res: main.WailsAggregateWeight = await GetMonthlyWeight();
 | 
			
		||||
	if (!res.success) {
 | 
			
		||||
		toast.error(`Failed to get weights with error: ${res.error}`);
 | 
			
		||||
	} else {
 | 
			
		||||
		weights = res.data;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	const { subscribe, update, set } = writable(weights);
 | 
			
		||||
	return {
 | 
			
		||||
		subscribe,
 | 
			
		||||
		update,
 | 
			
		||||
		set,
 | 
			
		||||
		// @ts-ignore
 | 
			
		||||
		refresh: async () => {
 | 
			
		||||
			const res = await GetMonthlyWeight();
 | 
			
		||||
			if (!res.success) {
 | 
			
		||||
				toast.error(`Failed to get weights with error: ${res.error}`);
 | 
			
		||||
				return;
 | 
			
		||||
			}
 | 
			
		||||
			set(res.data);
 | 
			
		||||
		},
 | 
			
		||||
	};
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const monthlyWeightStore = await createStore();
 | 
			
		||||
settingsStore.subscribe(() => {
 | 
			
		||||
	// @ts-ignore
 | 
			
		||||
	monthlyWeightStore.refresh();
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
export { monthlyWeightStore };
 | 
			
		||||
							
								
								
									
										39
									
								
								frontend/src/lib/store/Weight/weeklyWeightStore.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										39
									
								
								frontend/src/lib/store/Weight/weeklyWeightStore.ts
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,39 @@
 | 
			
		||||
import { type Writable, writable } from "svelte/store";
 | 
			
		||||
import { main } from "$wails/models";
 | 
			
		||||
import { GetWeeklyWeight } from "$wails/main/App";
 | 
			
		||||
import { toast } from "svelte-sonner";
 | 
			
		||||
import { settingsStore } from "../settingsStore";
 | 
			
		||||
 | 
			
		||||
async function createStore(): Promise<Writable<main.AggregatedWeight[]>> {
 | 
			
		||||
	let weights: main.AggregatedWeight[] = [];
 | 
			
		||||
	let res: main.WailsAggregateWeight = await GetWeeklyWeight();
 | 
			
		||||
	if (!res.success) {
 | 
			
		||||
		toast.error(`Failed to get weights with error: ${res.error}`);
 | 
			
		||||
	} else {
 | 
			
		||||
		weights = res.data;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	const { subscribe, update, set } = writable(weights);
 | 
			
		||||
	return {
 | 
			
		||||
		subscribe,
 | 
			
		||||
		update,
 | 
			
		||||
		set,
 | 
			
		||||
		// @ts-ignore
 | 
			
		||||
		refresh: async () => {
 | 
			
		||||
			const res = await GetWeeklyWeight();
 | 
			
		||||
			if (!res.success) {
 | 
			
		||||
				toast.error(`Failed to get weights with error: ${res.error}`);
 | 
			
		||||
				return;
 | 
			
		||||
			}
 | 
			
		||||
			set(res.data);
 | 
			
		||||
		},
 | 
			
		||||
	};
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const weeklyWeightStore = await createStore();
 | 
			
		||||
settingsStore.subscribe(() => {
 | 
			
		||||
	// @ts-ignore
 | 
			
		||||
	weeklyWeightStore.refresh();
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
export { weeklyWeightStore };
 | 
			
		||||
							
								
								
									
										39
									
								
								frontend/src/lib/store/Weight/weightStore.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										39
									
								
								frontend/src/lib/store/Weight/weightStore.ts
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,39 @@
 | 
			
		||||
import { type Writable, writable } from "svelte/store";
 | 
			
		||||
import { main } from "$wails/models";
 | 
			
		||||
import { GetWeight } from "$wails/main/App";
 | 
			
		||||
import { toast } from "svelte-sonner";
 | 
			
		||||
import { settingsStore } from "../settingsStore";
 | 
			
		||||
 | 
			
		||||
async function createStore(): Promise<Writable<main.Weight[]>> {
 | 
			
		||||
	let weights: main.Weight[] = [];
 | 
			
		||||
	let res: main.WailsWeight = await GetWeight();
 | 
			
		||||
	if (!res.success) {
 | 
			
		||||
		toast.error(`Failed to get weights with error: ${res.error}`);
 | 
			
		||||
	} else {
 | 
			
		||||
		weights = res.data;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	const { subscribe, update, set } = writable(weights);
 | 
			
		||||
	return {
 | 
			
		||||
		subscribe,
 | 
			
		||||
		update,
 | 
			
		||||
		set,
 | 
			
		||||
		// @ts-ignore
 | 
			
		||||
		refresh: async () => {
 | 
			
		||||
			const res = await GetWeight();
 | 
			
		||||
			if (!res.success) {
 | 
			
		||||
				toast.error(`Failed to get weights with error: ${res.error}`);
 | 
			
		||||
				return;
 | 
			
		||||
			}
 | 
			
		||||
			set(res.data);
 | 
			
		||||
		},
 | 
			
		||||
	};
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const weightStore = await createStore();
 | 
			
		||||
settingsStore.subscribe(() => {
 | 
			
		||||
	// @ts-ignore
 | 
			
		||||
	weightStore.refresh();
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
export { weightStore };
 | 
			
		||||
							
								
								
									
										39
									
								
								frontend/src/lib/store/Weight/yearlyWeightStore.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										39
									
								
								frontend/src/lib/store/Weight/yearlyWeightStore.ts
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,39 @@
 | 
			
		||||
import { type Writable, writable } from "svelte/store";
 | 
			
		||||
import { main } from "$wails/models";
 | 
			
		||||
import { GetYearlyWeight } from "$wails/main/App";
 | 
			
		||||
import { toast } from "svelte-sonner";
 | 
			
		||||
import { settingsStore } from "../settingsStore";
 | 
			
		||||
 | 
			
		||||
async function createStore(): Promise<Writable<main.AggregatedWeight[]>> {
 | 
			
		||||
	let weights: main.AggregatedWeight[] = [];
 | 
			
		||||
	let res: main.WailsAggregateWeight = await GetYearlyWeight();
 | 
			
		||||
	if (!res.success) {
 | 
			
		||||
		toast.error(`Failed to get weights with error: ${res.error}`);
 | 
			
		||||
	} else {
 | 
			
		||||
		weights = res.data;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	const { subscribe, update, set } = writable(weights);
 | 
			
		||||
	return {
 | 
			
		||||
		subscribe,
 | 
			
		||||
		update,
 | 
			
		||||
		set,
 | 
			
		||||
		// @ts-ignore
 | 
			
		||||
		refresh: async () => {
 | 
			
		||||
			const res = await GetYearlyWeight();
 | 
			
		||||
			if (!res.success) {
 | 
			
		||||
				toast.error(`Failed to get weights with error: ${res.error}`);
 | 
			
		||||
				return;
 | 
			
		||||
			}
 | 
			
		||||
			set(res.data);
 | 
			
		||||
		},
 | 
			
		||||
	};
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const yearlyWeightStore = await createStore();
 | 
			
		||||
settingsStore.subscribe(() => {
 | 
			
		||||
	// @ts-ignore
 | 
			
		||||
	yearlyWeightStore.refresh();
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
export { yearlyWeightStore };
 | 
			
		||||
		Reference in New Issue
	
	Block a user