feat(landing): add documentation links

This commit is contained in:
777genius 2026-05-05 09:15:47 +03:00
parent 7ab57bc8be
commit 066ffe79ef
12 changed files with 77 additions and 4 deletions

View file

@ -11,10 +11,10 @@ const docsHref = computed(() => withBase(locale.value === 'ru' ? 'docs/ru/' : 'd
const navItems = computed(() => [
{ href: '#screenshots', label: t('nav.screenshots') },
{ href: docsHref.value, label: t('nav.docs') },
{ href: '#download', label: t('nav.download') },
{ href: '#comparison', label: t('nav.comparison') },
{ href: '#pricing', label: t('nav.pricing') },
{ href: docsHref.value, label: t('footer.links.docs') },
{ href: '#faq', label: t('nav.faq') },
]);
</script>

View file

@ -1,5 +1,10 @@
<script setup lang="ts">
import { mdiRobotOutline, mdiViewDashboardOutline, mdiOpenSourceInitiative } from '@mdi/js';
import {
mdiBookOpenPageVariantOutline,
mdiRobotOutline,
mdiViewDashboardOutline,
mdiOpenSourceInitiative,
} from '@mdi/js';
const { content } = useLandingContent();
const { t, locale } = useI18n();
@ -9,6 +14,7 @@ const workflowVideoSrc = 'https://github.com/user-attachments/assets/35e27989-72
const downloadStore = useDownloadStore();
const { resolve, data: releaseData } = useReleaseDownloads();
const { repoUrl, latestReleaseUrl, releaseDownloadUrl } = useGithubRepo();
const withBase = (path: string) => `${baseURL.replace(/\/?$/, '/')}${path.replace(/^\/+/, '')}`;
const releaseVersion = computed(() => releaseData.value?.version || null);
const releaseDate = computed(() => {
@ -31,6 +37,7 @@ const heroDownloadUrl = computed(() => {
});
const devBranchUrl = computed(() => `${repoUrl.value}/tree/dev`);
const docsHref = computed(() => withBase(locale.value === 'ru' ? 'docs/ru/' : 'docs/'));
const devBranchNote = computed(() =>
locale.value === 'ru'
? 'Самая свежая версия в ветке dev - можно развернуть локально.'
@ -59,7 +66,7 @@ const devBranchNote = computed(() =>
<v-container class="hero-section__container">
<v-row align="center" justify="space-between">
<!-- Left: Text content -->
<v-col cols="12" md="6" class="hero-section__content">
<v-col cols="12" md="7" class="hero-section__content">
<h1 class="hero-section__title">
<img
:src="`${baseURL}logo-192.png`"
@ -85,6 +92,15 @@ const devBranchNote = computed(() =>
>
{{ t('hero.downloadNow') }}
</v-btn>
<v-btn
variant="outlined"
size="large"
:href="docsHref"
class="hero-section__btn-docs"
:prepend-icon="mdiBookOpenPageVariantOutline"
>
{{ t('hero.ctaDocs') }}
</v-btn>
<v-btn
variant="outlined"
size="large"
@ -261,13 +277,20 @@ const devBranchNote = computed(() =>
/* ─── Actions ─── */
.hero-section__actions {
display: flex;
gap: 14px;
gap: 10px;
flex-wrap: wrap;
margin-bottom: 12px;
animation: heroFadeIn 0.8s ease both;
animation-delay: 0.4s;
}
.hero-section__actions :deep(.v-btn) {
min-width: 0 !important;
height: 44px !important;
padding-inline: 18px !important;
font-size: 0.92rem !important;
}
.hero-section__dev-note {
display: inline-flex;
max-width: 460px;
@ -328,6 +351,29 @@ const devBranchNote = computed(() =>
background: rgba(0, 240, 255, 0.06) !important;
}
.hero-section__btn-docs {
border-color: rgba(57, 255, 20, 0.38) !important;
color: #d6ffe1 !important;
font-weight: 700 !important;
letter-spacing: 0.02em !important;
background: rgba(57, 255, 20, 0.05) !important;
box-shadow: inset 0 0 0 1px rgba(57, 255, 20, 0.06) !important;
transition: all 0.3s ease !important;
}
.hero-section__btn-docs:hover {
border-color: rgba(57, 255, 20, 0.62) !important;
color: #39ff14 !important;
background: rgba(57, 255, 20, 0.09) !important;
transform: translateY(-1px) !important;
}
.v-theme--light .hero-section__btn-docs {
color: #0d5f2c !important;
border-color: rgba(13, 95, 44, 0.32) !important;
background: rgba(255, 255, 255, 0.6) !important;
}
/* ─── Trust indicators ─── */
.hero-section__trust {
display: flex;
@ -517,9 +563,16 @@ const devBranchNote = computed(() =>
}
.hero-section__actions {
flex-direction: column;
align-items: stretch;
max-width: 320px;
margin-bottom: 12px;
}
.hero-section__actions :deep(.v-btn) {
width: 100%;
}
.hero-section__dev-note {
max-width: 320px;
margin-bottom: 20px;

View file

@ -2,6 +2,7 @@
"nav": {
"features": "المميزات",
"screenshots": "لقطات الشاشة",
"docs": "التوثيق",
"comparison": "المقارنة",
"download": "تحميل",
"pricing": "مجاني",
@ -13,6 +14,7 @@
"downloadNow": "حمّل الآن",
"ctaPrimary": "تحميل لـ {platform}",
"ctaSecondary": "مقارنة",
"ctaDocs": "التوثيق",
"preview": "معاينة المنتج",
"trust": {
"agentTeams": "فرق الوكلاء",

View file

@ -2,6 +2,7 @@
"nav": {
"features": "Funktionen",
"screenshots": "Screenshots",
"docs": "Dokumentation",
"comparison": "Vergleich",
"download": "Download",
"pricing": "Kostenlos",
@ -13,6 +14,7 @@
"downloadNow": "Herunterladen",
"ctaPrimary": "Für {platform} herunterladen",
"ctaSecondary": "Vergleichen",
"ctaDocs": "Dokumentation",
"preview": "Produktvorschau",
"trust": {
"agentTeams": "Agenten-Teams",

View file

@ -2,6 +2,7 @@
"nav": {
"features": "Features",
"screenshots": "Screenshots",
"docs": "Documentation",
"comparison": "Compare",
"download": "Download",
"pricing": "Free",
@ -13,6 +14,7 @@
"downloadNow": "Download Now",
"ctaPrimary": "Download for {platform}",
"ctaSecondary": "Compare",
"ctaDocs": "Documentation",
"preview": "Product preview",
"trust": {
"agentTeams": "Agent Teams",

View file

@ -2,6 +2,7 @@
"nav": {
"features": "Funciones",
"screenshots": "Capturas",
"docs": "Documentación",
"comparison": "Comparar",
"download": "Descargar",
"pricing": "Gratis",
@ -13,6 +14,7 @@
"downloadNow": "Descargar ahora",
"ctaPrimary": "Descargar para {platform}",
"ctaSecondary": "Comparar",
"ctaDocs": "Documentación",
"preview": "Vista previa del producto",
"trust": {
"agentTeams": "Equipos de agentes",

View file

@ -2,6 +2,7 @@
"nav": {
"features": "Fonctionnalités",
"screenshots": "Captures d'écran",
"docs": "Documentation",
"comparison": "Comparer",
"download": "Télécharger",
"pricing": "Gratuit",
@ -13,6 +14,7 @@
"downloadNow": "Télécharger",
"ctaPrimary": "Télécharger pour {platform}",
"ctaSecondary": "Comparer",
"ctaDocs": "Documentation",
"preview": "Aperçu du produit",
"trust": {
"agentTeams": "Équipes d'agents",

View file

@ -2,6 +2,7 @@
"nav": {
"features": "सुविधाएँ",
"screenshots": "स्क्रीनशॉट",
"docs": "दस्तावेज़",
"comparison": "तुलना",
"download": "डाउनलोड",
"pricing": "मुफ़्त",
@ -13,6 +14,7 @@
"downloadNow": "अभी डाउनलोड करें",
"ctaPrimary": "{platform} के लिए डाउनलोड करें",
"ctaSecondary": "तुलना करें",
"ctaDocs": "दस्तावेज़",
"preview": "प्रोडक्ट प्रीव्यू",
"trust": {
"agentTeams": "एजेंट टीमें",

View file

@ -2,6 +2,7 @@
"nav": {
"features": "機能",
"screenshots": "スクリーンショット",
"docs": "ドキュメント",
"comparison": "比較",
"download": "ダウンロード",
"pricing": "無料",
@ -13,6 +14,7 @@
"downloadNow": "ダウンロード",
"ctaPrimary": "{platform}版をダウンロード",
"ctaSecondary": "比較する",
"ctaDocs": "ドキュメント",
"preview": "製品プレビュー",
"trust": {
"agentTeams": "エージェントチーム",

View file

@ -2,6 +2,7 @@
"nav": {
"features": "Recursos",
"screenshots": "Capturas",
"docs": "Documentação",
"comparison": "Comparar",
"download": "Baixar",
"pricing": "Grátis",
@ -13,6 +14,7 @@
"downloadNow": "Baixar agora",
"ctaPrimary": "Baixar para {platform}",
"ctaSecondary": "Comparar",
"ctaDocs": "Documentação",
"preview": "Prévia do produto",
"trust": {
"agentTeams": "Equipes de agentes",

View file

@ -2,6 +2,7 @@
"nav": {
"features": "Возможности",
"screenshots": "Скриншоты",
"docs": "Документация",
"comparison": "Сравнение",
"download": "Скачать",
"pricing": "Бесплатно",
@ -13,6 +14,7 @@
"downloadNow": "Скачать",
"ctaPrimary": "Скачать для {platform}",
"ctaSecondary": "Сравнить",
"ctaDocs": "Документация",
"preview": "Превью продукта",
"trust": {
"agentTeams": "Команды агентов",

View file

@ -2,6 +2,7 @@
"nav": {
"features": "功能",
"screenshots": "截图",
"docs": "文档",
"comparison": "对比",
"download": "下载",
"pricing": "免费",
@ -13,6 +14,7 @@
"downloadNow": "立即下载",
"ctaPrimary": "下载 {platform} 版",
"ctaSecondary": "对比",
"ctaDocs": "文档",
"preview": "产品预览",
"trust": {
"agentTeams": "智能体团队",