Add billsstore

This commit is contained in:
2024-08-19 11:10:57 +02:00
parent 9cbaf7880b
commit 69eee93cff
3 changed files with 43 additions and 1 deletions

View File

@@ -2,7 +2,11 @@
import { Toaster } from "svelte-sonner";
import Header from "$lib/components/Header.svelte";
import Router from "$lib/router/Router.svelte";
import { billsStore } from "$lib/store/billsStore";
import { Close } from '$wails/main/App'
console.log($billsStore);
function keyDown(event: KeyboardEvent) {
if (event.ctrlKey && event.key == "r") {
window.location.reload();

View File

@@ -0,0 +1,38 @@
import { type Writable, writable } from "svelte/store";
import {GetBills} from '$wails/main/App'
import { main } from "$wails/models";
import { toast } from "svelte-sonner";
async function createStore(): Promise<Writable<Map<number, main.Bill>>> {
const bills: Map<number, main.Bill> = new Map<number, main.Bill>();
const res = await GetBills()
if (!res.success) {
toast.error("Error getting bills " + res.error);
} else {
for (let i = 0; i < res.data.length; i++) {
const bill = res.data[i];
bills.set(bill.id, bill)
}
}
const { subscribe, update, set } = writable(bills);
return {
subscribe,
update,
set,
// @ts-ignore
refresh: async () => {
const res = await GetBills()
if (!res.success) {
toast.error("Error getting bills " + res.error);
} else {
for (let i = 0; i < res.data.length; i++) {
const bill = res.data[i];
bills.set(bill.id, bill)
}
}
},
};
}
export const billsStore = await createStore();