feat: integrate built-in forms, refine footer & parallax, dynamic navigation & branding assets

This commit is contained in:
2026-08-26 11:40:04 +02:00
parent cb67badf53
commit 51a3d6fdb8
32 changed files with 929 additions and 651 deletions
+74 -81
View File
@@ -40,7 +40,75 @@ export async function seed(payload: Payload) {
},
})
// 3. Sprawdź czy strony już istnieją
// 3. Utworzenie formularza kontaktowego w kolekcji Forms
let contactForm: { id: number } | null = null
const existingForms = await payload.find({
collection: 'forms',
limit: 1,
})
if (existingForms.totalDocs === 0) {
payload.logger.info('Tworzę formularz wyceny w kolekcji Forms...')
const createdForm = await payload.create({
collection: 'forms',
locale: 'pl',
data: {
title: 'Formularz Wyceny i Kontaktu',
submitButtonLabel: 'Wyślij zapytanie o bezpłatną wycenę',
confirmationType: 'message',
fields: [
{
blockType: 'text',
name: 'name',
label: 'Imię i Nazwisko',
required: true,
width: 50,
},
{
blockType: 'text',
name: 'phone',
label: 'Numer Telefonu',
required: true,
width: 50,
},
{
blockType: 'text',
name: 'location',
label: 'Miejscowość',
required: false,
width: 50,
},
{
blockType: 'text',
name: 'area',
label: 'Szacowany Metraż (m²)',
required: false,
width: 50,
},
{
blockType: 'textarea',
name: 'message',
label: 'Zakres prac / stan nawierzchni',
required: false,
width: 100,
},
{
blockType: 'checkbox',
name: 'consent',
label:
'Wyrażam zgodę na przetwarzanie moich danych osobowych w celu kontaktu i przygotowania oferty zgodnie z Polityką Prywatności.',
required: true,
width: 100,
},
],
} as never,
})
contactForm = { id: Number(createdForm.id) }
} else {
contactForm = { id: Number(existingForms.docs[0].id) }
}
// 4. Sprawdź czy strony już istnieją
const existingPages = await payload.find({
collection: 'pages',
limit: 1,
@@ -284,6 +352,7 @@ export async function seed(payload: Payload) {
},
{
blockType: 'formBlock',
form: contactForm.id,
badge: 'Kontakt i Wycena',
heading: 'Skontaktuj się i otrzymaj bezpłatną wycenę',
subheading:
@@ -291,9 +360,6 @@ export async function seed(payload: Payload) {
phone: '+48 668 973 737',
email: '[email protected]',
workingHours: 'Pon - Sob: 7:00 - 20:00',
submitButtonText: 'Wyślij zapytanie o bezpłatną wycenę',
consentText:
'Wyrażam zgodę na przetwarzanie moich danych osobowych w celu kontaktu i przygotowania oferty zgodnie z Polityką Prywatności.',
},
],
},
@@ -329,6 +395,7 @@ export async function seed(payload: Payload) {
},
{
blockType: 'formBlock',
form: contactForm.id,
badge: 'Wycena',
heading: 'Chcesz, aby Twój podjazd wyglądał jak nowy?',
subheading: 'Skontaktuj się z nami już dziś i umów dogodny termin realizacji.',
@@ -340,75 +407,7 @@ export async function seed(payload: Payload) {
},
})
// D. Strona O nas / Technologia
const oNasPage = await payload.create({
collection: 'pages',
locale: 'pl',
data: {
title: 'Technologia i Sprzęt',
slug: 'o-nas',
layout: [
{
blockType: 'techEquipment',
badge: 'O nas & Sprzęt',
heading: 'Technologia czyszczenia nawierzchni brukowych',
subheading:
'Jesteśmy wyspecjalizowaną firmą skupioną w 100% na nawierzchniach brukowych. Nie myjemy dywanów ani elewacji – całą naszą wiedzę i sprzęt inwestujemy w perfekcyjne odnawianie kostki.',
items: [
{
title: 'Przemysłowe myjki spalinowe z podgrzewaniem wody',
description:
'Niezależne od prądu urządzenia generujące ciśnienie do 250 barów i temperaturę wody do 100°C. Rozpuszczają brud bez niszczenia struktury materiału.',
},
{
title: 'Talerze powierzchniowe Mosmatic Surface Cleaner',
description:
'Opatentowana szwajcarska technologia bezrozbryzgowa. Cały brud i woda zostają pod kopułą talerza, chroniąc fasady budynków, cokoły i roślinność ogrodową.',
},
{
title: 'Certyfikowane impregnaty hydrofobowe',
description:
'Głęboko penetrujące impregnaty silikonowo-siloksanowe oraz polimerowe, zabezpieczające kostkę przed erozją mrozową, solą i zanieczyszczeniami.',
},
],
},
{
blockType: 'processSteps',
badge: 'Standard Jakości',
heading: 'Precyzja na każdym etapie prac',
subheading: 'Dbamy o każdy metr kwadratowy Twojej posesji.',
steps: [
{
stepNumber: '01',
title: 'Darmowa inspekcja',
description: 'Weryfikacja podłoża i dopasowanie odpowiednich preparatów chemicznych.',
},
{
stepNumber: '02',
title: 'Bezpieczne wykonanie',
description: 'Mycie z osłoną otoczenia i z zachowaniem bezpieczeństwa roślin ogrodowych.',
},
{
stepNumber: '03',
title: 'Zabezpieczenie na lata',
description: 'Uzupełnienie fug piaskiem kwarcowym oraz hydrofobizacja nawierzchni.',
},
],
},
{
blockType: 'formBlock',
badge: 'Zamówienie',
heading: 'Skontaktuj się ze specjalistami',
subheading: 'Zadzwoń lub napisz – chętnie odpowiemy na wszystkie pytania techniczne.',
phone: '+48 668 973 737',
email: '[email protected]',
workingHours: 'Pon - Sob: 7:00 - 20:00',
},
],
},
})
// E. Strona Kontakt
// D. Strona Kontakt
const kontaktPage = await payload.create({
collection: 'pages',
locale: 'pl',
@@ -418,6 +417,7 @@ export async function seed(payload: Payload) {
layout: [
{
blockType: 'formBlock',
form: contactForm.id,
badge: 'Kontakt',
heading: 'Skontaktuj się z POI Clean House',
subheading:
@@ -544,6 +544,7 @@ W każdej chwili możesz zmienić swoje preferencje dotyczące plików cookies k
},
{
blockType: 'formBlock',
form: contactForm.id,
badge: 'Wycena',
heading: 'Potrzebujesz profesjonalnego czyszczenia?',
subheading: 'Skontaktuj się z naszym zespołem i otrzymaj darmową wycenę w ciągu 2 godzin.',
@@ -592,10 +593,6 @@ W każdej chwili możesz zmienić swoje preferencje dotyczące plików cookies k
label: 'Realizacje',
page: realizacjePage.id,
},
{
label: 'Technologia',
page: oNasPage.id,
},
{
label: 'Blog',
page: blogPage.id,
@@ -620,10 +617,6 @@ W każdej chwili możesz zmienić swoje preferencje dotyczące plików cookies k
label: 'Galeria realizacji',
page: realizacjePage.id,
},
{
label: 'Technologia i sprzęt',
page: oNasPage.id,
},
{
label: 'Poradnik i Blog',
page: blogPage.id,