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.
169 lines
6.2 KiB
169 lines
6.2 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: '/blocks/navigation', |
|
name: 'Шапка / Навигация', |
|
version: 'v1.3', |
|
isInPreview: true, |
|
changelog: [ |
|
{ version: 'v1.3', date: '24.03.2026', changes: [ |
|
'Подменю: выпадающие списки при hover', |
|
'Hover-эффект: бежевый фон #f5f0e6', |
|
'Пункты подчёркнуты, без разделителей', |
|
'Все пункты чёрного цвета #000', |
|
]}, |
|
{ version: 'v1.2', date: '24.03.2026', changes: [ |
|
'Убрана рамка и тень вокруг шапки', |
|
'3 столбца: логотип | ссылки | телефон+кнопка', |
|
'Реальный логотип logo-main.png', |
|
]}, |
|
{ version: 'v1.1', date: '24.03.2026', changes: [ |
|
'Адрес: «К. Цеткин, 9», ссылки, телефон 25px, меню 18px', |
|
]}, |
|
{ version: 'v1.0', date: '23.03.2026', changes: ['Топ-бар, логотип, главное меню из 8 пунктов'] }, |
|
], |
|
}, |
|
{ |
|
path: '/blocks/hero', |
|
name: 'Hero-баннер', |
|
version: 'v1.3', |
|
isInPreview: true, |
|
changelog: [ |
|
{ version: 'v1.3', date: '24.03.2026', changes: [ |
|
'Счётчик: «Поделиться ✉ 98572» (было «👁 98 573 просмотра»)', |
|
'Убраны кнопки VK/FB/TW', |
|
]}, |
|
{ 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.1', |
|
isInPreview: false, |
|
changelog: [ |
|
{ version: 'v1.1', date: '24.03.2026', changes: [ |
|
'Адрес: «ул. Цитная, 9» → «ул. Клары Цеткин, 9»', |
|
'Цвет ссылок: #52b4bd (было #0089c3)', |
|
]}, |
|
{ 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.2', |
|
isInPreview: true, |
|
changelog: [ |
|
{ version: 'v1.2', date: '24.03.2026', changes: [ |
|
'Кнопка: bb-btn-lg 18px bold (было bb-btn-md 14px)', |
|
'border-radius кнопки: 4px (было 7px)', |
|
]}, |
|
{ 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.1', |
|
isInPreview: false, |
|
changelog: [ |
|
{ version: 'v1.1', date: '24.03.2026', changes: [ |
|
'Колонка «О клинике»: 13 ссылок по реальному сайту (было 7)', |
|
'Колонка «Заболевания»: 5 категорий (было 6 конкретных диагнозов)', |
|
'Колонка «Вопрос-ответ»: 6 пунктов по реальному сайту', |
|
'Колонка «Операции»: 11 операций (было 6)', |
|
'Два адреса: Клары Цеткин 9 + Газеты Звезда 31А', |
|
'Два графика работы по филиалам', |
|
'Соцсети: добавлен Дзен', |
|
]}, |
|
{ 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());
|
|
|