fix
Some checks failed
Deploy Nuxt App / deploy (push) Failing after 16m30s

This commit is contained in:
2025-07-27 13:03:18 +04:00
parent c88be2ff6f
commit 7760305c08
6 changed files with 89 additions and 63 deletions

View File

@ -1,19 +1,23 @@
<template>
<div v-if="titles" class="relative z-50 min-h-screen text-white mb-[208px]">
<section class="flex flex-col relative z-40 mt-40 ml-18">
<UiHeading tag="H1" class="whitespace-pre-line [&]:font-normal mb-10 -ml-5" size="500">
<UiHeading
tag="H1"
class="whitespace-pre-line [&]:font-normal mb-10 -ml-5 !text-[24px]"
size="500"
>
{{ titles.title }}
</UiHeading>
<div class="flex flex-col gap-6">
<div v-for="(section, index) in titles.sections" :key="index" class="flex flex-col gap-4">
<!-- Main section title -->
<UiHeading tag="h2" size="300" class="text-three [&]:font-normal">
<UiHeading tag="h2" size="300" class="text-[#E20C66] !text-[24px] [&]:font-normal">
{{ section.title }}
</UiHeading>
<!-- Subsections -->
<div v-if="section.subsections" class="ml-6 flex flex-col gap-4">
<div v-if="section.subsections" class="ml-10 flex flex-col gap-4">
<div
v-for="(subsection, subIndex) in section.subsections"
:key="subIndex"
@ -30,17 +34,26 @@
:alt="subsection.title.text"
class="w-6 h-6"
/>
<UiHeading tag="H3" size="300" class="[&]:font-normal">
<UiHeading
tag="H3"
size="300"
class="[&]:text-[#FFFFFF] !text-[22px] [&]:font-normal"
>
{{ subsection.title.text }}
</UiHeading>
</div>
<!-- Regular subsection -->
<UiHeading v-else tag="H3" size="300" class="[&]:text-gray-200 [&]:font-normal">
<UiHeading
v-else
tag="H3"
size="300"
class="[&]:text-[#FFFFFF] ml-1 !text-[22px] [&]:font-normal"
>
{{ subsection.title }}
</UiHeading>
<!-- Items list -->
<ul v-if="subsection.items" class="ml-6 flex flex-col gap-2 list-decimal">
<ul v-if="subsection.items" class="ml-10 flex flex-col gap-2 list-decimal">
<li v-for="(item, itemIndex) in subsection.items" :key="itemIndex">
<UiParagraph size="300" class="[&]:text-[#CDCDCD] [&]:font-normal"
>&nbsp;{{ item }}</UiParagraph
@ -51,8 +64,11 @@
<!-- Nested subsections -->
<div v-if="subsection.subsections" class="flex flex-col gap-2">
<div v-for="(nestedSub, nestedIndex) in subsection.subsections" :key="nestedIndex">
<UiHeading tag="H4" size="300" class="[&]:text-gray-200 [&]:font-normal">
{{ nestedSub.title }}
<UiHeading
tag="H4"
class="[&]:text-[#CDCDCD] [&]:font-normal ml-4 [&]:text-[20px]"
>
{{ nestedSub.text }}
</UiHeading>
</div>
</div>
@ -80,7 +96,8 @@ interface Subsection {
title: string | SubsectionTitle
items?: string[]
subsections?: Array<{
title: string
title?: string
text?: string
}>
}

View File

