zwischenstand

This commit is contained in:
2025-07-10 10:07:29 +02:00
parent 63f6e2d32f
commit 41472e02ad
28 changed files with 818 additions and 209 deletions

View File

@ -69,6 +69,9 @@ import { save } from '@tauri-apps/plugin-dialog'
import { onKeyStroke } from '@vueuse/core'
import { useVaultStore } from '~/stores/vault'
import { vaultDatabaseSchema } from './schema'
import { BaseDirectory, readFile, writeFile } from '@tauri-apps/plugin-fs'
import { resolveResource } from '@tauri-apps/api/path'
//import { convertFileSrc } from "@tauri-apps/api/tauri";
onKeyStroke('Enter', (e) => {
e.preventDefault()
@ -123,12 +126,22 @@ const onCreateAsync = async () => {
open.value = false
try {
const template_vault_path = await resolveResource('database/vault.db')
const template_vault = await readFile(template_vault_path)
database.path = await save({
defaultPath: database.name.endsWith('.db')
? database.name
: `${database.name}.db`,
})
if (!database.path) return
await writeFile('temp_vault.db', template_vault, {
baseDir: BaseDirectory.AppLocalData,
})
console.log('data', database)
if (database.path && database.password) {
@ -146,7 +159,7 @@ const onCreateAsync = async () => {
}
} catch (error) {
console.error(error)
add({ type: 'error', text: JSON.stringify(error) })
add({ type: 'error', text: `${error}` })
}
}

View File

@ -18,7 +18,7 @@
<UiTextGradient>HaexVault</UiTextGradient>
</template>
</i18n-t>
Path1: {{ test }}
<div class="text-sm">{{ props.path ?? database.path }}</div>
</template>
@ -41,6 +41,15 @@
<script setup lang="ts">
import { open as openVault } from '@tauri-apps/plugin-dialog'
import { vaultDatabaseSchema } from './schema'
import {
BaseDirectory,
copyFile,
mkdir,
exists,
readFile,
writeFile,
stat,
} from '@tauri-apps/plugin-fs'
const { t } = useI18n()
@ -96,6 +105,7 @@ const onLoadDatabase = async () => {
],
})
console.log('onLoadDatabase', database.path)
if (!database.path) return
open.value = true
@ -118,13 +128,17 @@ const onOpenDatabase = async () => {
database.password,
)
if (!pathCheck.success || !passwordCheck.success || !path) {
/* if (!pathCheck.success || !passwordCheck.success || !path) {
add({
type: 'error',
text: `Params falsch. Path: ${pathCheck.error} | Password: ${passwordCheck.error}`,
})
return
}
} */
//const vaultName = await copyDatabaseInAppDirectoryAsync(path)
//if (!vaultName) return
const vaultId = await openAsync({
path,
@ -159,6 +173,31 @@ const onOpenDatabase = async () => {
}
}
const test = ref()
const copyDatabaseInAppDirectoryAsync = async (source: string) => {
const vaultName = getFileName(source)
const vaultsDirExists = await exists('vaults', {
baseDir: BaseDirectory.AppLocalData,
})
//convertFileSrc
if (!vaultsDirExists) {
await mkdir('vaults', {
baseDir: BaseDirectory.AppLocalData,
})
}
test.value = `source: ${source} - target: vaults/${vaultName}`
console.log('copyDatabaseInAppDirectoryAsync', `vaults/${vaultName}`)
const sourceFile = await readFile(source)
await writeFile(`vaults/HaexVault.db`, sourceFile, {
baseDir: BaseDirectory.AppLocalData,
})
/* await copyFile(source, `vaults/HaexVault.db`, {
toPathBaseDir: BaseDirectory.AppLocalData,
}) */
return vaultName
}
const onAbort = () => {
initDatabase()
open.value = false