fix: resolve contact form placeholders, restore process block layout, and fix testimonials carousel scroll logic
This commit is contained in:
@@ -0,0 +1,92 @@
|
||||
import { getPayload } from 'payload'
|
||||
import configPromise from '../src/payload.config'
|
||||
|
||||
async function run() {
|
||||
const payload = await getPayload({ config: configPromise })
|
||||
|
||||
const translations = {
|
||||
pl: {
|
||||
title: 'Formularz kontaktowy',
|
||||
confirmationMessage: 'Dziękujemy za wiadomość!',
|
||||
emailSubject: 'Nowe zapytanie ze strony',
|
||||
emailMessage: 'Ktoś wysłał zapytanie ze strony.',
|
||||
fields: [
|
||||
{ name: 'name', label: 'Imię i nazwisko' },
|
||||
{ name: 'email', label: 'Adres e-mail' },
|
||||
{ name: 'service', label: 'Usługa', options: [{ value: 'konsultacje', label: 'Konsultacje' }] },
|
||||
{ name: 'message', label: 'Wiadomość' },
|
||||
{ name: 'consent', label: 'Wyrażam zgodę na przetwarzanie danych' }
|
||||
]
|
||||
},
|
||||
de: {
|
||||
title: 'Kontaktformular',
|
||||
confirmationMessage: 'Vielen Dank für Ihre Nachricht!',
|
||||
emailSubject: 'Neue Anfrage über die Website',
|
||||
emailMessage: 'Jemand hat eine Anfrage über die Website gesendet.',
|
||||
fields: [
|
||||
{ name: 'name', label: 'Vor- und Nachname' },
|
||||
{ name: 'email', label: 'E-Mail Adresse' },
|
||||
{ name: 'service', label: 'Dienstleistung', options: [{ value: 'konsultacje', label: 'Beratung' }] },
|
||||
{ name: 'message', label: 'Nachricht' },
|
||||
{ name: 'consent', label: 'Ich stimme der Datenverarbeitung zu' }
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
for (const locale of ['pl', 'de'] as const) {
|
||||
const t = translations[locale]
|
||||
|
||||
// First, fetch the form in this locale to get its fields layout
|
||||
const forms = await payload.find({ collection: 'forms', locale, limit: 1 })
|
||||
if (forms.docs.length > 0) {
|
||||
const form = forms.docs[0]
|
||||
const updatedFields = form.fields?.map((f:any) => {
|
||||
const tf = t.fields.find(tf => tf.name === f.name)
|
||||
if (tf) {
|
||||
f.label = tf.label
|
||||
if (f.blockType === 'select' && f.options) {
|
||||
f.options = f.options.map((o:any) => {
|
||||
const to = tf.options?.find(to => to.value === o.value)
|
||||
if (to) o.label = to.label
|
||||
return o
|
||||
})
|
||||
}
|
||||
}
|
||||
return f
|
||||
})
|
||||
|
||||
const updatedEmails = form.emails?.map((e:any) => {
|
||||
e.subject = t.emailSubject
|
||||
e.message = {
|
||||
root: {
|
||||
type: 'root',
|
||||
children: [{ type: 'paragraph', children: [{ type: 'text', text: t.emailMessage, version: 1 }], direction: 'ltr', format: '', indent: 0, version: 1 }],
|
||||
direction: 'ltr', format: '', indent: 0, version: 1
|
||||
}
|
||||
}
|
||||
return e
|
||||
})
|
||||
|
||||
await payload.update({
|
||||
collection: 'forms',
|
||||
id: form.id,
|
||||
locale,
|
||||
data: {
|
||||
title: t.title,
|
||||
fields: updatedFields,
|
||||
emails: updatedEmails,
|
||||
confirmationMessage: {
|
||||
root: {
|
||||
type: 'root',
|
||||
children: [{ type: 'paragraph', children: [{ type: 'text', text: t.confirmationMessage, version: 1 }], direction: 'ltr', format: '', indent: 0, version: 1 }],
|
||||
direction: 'ltr', format: '', indent: 0, version: 1
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
console.log(`Updated form translations for locale: ${locale}`)
|
||||
}
|
||||
}
|
||||
process.exit(0)
|
||||
}
|
||||
run()
|
||||
Reference in New Issue
Block a user