chore: initial commit — existing single-user document scanner codebase

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
curo1305
2026-05-22 08:53:28 +02:00
parent 6fed5ba531
commit 7a34807fa0
71 changed files with 16408 additions and 0 deletions
+42
View File
@@ -0,0 +1,42 @@
import { defineStore } from 'pinia'
import { ref } from 'vue'
import * as api from '../api/client.js'
export const useTopicsStore = defineStore('topics', () => {
const topics = ref([])
const loading = ref(false)
const error = ref(null)
async function fetchTopics() {
loading.value = true
error.value = null
try {
const data = await api.listTopics()
topics.value = data.topics
} catch (e) {
error.value = e.message
} finally {
loading.value = false
}
}
async function addTopic(payload) {
const topic = await api.createTopic(payload)
topics.value.push(topic)
return topic
}
async function editTopic(id, patch) {
const updated = await api.updateTopic(id, patch)
const idx = topics.value.findIndex(t => t.id === id)
if (idx !== -1) topics.value[idx] = updated
return updated
}
async function removeTopic(id) {
await api.deleteTopic(id)
topics.value = topics.value.filter(t => t.id !== id)
}
return { topics, loading, error, fetchTopics, addTopic, editTopic, removeTopic }
})