add mange qr-codes
Deploy frontend / frontend (push) Successful in 57s

This commit is contained in:
2024-12-03 00:17:47 +02:00
parent 2f4ae28cce
commit 5c7cb6f8db
8 changed files with 140 additions and 11 deletions
+15 -5
View File
@@ -5,16 +5,26 @@ type Props = {
query: UseQueryReturnType<R, E>
}
const slots = defineSlots<{
default?: (slotBindings: { data: R }) => void
error?: (slotBindings: { error: E; reload: typeof refetch }) => void
loading?: () => void
}>()
const { query } = defineProps<Props>()
const { data, error, refetch, isSuccess, isError, isLoading } = query
</script>
<template>
<slot v-if="isSuccess" name="default" :data="data! as R" />
<slot v-else-if="isLoading" name="loading"><p class="text-gray-500">Загрузка данных...</p></slot>
<slot v-else-if="isError" name="error" :error="error as E" :reload="refetch">
Ошибка загрузки данных:
{{ error && typeof error === 'object' && 'message' in error ? error.message : error }}
<slot v-if="isSuccess" name="default" :data="data!" />
<slot v-else-if="isLoading" name="loading">
<p class="text-gray-500" v-if="!slots.loading">Загрузка данных...</p>
</slot>
<slot v-else-if="isError" name="error" :error="error!" :reload="refetch">
<template v-if="!slots.error">
Ошибка загрузки данных:
{{ error && typeof error === 'object' && 'message' in error ? error.message : error }}
</template>
</slot>
</template>