bx-843-testing #8

Merged
ksenia_mikhailova merged 2 commits from bx-843-testing into dev 2024-07-05 09:59:59 +03:00
6 changed files with 25 additions and 18 deletions

View File

@ -96,6 +96,11 @@ a[href^="#"] {
@apply relative h-[50vh] min-h-[600px];
}
}
&_content {
> .container {
@apply items-start;
}
}
&-content {
@apply col-span-full xl:col-span-8 h-full flex flex-col justify-between min-w-full prose;

View File

@ -3,8 +3,8 @@ const config = useRuntimeConfig()
const apiBase = config.public.apiBase
import k_logo from '@/assets/icons/logo.svg'
const { data: footerData } = await useFetch<ApiFooterType[]>(`${apiBase}/footer/?ordering=small_text`)
const { data: social_networkData } = await useFetch<ApiSocial_networkType[]>(`${apiBase}/social_network/`)
const { data: footerData } = await useFetch<ApiFooterType[]>(`${apiBase}/footer/?ordering=small_text`, { headers: useRequestHeaders(['referer']) })
const { data: social_networkData } = await useFetch<ApiSocial_networkType[]>(`${apiBase}/social_network/`, { headers: useRequestHeaders(['referer']) })
</script>
<template>
<div class="footer" id="contacts">

View File

@ -2,7 +2,7 @@
const config = useRuntimeConfig()
const apiBase = config.public.apiBase
const { data: pagesData } = await useFetch<ApiPagesType[]>(`${apiBase}/pages/?ordering=order`)
const { data: pagesData } = await useFetch<ApiPagesType[]>(`${apiBase}/pages/?ordering=order`, { headers: useRequestHeaders(['referer']) })
const route = useRoute()
</script>
<template>

View File

@ -4,7 +4,7 @@ import type { ralTypes } from '@/components/ral'
const config = useRuntimeConfig()
const apiBase = config.public.apiBase
const { data: calculatorData } = await useFetch<ApiCalcType>(`${apiBase}/calculator/5/`)
const { data: calculatorData } = await useFetch<ApiCalcType>(`${apiBase}/calculator/5/`, { headers: useRequestHeaders(['referer']) })
const isModalOpen = useState('modal_open', () => false)
const lamelle_height = useState<number>('lamelle_height')

View File

@ -6,7 +6,7 @@ import '@/assets/main.scss'
import type { NuxtError } from '#app'
import og_img from '/og_img.png'
const { data: seoData } = await useFetch<ApiKpType>(`${apiBase}/kp/2`)
const { data: seoData } = await useFetch<ApiKpType>(`${apiBase}/kp/2`, { headers: useRequestHeaders(['referer']) })
useSeoMeta({
title: seoData.value?.title,
ogTitle: seoData.value?.title,

View File

@ -7,7 +7,7 @@ import { marked } from 'marked';
import og_img from '/og_img.png'
const { data: seoData } = await useFetch<ApiKpType>(`${apiBase}/kp/1`)
const { data: seoData } = await useFetch<ApiKpType>(`${apiBase}/kp/1`, { headers: useRequestHeaders(['referer']) })
useSeoMeta({
title: seoData.value?.title,
ogTitle: seoData.value?.title,
@ -17,15 +17,15 @@ useSeoMeta({
// twitterCard: 'summary_large_image',
})
const { data: pagesData } = await useFetch<ApiPagesType[]>(`${apiBase}/pages/?ordering=order`)
const { data: pagesData } = await useFetch<ApiPagesType[]>(`${apiBase}/pages/?ordering=order`, { headers: useRequestHeaders(['referer']) })
const { data: reviewsData } = await useFetch<ApiReviewsType[]>(`${apiBase}/review/`)
const { data: calculatorData } = await useFetch(`${apiBase}/calculator/5/`)
const { data: reviewsData } = await useFetch<ApiReviewsType[]>(`${apiBase}/review/`, { headers: useRequestHeaders(['referer']) })
const { data: calculatorData } = await useFetch(`${apiBase}/calculator/5/`, { headers: useRequestHeaders(['referer']) })
const about = (pagesData.value as ApiPagesType[]).find(el => el.slug == 'about')
const reviews = (pagesData.value as ApiPagesType[]).find(el => el.slug == 'clients')
const delivery = (pagesData.value as ApiPagesType[]).find(el => el.slug == 'how_to')
const advantages = (pagesData.value as ApiPagesType[]).find(el => el.slug == 'advantages')
const about = (pagesData.value as ApiPagesType[]).find(el => el.slug == 'about', { headers: useRequestHeaders(['referer']) })
const reviews = (pagesData.value as ApiPagesType[]).find(el => el.slug == 'clients', { headers: useRequestHeaders(['referer']) })
const delivery = (pagesData.value as ApiPagesType[]).find(el => el.slug == 'how_to', { headers: useRequestHeaders(['referer']) })
const advantages = (pagesData.value as ApiPagesType[]).find(el => el.slug == 'advantages', { headers: useRequestHeaders(['referer']) })
const roubleSign = new Intl.NumberFormat('ru-RU', {
style: 'currency',
@ -36,13 +36,13 @@ const aboutText = computed(() => marked.parse(about?.content || ''))
const deliveryText = computed(() => delivery?.content.split('[col]').map(el => marked.parse(el || '')))
const advantagesText = computed(() => {
let c = advantages?.content || ''
Object.entries(calculatorData.value || {}).map(item => {
Object.entries(calculatorData.value || {}).map(item => {
c = c.replaceAll(`[${item[0]}]`, roubleSign.format(item[1]))
})
return marked.parse(c)
})
const { data: advData } = await useFetch<ApiAdvantageType[]>(`${apiBase}/advantage/`)
const { data: advData } = await useFetch<ApiAdvantageType[]>(`${apiBase}/advantage/`, { headers: useRequestHeaders(['referer']) })
</script>
<template>
<div>
@ -69,14 +69,16 @@ const { data: advData } = await useFetch<ApiAdvantageType[]>(`${apiBase}/advanta
</div>
<div class="siteblock siteblock_imgbg bg-slate-500"
:style="[{ backgroundImage: `url(${[imgBase, reviews?.image].join('/')})` }]" v-if="reviews">
<NuxtImg :src="[imgBase, reviews?.image].join('/')" class="invisible" alt="отзыв" title="" format="webp" loading="lazy" />
<NuxtImg :src="[imgBase, reviews?.image].join('/')" class="invisible" alt="отзыв" title="" format="webp"
loading="lazy" />
</div>
<div class="siteblock bg-white" :id="reviews?.slug" v-if="reviews">
<div class="container">
<template v-for="item in reviewsData?.slice(0, 3)">
<div class="review">
<div class="review-image">
<NuxtImg :src="[imgBase, item.image].join('/')" :alt="item.text" title="" format="webp" loading="lazy" />
<NuxtImg :src="[imgBase, item.image].join('/')" :alt="item.text" title="" format="webp"
loading="lazy" />
</div>
<div class="review-content">
{{ item.comment }}
@ -109,7 +111,7 @@ const { data: advData } = await useFetch<ApiAdvantageType[]>(`${apiBase}/advanta
<LazyCalcModels />
</Suspense>
</div>
<div class="siteblock bg-white" :id="delivery?.slug" v-if="deliveryText">
<div class="siteblock bg-white siteblock_content" :id="delivery?.slug" v-if="deliveryText">
<div class="container">
<div class="prose col-span-12 xl:col-span-6">
<span v-html="deliveryText[0]"></span>