feat: complete UI rebuild, responsive fixes, dark mode UI, and Team block overhaul

This commit is contained in:
MichalC
2026-09-16 23:33:17 +02:00
parent c2ae27a83b
commit 7cc68b9f36
30 changed files with 964 additions and 339 deletions
+86
View File
@@ -0,0 +1,86 @@
import { getPayload } from 'payload'
import configPromise from '../src/payload.config'
import type { Page } from '../src/payload-types'
type PageHeaderBlock = Extract<NonNullable<Page['layout']>[0], { blockType: 'pageHeader' }>
type ContactInfoBlock = Extract<NonNullable<Page['layout']>[0], { blockType: 'contactInfo' }>
const plHeader: PageHeaderBlock = {
blockType: 'pageHeader',
title: 'Kontakt',
subtitle: 'Masz pytania dotyczące rozliczenia podatkowego w Niemczech? Skontaktuj się ze mną — chętnie pomogę.',
}
const deHeader: PageHeaderBlock = {
blockType: 'pageHeader',
title: 'Kontakt',
subtitle: 'Haben Sie Fragen zu Ihrer Steuererklärung in Deutschland? Kontaktieren Sie mich — ich helfe Ihnen gerne.',
}
const plContact: ContactInfoBlock = {
blockType: 'contactInfo',
address: 'DO POTWIERDZENIA PRZEZ KLIENTA',
phone: '+49 123 456 789',
email: '[email protected]',
hours: 'Pon-Pt: 9:00 - 17:00\nPo wcześniejszym umówieniu',
}
const deContact: ContactInfoBlock = {
blockType: 'contactInfo',
address: 'DO POTWIERDZENIA PRZEZ KLIENTA',
phone: '+49 123 456 789',
email: '[email protected]',
hours: 'Mo-Fr: 9:00 - 17:00\nNach vorheriger Terminvereinbarung',
}
async function run() {
console.log('Rozpoczynam odzyskiwanie strony Kontakt (ID 5)...')
const payload = await getPayload({ config: configPromise })
for (const locale of ['pl', 'de'] as const) {
try {
const page = await payload.findByID({
collection: 'pages',
id: 5,
locale: locale
})
const hasPageHeader = page.layout?.some(block => block.blockType === 'pageHeader')
const hasContactInfo = page.layout?.some(block => block.blockType === 'contactInfo')
if (hasPageHeader && hasContactInfo) {
console.log(`[${locale}] Strona Kontakt posiada już bloki pageHeader i contactInfo. Pomijam.`)
continue;
}
console.log(`[${locale}] Przywracam utracone bloki...`)
// Jeśli strona miała jakieś bloki, zachowaj je (z wyjątkiem ewentualnych starych/uszkodzonych wersji tych dwóch)
let newLayout = (page.layout ? page.layout.filter(b => b.blockType !== 'pageHeader' && b.blockType !== 'contactInfo') : []) as NonNullable<Page['layout']>;
// Dodaj nagłówek i info kontaktowe na górę
newLayout.unshift(
(locale === 'de' ? deHeader : plHeader) as unknown as NonNullable<Page['layout']>[0],
(locale === 'de' ? deContact : plContact) as unknown as NonNullable<Page['layout']>[0]
);
await payload.update({
collection: 'pages',
id: 5,
locale: locale,
data: {
layout: newLayout
}
})
console.log(`[${locale}] Zaktualizowano pomyślnie.`)
} catch (error) {
console.error(`[${locale}] Błąd podczas aktualizacji:`, error)
}
}
console.log('Zakończono.')
process.exit(0)
}
run()