diff --git a/src/pages/vault/[vaultId]/settings.vue b/src/pages/vault/[vaultId]/settings.vue index a5ccc7c..7416c01 100644 --- a/src/pages/vault/[vaultId]/settings.vue +++ b/src/pages/vault/[vaultId]/settings.vue @@ -36,6 +36,25 @@ {{ t('notifications.requestPermission') }} + +
{{ t('deviceName.label') }}
+
+ + + +
@@ -76,6 +95,23 @@ const onSetVaultNameAsync = async () => { } const { requestNotificationPermissionAsync } = useNotificationStore() + +const { deviceName } = storeToRefs(useDeviceStore()) +const { updateDeviceNameAsync, readDeviceNameAsync } = useDeviceStore() + +onMounted(async () => { + await readDeviceNameAsync() +}) +const onUpdateDeviceNameAsync = async () => { + const check = vaultDeviceNameSchema.safeParse(deviceName.value) + if (!check.success) return + try { + await updateDeviceNameAsync({ name: deviceName.value }) + add({ text: t('deviceName.update.success'), type: 'success' }) + } catch (error) { + add({ text: t('deviceName.update.error'), type: 'error' }) + } +} @@ -91,6 +127,11 @@ de: update: success: Vaultname erfolgreich aktualisiert error: Vaultname konnte nicht aktualisiert werden + deviceName: + label: Gerätename + update: + success: Gerätename wurde erfolgreich aktualisiert + error: Gerätename konnte nich aktualisiert werden en: language: Language design: Design @@ -103,4 +144,9 @@ en: update: success: Vault Name successfully updated error: Vault name could not be updated + deviceName: + label: Device name + update: + success: Device name has been successfully updated + error: Device name could not be updated diff --git a/src/stores/vault/device.ts b/src/stores/vault/device.ts index a363830..45f9db6 100644 --- a/src/stores/vault/device.ts +++ b/src/stores/vault/device.ts @@ -44,9 +44,13 @@ export const useDeviceStore = defineStore('vaultInstanceStore', () => { return deviceId ? (await readDeviceNameAsync(deviceId)) || false : false } - const readDeviceNameAsync = async (id: string) => { + const readDeviceNameAsync = async (id?: string) => { const { readDeviceNameAsync } = useVaultSettingsStore() - deviceName.value = (await readDeviceNameAsync(id))?.value ?? '' + const _id = id ?? deviceId.value + console.log('readDeviceNameAsync id', _id) + if (!_id) return + + deviceName.value = (await readDeviceNameAsync(_id))?.value ?? '' return deviceName.value } @@ -87,8 +91,9 @@ export const useDeviceStore = defineStore('vaultInstanceStore', () => { } return { addDeviceNameAsync, - hostname, deviceId, + deviceName, + hostname, isKnownDeviceAsync, readDeviceNameAsync, setDeviceIdAsync,