diff --git a/src/lib/components/Header.svelte b/src/lib/components/Header.svelte
index aa1d284..d242e31 100644
--- a/src/lib/components/Header.svelte
+++ b/src/lib/components/Header.svelte
@@ -10,6 +10,8 @@
import { cn } from '$lib/utils'
import { location } from 'svelte-spa-router'
+ import { dbStateStore } from '$lib/store/dbState'
+ import { DBService } from '$lib/database'
// You can structure your links however you'd like, but I like to keep them in an array of objects
type Link = {
@@ -43,6 +45,9 @@
class="flex space-x-4 text-xl font-bold select-none"
on:dragstart|preventDefault
>
+
T
+ C
+ R
{#each links as { href, label }}
{
+ state.transacting = true
+ return state
+ })
+ return db.execute('begin transaction')
+ },
+ Commit() {
+ dbStateStore.update((state) => {
+ state.transacting = false
+ return state
+ })
+ return db.execute('commit')
+ },
+ Rollback() {
+ dbStateStore.update((state) => {
+ state.transacting = false
+ return state
+ })
+ return db.execute('rollback')
+ }
+}
+
+export { DBService }
diff --git a/src/lib/store/dbState.ts b/src/lib/store/dbState.ts
new file mode 100644
index 0000000..332908d
--- /dev/null
+++ b/src/lib/store/dbState.ts
@@ -0,0 +1,19 @@
+import { writable } from 'svelte/store'
+
+type DBState = {
+ transacting: boolean
+}
+
+function createStore() {
+ const state = {
+ transacting: false
+ }
+ const { subscribe, update, set } = writable(state)
+ return {
+ subscribe,
+ update,
+ set
+ }
+}
+
+export const dbStateStore = createStore()