placement instructions
Deploy app frontend / app frontend (push) Successful in 2m2s
Deploy service tg-bot / service tg-bot (push) Successful in 1m32s

This commit is contained in:
2024-12-19 11:39:28 +02:00
parent c76ef03904
commit b3570d759f
9 changed files with 26 additions and 113 deletions
@@ -0,0 +1,9 @@
import { publicSettingsDbRemote } from '@/api/dbs'
import type { QRCodeDocument } from '@hereconnect/types'
export const getPlacementInstructions = async (placement: QRCodeDocument['placement']) => {
const { value } = await publicSettingsDbRemote.get(
`public_settings:placement_instructions_${placement}`,
)
return value
}
@@ -4,10 +4,10 @@
<div v-else-if="data" class="markdown dark:text-gray-300">
<VueMarkdownIt :source="data" />
</div>
<p v-else-if="isError" class="text-red-500 dark:text-red-400">Ошибка загрузки инструкции.</p>
<p v-else class="text-gray-500 dark:text-gray-400">
<p v-else-if="error?.name === 'not_found' || !data" class="text-gray-500 dark:text-gray-400">
Инструкция для этого типа размещения отсутствует.
</p>
<p v-else-if="isError" class="text-red-500 dark:text-red-400">Ошибка загрузки инструкции.</p>
</div>
</template>
@@ -16,23 +16,18 @@ import { computed } from 'vue'
import { VueMarkdownIt } from '@f3ve/vue-markdown-it'
import { useQuery } from '@tanstack/vue-query'
import { type QRCodeDocument } from '@hereconnect/types'
import { getPlacementInstructions } from '@/api/placementInstructions'
// Импортируем все инструкции из директории
const importInstructions = import.meta.glob('/src/content/placementInstructions/*.md', {
query: '?raw',
import: 'default',
}) as unknown as Record<string, () => Promise<string>>
const { placement } = defineProps<{ placement: QRCodeDocument['placement'] }>()
const props = defineProps<{ placement: QRCodeDocument['placement'] }>()
// Хук для загрузки инструкции
async function fetchInstructions(): Promise<string | undefined> {
return importInstructions[`/src/content/placementInstructions/${placement}.md`]?.()
return getPlacementInstructions(props.placement)
}
// Используем vue-query для управления запросом
const { isLoading, isError, data } = useQuery({
queryKey: ['placementInstructions', computed(() => placement)],
const { isLoading, isError, error, data } = useQuery({
queryKey: ['placementInstructions', computed(() => props.placement)],
queryFn: fetchInstructions,
})
</script>
@@ -1,22 +0,0 @@
### Инструкции по размещению на автомобиль:
**Где размещать:**
- На боковом или заднем стекле автомобиля.
**Как разместить:**
1. Найдите видимое место на стекле, которое будет хорошо видно прохожим, например, в углу заднего или бокового окна.
2. Очистите поверхность стекла от пыли и грязи с помощью сухой или слегка влажной ткани.
3. Если вы используете наклейку:
- Убедитесь, что материал устойчив к влаге и выцветанию.
- Аккуратно приклейте наклейку на стекло, разглаживая её от центра к краям, чтобы избежать появления пузырьков воздуха.
4. Если вы используете пластину или рамку:
- Проверьте, что крепление не повредит стекло.
- Убедитесь, что QR-код надёжно зафиксирован и не шатается.
5. Если QR-код нанесён с помощью трафарета или гравировки:
- Проверьте, что код выполнен без дефектов и легко сканируется.
- Очистите стекло от остатков краски или мусора.
**Важно:**
- Убедитесь, что QR-код не блокирует обзор водителю.
- Проверьте, что код можно легко сканировать снаружи автомобиля в любое время суток.
- Если QR-код размещён внутри, убедитесь, что стекло чистое и не бликует.
@@ -1,14 +0,0 @@
### Инструкции по размещению на входную дверь дома или квартиры:
**Где размещать:**
- На входной двери или рядом с домофоном.
- На двери или рядом с дверным звонком.
**Как разместить:**
1. Найдите место рядом с дверным звонком или на самой двери, которое будет заметно для гостей.
2. Очистите поверхность от пыли и грязи, чтобы QR-код держался крепче.
3. Приклейте QR-код на дверь с помощью двустороннего скотча или водостойкого клея.
4. Если вы не хотите приклеивать код, используйте рамку или подставку и разместите её на полке или возле двери.
**Важно:**
- Проверьте, что QR-код не блокирует другие элементы двери.
- Убедитесь, что его легко заметить и сканировать при любом освещении.
@@ -1,12 +0,0 @@
### Инструкции по размещению:
**Где размещать:**
- В зависимости от ситуации, на любом удобном и видимом месте.
**Как разместить:**
1. Подберите место, где QR-код будет защищён от повреждений и виден окружающим.
2. Используйте подходящие материалы для крепления: двусторонний скотч, рамку, подставку или брелок.
3. Убедитесь, что QR-код хорошо заметен и его легко сканировать.
**Важно:**
- Адаптируйте место размещения под конкретную задачу.
- Проверьте, чтобы QR-код не был скрыт другими предметами.
@@ -1,13 +0,0 @@
### Инструкции по размещению на питомца:
**Где размещать:**
- На ошейнике питомца.
**Как разместить:**
1. Выберите удобный ошейник с креплением для QR-кода. Лучше всего подойдут ошейники с кольцом или специальным держателем.
2. Используйте прочный и водостойкий брелок или пластиковую подложку для QR-кода.
3. Закрепите QR-код на ошейнике так, чтобы он не мешал вашему питомцу, но был легко доступен для сканирования.
4. Проверьте, чтобы QR-код был хорошо зафиксирован и не потерялся во время прогулки.
**Важно:**
- Используйте материалы, которые не вызовут аллергии или раздражения у питомца.
- Проверьте, что QR-код можно легко сканировать в любом положении.
@@ -1,18 +0,0 @@
### Инструкции по размещению на стол в кафе или ресторане:
**Где размещать:**
- На столе, в меню или на подставке.
**Как разместить:**
1. Если QR-код размещается на столе:
- Используйте небольшой деревянный держатель или подставку.
- Поставьте подставку в центр стола или сбоку, чтобы гости могли легко заметить код.
2. Если QR-код размещается в меню:
- Вставьте QR-код на видное место, например, на первую или последнюю страницу меню.
- Используйте плотный ламинированный материал, чтобы код не повредился при использовании меню.
3. Если QR-код размещается на подставке:
- Поставьте подставку на уровне глаз сидящих гостей.
- Проверьте, чтобы подставка была устойчива и не падала.
**Важно:**
- Защищайте QR-код от влаги, например, от пролитых напитков.
- Проверьте, что его можно легко сканировать, сидя за столом.
@@ -1,21 +0,0 @@
### Инструкции по размещению в магазине
**Где размещать:**
- На витрине, входной двери, кассе или информационной стойке.
**Как разместить:**
1. **Если QR-код размещается на витрине или входной двери:**
- Найдите видное место на стекле, чтобы QR-код был хорошо заметен прохожим.
- Очистите стекло от пыли и загрязнений.
- Приклейте QR-код на внутреннюю сторону стекла, чтобы защитить его от погодных условий.
2. **Если QR-код размещается на кассе:**
- Используйте подставку или рамку, чтобы QR-код был на уровне глаз клиента.
- Убедитесь, что он не мешает работе кассира.
3. **Если QR-код размещается на информационной стойке:**
- Прикрепите QR-код к стойке с помощью двустороннего скотча.
- Либо используйте рамку, чтобы код выглядел аккуратно и профессионально.
**Важно:**
- Убедитесь, что QR-код можно легко сканировать, даже при ярком свете или бликах.
- Если QR-код находится на улице, используйте стойкие к погодным условиям материалы.
- Разместите код так, чтобы он не мешал и не мог быть случайно повреждён.