add docs
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
2025-08-11 17:50:52 +03:00
parent d55237f736
commit 4771b374ac
19 changed files with 2042 additions and 55 deletions

View File

@@ -1,57 +1,60 @@
<template>
<div class="q-pa-md w100 flex justify-between">
<div class="flex column q-mx-lg justify-center">
<div class="w100 flex justify-between bg-grey-11 text-caption q-pa-md q-gutter-md">
<div class="flex column col-12 col-sm">
<base-logo class="text-body1 q-pb-sm"/>
<div class="flex items-center">
<q-icon name="mdi-map-marker-outline" color="brand" class="q-pr-sm"/>
<span>{{ $t('footer__contacts_location') }}</span>
</div>
<div class="flex items-center">
<q-icon name="mdi-phone-outline" color="brand" class="q-pr-sm" />
<span>+7 (926) 339-04-25</span>
</div>
<div class="flex items-center">
<q-icon name="mdi-email-outline" color="brand" class="q-pr-sm"/>
<a
href="mailto:a-mart@ya.ru"
style="text-decoration: none; color: inherit"
>
a-mart@ya.ru
</a>
</div>
</div>
<div class="flex column col-12 col-sm">
<span class="text-body1 text-bold">
{{ $t('footer__docs') }}
</span>
<div
v-for="item in Docs"
:key="item.id"
class="text-caption"
>
<a
:href="item.href"
target="_blank"
style="text-decoration: none; color: inherit"
class="text-h6"
style="text-decoration: underline; color: inherit"
>
{{ $t(item.name) }}
</a>
</div>
</div>
<div class="flex column q-mx-lg">
<div class="text-h6 bold">
{{ $t('footer__contacts_ip') }}
</div>
<div class="text-caption">
{{ $t('footer__contacts_ip_detail') }}
</div>
<div class="flex items-center">
<q-icon name="mdi-map-marker-outline" color="brand" class="q-pr-sm"/>
<span>{{ $t('footer__contacts_location') }}</span>
</div>
<div class="flex items-center">
<q-icon name="mdi-phone-outline" color="brand" class="q-pr-sm" />
<span>+7 (926) 339-04-25</span>
</div>
<div class="flex items-center">
<q-icon name="mdi-email-outline" color="brand" class="q-pr-sm"/>
<a
href="mailto:a-mart@ya.ru"
style="text-decoration: none; color: inherit"
>
a-mart@ya.ru
</a>
</div>
<div class="flex column col-12 col-sm">
<div class="text-grey">
{{ $t('footer__description_user_data') }}
</div>
</div>
</div>
</template>
<script setup lang="ts">
const Docs = [
{ id: 1, name: 'footer__doc_terms_of_use', href: '' },
{ id: 2, name: 'footer__doc_privacy_policy', href: '' }
]
import BaseLogo from 'components/BaseLogo.vue';
const Docs = [
{ id: 1, name: 'footer__doc_terms_of_use', href: '/terms-of-use' },
{ id: 2, name: 'footer__doc_privacy_policy', href: '/privacy-policy' }
]
</script>

View File

@@ -21,9 +21,9 @@
</div>
<div class="text-h4 text-brand">
{{ $t('banner__slogan_body') }}
<span class="text-no-wrap">
<q-icon dense name="telegram" style="color: #27a7e7"/>
<span style="color: #27a7e7">Telegram</span>
<span class="text-no-wrap" color="primary">
<q-icon dense name="telegram"/>
<span>Telegram</span>
</span>
</div>

View File

@@ -0,0 +1,47 @@
<template>
<q-markdown
:src="markdownContent"
no-heading-anchor-links
/>
</template>
<script setup lang="ts">
import { computed } from 'vue'
const props = defineProps({
locale: {
type: String,
required: true
},
documentName: {
type: String,
required: true
}
})
// Импорт всех Markdown-файлов как raw-строк
const mdFiles = import.meta.glob('assets/docs/*.md', {
query: '?raw',
import: 'default',
eager: true
})
const markdownContent = computed(() => {
const baseLang = props.locale.split('-')[0].toLowerCase()
// Формируем имена файлов
const localizedFileName = `${props.documentName}_${baseLang}.md`
const fallbackFileName = `${props.documentName}_en.md`
// Находим пути к файлам
const filePaths = Object.keys(mdFiles)
const localizedPath = filePaths.find(path => path.endsWith(localizedFileName))
const fallbackPath = filePaths.find(path => path.endsWith(fallbackFileName))
// Возвращаем контент в порядке приоритета
if (localizedPath) return mdFiles[localizedPath]
if (fallbackPath) return mdFiles[fallbackPath]
return `# Document load error\n> Missing files for ${props.documentName}`
})
</script>