@ -4,10 +4,20 @@
"titleMeta": "Оглавление - Книга I",
"sections": [
{
"title": "Благодарности"
"subsections": [
{
"title": "Благодарности"
}
]
},
{
"subsections": [
{
"title": "Введение"
}
]
},
{
"title": "Введение",
"subsections": [
{
"title": "Работа с любым печатным материалом"
@ -77,22 +87,22 @@
}
},
{
"title": "Техника безопасности при работе в полях"
"text": "Техника безопасности при работе в полях"
},
{
"title": "Восстановление сил"
"text": "Восстановление сил"
},
{
"title": "Главный принцип развития"
"text": "Главный принцип развития"
},
{
"title": "Техники выхода в аптайм"
"text": "Техники выхода в аптайм"
},
{
"title": "Действия"
"text": "Действия"
},
{
"title": "Результат"
"text": "Результат"
},
{
"title": {
@ -115,19 +125,19 @@
},
"subsections": [
{
"title": "Определение и классификация"
"text": "Определение и классификация"
},
{
"title": "Псевдопассивная. Этап первый"
"text": "Псевдопассивная. Этап первый"
},
{
"title": "Псевдопассивная. Этап второй"
"text": "Псевдопассивная. Этап второй"
},
{
"title": "Активный тип стратегии"
"text": "Активный тип стратегии"
},
{
"title": "Третий этап. Степени кокетства"
"text": "Третий этап. Степени кокетства"
}
]
}
@ -151,13 +161,13 @@
]
},
{
"title": "Физическое здоровье"
"text": "Физическое здоровье"
},
{
"title": "Ментальный посыл. Стильность"
"text": "Ментальный посыл. Стильность"
},
{
"title": "Ментальный посыл. Внутреннее ощущение мира"
"text": "Ментальный посыл. Внутреннее ощущение мира"
},
{
"title": {

View File

@ -22,16 +22,16 @@
},
"subsections": [
{
"title": "Экскурс в историю"
"text": "Экскурс в историю"
},
{
"title": "Правила формирования запасного аэродрома"
"text": "Правила формирования запасного аэродрома"
},
{
"title": "Подробнее о пятом пункте или как не врать"
"text": "Подробнее о пятом пункте или как не врать"
},
{
"title": "Следствия наличия запасного аэродрома"
"text": "Следствия наличия запасного аэродрома"
}
]
},
@ -42,13 +42,13 @@
},
"subsections": [
{
"title": "Одежда"
"text": "Одежда"
},
{
"title": "Правильные места для свиданий"
"text": "Правильные места для свиданий"
},
{
"title": "Самое важное в свиданиях"
"text": "Самое важное в свиданиях"
}
]
}
@ -66,7 +66,6 @@
"img": "/img/svg/books/2/titles-2/Vector (4).svg"
},
"items": [
"Механизм мужской и женской влюбленностей",
"Главный секрет влюбления",
"Ментальная подстройка",
"Подстройка по ценностям",
@ -102,13 +101,13 @@
},
"subsections": [
{
"title": "Введение"
"text": "Введение"
},
{
"title": "Оральные ласки"
"text": "Оральные ласки"
},
{
"title": "Минет"
"text": "Минет"
}
]
},
@ -119,13 +118,13 @@
},
"subsections": [
{
"title": "Российские школы соблазнения"
"text": "Российские школы соблазнения"
},
{
"title": "Как найти соблазнителя"
"text": "Как найти соблазнителя"
},
{
"title": "История рождения одного термина"
"text": "История рождения одного термина"
}
]
},
@ -136,22 +135,22 @@
},
"subsections": [
{
"title": "Как парни воспринимают секс"
"text": "Как парни воспринимают секс"
},
{
"title": "Девичья невинность"
"text": "Девичья невинность"
},
{
"title": "Прожим девственницы. Метод Галанте."
"text": "Прожим девственницы. Метод Галанте."
},
{
"title": "Прожим девственницы. Классический метод."
"text": "Прожим девственницы. Классический метод."
},
{
"title": "Прожим девственницы. Метод пикапера."
"text": "Прожим девственницы. Метод пикапера."
},
{
"title": "Вместо эпилога"
"text": "Вместо эпилога"
}
]
},

View File

@ -3,7 +3,7 @@
<UiHeading tag="h1" size="300" class="text-three">
Книги для тебя, если ты не знаешь...
</UiHeading>
<ul class="flex mt-20 flex-row items-center justify-between">
<ul class="flex mt-20 flex-row items-center justify-between gap-10">
<li
class="flex flex-col-reverse justify-end w-38 gap-4 h-64 items-center transition-transform transform hover:scale-110"
v-for="({ img, text }, index) in questions.data"
@ -19,36 +19,36 @@
</template>
<script setup lang="ts">
import UiHeading from "@/components/Typography/UiHeading.vue";
import UiParagraph from "@/components/Typography/UiParagraph.vue";
import { reactive } from "vue";
import UiHeading from '@/components/Typography/UiHeading.vue'
import UiParagraph from '@/components/Typography/UiParagraph.vue'
import { reactive } from 'vue'
const questions = reactive({
data: [
{
img: "/img/svg/ellipse1.svg",
img: '/img/svg/ellipse1.svg',
text: 'Что делать, если у тебя ноги не "от ушей" и ты далеко не Мисс Мира?',
},
{
img: "/img/svg/ellipse2.svg",
text: "Как начать легко общаться с противоположным полом и о чем надо помолчать?",
img: '/img/svg/ellipse2.svg',
text: 'Как начать легко общаться с противоположным полом и о чем надо помолчать?',
},
{
img: "/img/svg/ellipse3.svg",
text: "Как относиться к сексу и на сколько важна девичья невинность?",
img: '/img/svg/ellipse3.svg',
text: 'Как относиться к сексу и на сколько важна девичья невинность?',
},
{
img: "/img/svg/ellipse4.svg",
text: "Сколько нужно заниматься, чтобы обрести НОВУЮ себя?",
img: '/img/svg/ellipse4.svg',
text: 'Сколько нужно заниматься, чтобы обрести НОВУЮ себя?',
},
{
img: "/img/svg/ellipse5.svg",
text: "Как выработать стратегию долгосрочных отношений?",
img: '/img/svg/ellipse5.svg',
text: 'Как выработать стратегию долгосрочных отношений?',
},
{
img: "/img/svg/ellipse6.svg",
text: "Как добиться того, чтоб парень делал так, как ты хочешь, но думал, что он сам так решил?",
img: '/img/svg/ellipse6.svg',
text: 'Как добиться того, чтоб парень делал так, как ты хочешь, но думал, что он сам так решил?',
},
],
});
})
</script>