You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
134 lines
4.1 KiB
134 lines
4.1 KiB
import 'dotenv/config'; |
|
import { PrismaPg } from '@prisma/adapter-pg'; |
|
import { PrismaClient } from '@prisma/client'; |
|
|
|
const adapter = new PrismaPg({ connectionString: process.env.DATABASE_URL }); |
|
const prisma = new PrismaClient({ adapter }); |
|
|
|
const BLOCKS = [ |
|
{ |
|
path: '/components/navigation', |
|
name: 'Шапка / Навигация', |
|
version: 'v1.0', |
|
isInPreview: true, |
|
changelog: [ |
|
{ version: 'v1.0', date: '23.03.2026', changes: ['Топ-бар, логотип, главное меню из 8 пунктов'] }, |
|
], |
|
}, |
|
{ |
|
path: '/blocks/hero', |
|
name: 'Hero-баннер', |
|
version: 'v1.2', |
|
isInPreview: true, |
|
changelog: [ |
|
{ version: 'v1.2', date: '24.03.2026', changes: [ |
|
'H1: цвет #cb9768, размер 36px (было ~20px #53514e)', |
|
'Заголовок баннера: 22px #333 (было 16px #111827)', |
|
'CTA-кнопка: pill-стиль (было outline)', |
|
'Дефис в H1: «–» → «-»', |
|
]}, |
|
{ version: 'v1.1', date: '23.03.2026', changes: [ |
|
'Единый фон #f9f4e7 (ранее разбит на две зоны)', |
|
'Реальное фото врача с пациентом', |
|
]}, |
|
], |
|
}, |
|
{ |
|
path: '/blocks/ceo', |
|
name: 'Вводный текст (CEO-блок)', |
|
version: 'v1.0', |
|
isInPreview: false, |
|
changelog: [ |
|
{ version: 'v1.0', date: '23.03.2026', changes: ['Текст специализации клиники, вопросы-стимулы'] }, |
|
], |
|
}, |
|
{ |
|
path: '/blocks/doctors', |
|
name: 'Наши врачи', |
|
version: 'v1.2', |
|
isInPreview: true, |
|
changelog: [ |
|
{ version: 'v1.2', date: '24.03.2026', changes: [ |
|
'H2: 36px #000000 (было ~30px #111827)', |
|
'line-height: 38px', |
|
]}, |
|
{ version: 'v1.1', date: '23.03.2026', changes: [ |
|
'6 реальных фото врачей с сайта', |
|
'Статистика без фона, только border-bottom #60959c', |
|
]}, |
|
], |
|
}, |
|
{ |
|
path: '/blocks/reviews', |
|
name: 'Отзывы', |
|
version: 'v1.1', |
|
isInPreview: true, |
|
changelog: [ |
|
{ version: 'v1.1', date: '24.03.2026', changes: [ |
|
'H2: 36px #000000 (было ~20px #111827)', |
|
'line-height: 38px', |
|
]}, |
|
{ version: 'v1.0', date: '23.03.2026', changes: [ |
|
'Карусель отзывов: кавычка, текст, стрелки', |
|
]}, |
|
], |
|
}, |
|
{ |
|
path: '/blocks/contact-forms', |
|
name: 'Формы записи', |
|
version: 'v1.1', |
|
isInPreview: true, |
|
changelog: [ |
|
{ version: 'v1.1', date: '24.03.2026', changes: [ |
|
'H2: 36px #000000', |
|
'Фон формы 1: #b8e6ed → #d4f6f8', |
|
'Фон формы 2: #ffffff → #d4f6f8 (обе формы на одном фоне)', |
|
]}, |
|
{ version: 'v1.0', date: '23.03.2026', changes: [ |
|
'Две формы записи: «Будьте здоровы!» и «Узнайте стоимость операции»', |
|
]}, |
|
], |
|
}, |
|
{ |
|
path: '/blocks/news', |
|
name: 'Новости', |
|
version: 'v1.1', |
|
isInPreview: true, |
|
changelog: [ |
|
{ version: 'v1.1', date: '24.03.2026', changes: [ |
|
'H2: 36px #000000', |
|
'Фон секции: #fff → #f2fee6 (светло-зелёный)', |
|
]}, |
|
{ version: 'v1.0', date: '23.03.2026', changes: [ |
|
'4 карточки новостей в ряд, кнопка «Все новости»', |
|
]}, |
|
], |
|
}, |
|
{ |
|
path: '/blocks/contact', |
|
name: 'Подвал / Контакт', |
|
version: 'v1.0', |
|
isInPreview: false, |
|
changelog: [ |
|
{ version: 'v1.0', date: '23.03.2026', changes: ['4 колонки ссылок, адрес, часы работы'] }, |
|
], |
|
}, |
|
]; |
|
|
|
async function main() { |
|
for (const block of BLOCKS) { |
|
await prisma.block.upsert({ |
|
where: { path: block.path }, |
|
update: { version: block.version, isInPreview: block.isInPreview, changelog: block.changelog }, |
|
create: block, |
|
}); |
|
} |
|
console.log(`Seeded ${BLOCKS.length} blocks`); |
|
} |
|
|
|
main() |
|
.catch((e) => { |
|
console.error(e); |
|
process.exit(1); |
|
}) |
|
.finally(() => prisma.$disconnect());
|
|
|