Skip to content

Commit c03aa4c

Browse files
authored
chore: some new blocks (#196)
1 parent 7fa251b commit c03aa4c

File tree

12 files changed

+182
-24
lines changed

12 files changed

+182
-24
lines changed

.github/workflows/ci.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ jobs:
3737
- name: Node
3838
uses: actions/setup-node@v5
3939
with:
40-
node-version: 22.18.0
40+
node-version: lts/*
4141
cache: 'pnpm'
4242

4343
- name: Install dependencies
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
11
h1, h2, h3, h4, h5, h6 {
22
font-family: var(--font-headers);
3+
}
4+
5+
html, body {
6+
scroll-behavior: smooth;
37
}
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
<template>
2+
<UPageSection
3+
title="Франшиза Суши Love"
4+
orientation="vertical"
5+
>
6+
<div class="grid grid-cols-1 lg:grid-cols-3 gap-6 md:gap-10">
7+
<div
8+
v-for="item in lastSectionItems"
9+
:key="item.title"
10+
class="px-6 py-6 w-full h-full flex flex-col gap-2.5 items-center text-center bg-muted rounded-lg motion-preset-slide-right"
11+
>
12+
<UIcon
13+
v-if="item.icon"
14+
:name="item.icon"
15+
class="size-12 text-secondary"
16+
/>
17+
<h4 class="text-2xl/7 font-bold">
18+
{{ item.title }}
19+
</h4>
20+
</div>
21+
</div>
22+
</UPageSection>
23+
</template>
24+
25+
<script lang="ts" setup>
26+
const lastSectionItems = [
27+
{
28+
title: '12 лет на рынке',
29+
icon: 'i-lucide-calendar-heart',
30+
},
31+
{
32+
title: 'Более 100 успешных заведений по РФ и СНГ',
33+
icon: 'i-lucide-map-pinned',
34+
},
35+
{
36+
title: 'Средняя окупаемость по сети — 3 месяца',
37+
icon: 'i-lucide-banknote-arrow-up',
38+
},
39+
]
40+
</script>

apps/webinar/app/components/CountdownTimer.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
</template>
99

1010
<script setup lang="ts">
11-
const target = ref(new Date('2025-10-23T12:00:00'))
11+
const target = ref(new Date('2025-10-30T12:00:00'))
1212
1313
const state = ref({
1414
days: 0,

apps/webinar/app/components/Footer.vue

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<UFooter :ui="{ top: 'border-b border-muted/50' }">
33
<template #top>
44
<UContainer>
5-
<div class="w-full grid grid-cols-1 lg:grid-cols-4 gap-4 items-center justify-center">
5+
<div class="w-full grid grid-cols-1 lg:grid-cols-3 gap-4 items-center justify-center">
66
<div class="mx-auto md:mx-0 mb-2 md:mb-0">
77
<Logo />
88
</div>
@@ -37,11 +37,6 @@
3737

3838
<script setup lang="ts">
3939
const items = ref([
40-
{
41-
to: 'tel:79951234567',
42-
label: '+7 (995) 123-45-67',
43-
icon: 'i-lucide-phone',
44-
},
4540
{
4641
to: 'mailto:test@sushi-love.ru',
4742
label: 'test@sushi-love.ru',
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,30 @@
11
<template>
22
<UContainer class="mt-4 md:mt-6 flex flex-row gap-2 items-center justify-between">
33
<Logo />
4+
5+
<UNavigationMenu :items="items" class="hidden md:flex" />
6+
47
<SocialButtons />
58
</UContainer>
69
</template>
10+
11+
<script setup lang="ts">
12+
const items = ref([
13+
{
14+
label: 'Бесплатный вебинар',
15+
to: '#hero',
16+
},
17+
{
18+
label: 'Кому подойдет',
19+
to: '#for',
20+
},
21+
{
22+
label: 'Спикеры',
23+
to: '#speakers',
24+
},
25+
{
26+
label: 'Вопросы и ответы',
27+
to: '#faq',
28+
},
29+
])
30+
</script>

apps/webinar/app/components/Hero.vue

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,21 @@
11
<template>
22
<UPageHero
3+
id="hero"
34
orientation="horizontal"
45
title="Готовый алгоритм действий для новичков"
56
description="Бесплатный вебинар: «Как открыть ресторан, кофейню или суши-бар с нуля и избежать ошибок». Получите пошаговую инструкцию и ответы на все вопросы, от поиска помещения до первого заработка."
67
headline="🤔 Мечтаете о своем заведении?"
78
:links="links"
89
:ui="{
10+
container: 'lg:pt-24',
911
headline: 'py-2 px-4 w-fit bg-[#f57e20] text-white rounded-md motion-preset-seesaw',
1012
links: 'motion-preset-oscillate motion-duration-2000',
1113
}"
1214
>
1315
<template #body>
1416
<div class="flex flex-col gap-2">
1517
<h3 class="flex flex-row gap-2 items-center text-xl font-bold">
16-
<UIcon name="i-lucide-calendar" class="size-8 text-secondary" /> 23 октября 2025
18+
<UIcon name="i-lucide-calendar" class="size-8 text-secondary" /> 30 октября 2025
1719
</h3>
1820
<h3 class="flex flex-row gap-2 items-center text-xl font-bold">
1921
<UIcon name="i-lucide-clock" class="size-8 text-secondary" /> 12:00-13:30 (МСК)
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
<template>
2+
<UPageSection
3+
id="faq"
4+
title="Ответы на главные вопросы"
5+
orientation="vertical"
6+
>
7+
<UAccordion
8+
:items="items"
9+
:ui="{
10+
label: 'text-xl',
11+
body: 'text-base',
12+
}"
13+
class="mx-auto max-w-xl"
14+
/>
15+
</UPageSection>
16+
</template>
17+
18+
<script lang="ts" setup>
19+
const items = ref([
20+
{
21+
label: 'А если у меня нет опыта в общепите?',
22+
content: 'Именно для новичков и проводится этот вебинар. После его просмотра у вас появится план действий и начальные знания в общепите.',
23+
},
24+
{
25+
label: 'Я боюсь больших вложений. Есть ли варианты?',
26+
content: 'Доставку роллов и пиццы можно открыть с вложениями до 1 млн. рублей. На вебинаре подробнее рассмотрим финансовый калькулятор.',
27+
},
28+
])
29+
</script>
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
<template>
2+
<UPageSection
3+
title="Результаты после вебинара"
4+
orientation="vertical"
5+
>
6+
<div class="grid grid-cols-1 lg:grid-cols-3 gap-6 md:gap-10">
7+
<div
8+
v-for="item in lastSectionItems"
9+
:key="item.title"
10+
class="px-6 py-6 w-full h-full flex flex-col gap-2.5 items-center text-center bg-muted rounded-lg motion-preset-slide-right"
11+
>
12+
<UIcon
13+
v-if="item.icon"
14+
:name="item.icon"
15+
class="size-12 text-secondary"
16+
/>
17+
<h4 class="text-2xl/7 font-bold">
18+
{{ item.title }}
19+
</h4>
20+
<p class="text-base/5">
21+
{{ item.description }}
22+
</p>
23+
</div>
24+
</div>
25+
</UPageSection>
26+
</template>
27+
28+
<script lang="ts" setup>
29+
const lastSectionItems = [
30+
{
31+
title: 'Поймете',
32+
description: 'Из чего складывается прибыль и как ее считать',
33+
icon: 'i-lucide-chart-spline',
34+
},
35+
{
36+
title: 'Узнаете',
37+
description: 'Как правильно подобрать помещение',
38+
icon: 'i-lucide-store',
39+
},
40+
{
41+
title: 'Получите',
42+
description: 'Пошаговую инструкцию по открытию своего заведения',
43+
icon: 'i-lucide-book-marked',
44+
},
45+
]
46+
</script>
Lines changed: 19 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,27 @@
11
<template>
2-
<div class="flex flex-col gap-2 motion-preset-slide-up">
3-
<div class="shrink-0 p-4 w-full h-auto text-muted bg-muted rounded-lg aspect-square">
4-
Фото?
2+
<div class="flex flex-col gap-3.5 motion-preset-slide-up">
3+
<div class="shrink-0 w-full h-auto text-muted bg-muted rounded-lg aspect-square">
4+
<img
5+
:src="speaker.image"
6+
alt=""
7+
class="w-full h-full object-cover rounded-lg"
8+
>
59
</div>
610

7-
<h4 class="text-2xl font-bold">
8-
{{ speaker.name }}
9-
</h4>
10-
<p class="text-muted">
11-
{{ speaker.caption }}
12-
</p>
11+
<div class="flex flex-col gap-2">
12+
<h4 class="text-2xl font-bold">
13+
{{ speaker.name }}
14+
</h4>
15+
<p class="text-base/5 font-semibold">
16+
{{ speaker.caption }}
17+
</p>
18+
<p class="text-base/5 text-muted">
19+
{{ speaker.description }}
20+
</p>
21+
</div>
1322
</div>
1423
</template>
1524

1625
<script setup lang="ts">
17-
defineProps<{ speaker: { name: string, caption: string, image: string } }>()
26+
defineProps<{ speaker: { name: string, caption: string, description: string, image: string } }>()
1827
</script>

0 commit comments

Comments
 (0)