From dd6375922034dbfcd9674941e8d0c97f22c68eae Mon Sep 17 00:00:00 2001 From: Vadym Samoilenko Date: Thu, 4 Jun 2026 13:15:56 +0100 Subject: [PATCH] fix(legal): larger textarea rows in admin, update date to 01.06.2026 --- scripts/seed-legal.mjs | 48 +++++++++++++++++++++++++++++++++++++++ src/globals/LegalPages.ts | 8 +++---- src/lib/legalDefaults.ts | 8 +++---- 3 files changed, 56 insertions(+), 8 deletions(-) create mode 100644 scripts/seed-legal.mjs diff --git a/scripts/seed-legal.mjs b/scripts/seed-legal.mjs new file mode 100644 index 0000000..f80b69e --- /dev/null +++ b/scripts/seed-legal.mjs @@ -0,0 +1,48 @@ +// One-time seed: populate legal_pages with default Ukrainian legal texts +// Run: node scripts/seed-legal.mjs +import pg from 'pg' +import { readFileSync } from 'fs' + +// Load texts from the source file by evaluating the exports +const src = readFileSync('./src/lib/legalDefaults.ts', 'utf8') + .replace(/^export const /gm, 'const ') + .replace(/^const COMPANY.*$/m, "const COMPANY = 'ТОВ «ТЕХНОСМАРТ УКРАЇНА»'") + .replace(/^const EDRPOU.*$/m, "const EDRPOU = '40166430'") + .replace( + /^const ADDRESS.*$/m, + "const ADDRESS = 'Житомирська обл., м. Житомир, вул. Мала Бердичівська, буд. 16а, каб. 3'" + ) + .replace(/^const SITE.*$/m, "const SITE = 'https://shumiland.com.ua'") + .replace(/^const EMAIL.*$/m, "const EMAIL = 'smart.office@proton.me'") + .replace(/^const PHONE.*$/m, "const PHONE = '+380 67 144 3635'") + +// Simple eval to get the texts +const module = {} +const fn = new Function( + 'module', + src + + '\nmodule.exports = { PRIVACY_DEFAULT, TERMS_DEFAULT, OFFER_DEFAULT, DATA_PROCESSING_DEFAULT }' +) +fn(module) +const { PRIVACY_DEFAULT, TERMS_DEFAULT, OFFER_DEFAULT, DATA_PROCESSING_DEFAULT } = module.exports + +const client = new pg.Client({ + connectionString: + process.env.DATABASE_URL || + 'postgresql://shumiland:HzfVfqxQkyJQTsd5dmfvN3dGEgiRrO4ooWCpN6hLo@localhost:5432/shumiland', +}) +await client.connect() + +await client.query( + `UPDATE legal_pages SET + privacy_content = $1, + terms_content = $2, + offer_content = $3, + data_processing_content = $4, + updated_at = now() + WHERE id = 1`, + [PRIVACY_DEFAULT, TERMS_DEFAULT, OFFER_DEFAULT, DATA_PROCESSING_DEFAULT] +) + +console.log('✓ Legal pages seeded') +await client.end() diff --git a/src/globals/LegalPages.ts b/src/globals/LegalPages.ts index cd7dc53..e304a07 100644 --- a/src/globals/LegalPages.ts +++ b/src/globals/LegalPages.ts @@ -15,7 +15,7 @@ export const LegalPages: GlobalConfig = { label: 'Політика конфіденційності', fields: [ { name: 'title', type: 'text', defaultValue: 'Політика конфіденційності' }, - { name: 'content', type: 'textarea', label: 'Текст сторінки' }, + { name: 'content', type: 'textarea', label: 'Текст сторінки', admin: { rows: 20 } }, ], }, { @@ -24,7 +24,7 @@ export const LegalPages: GlobalConfig = { label: 'Умови використання', fields: [ { name: 'title', type: 'text', defaultValue: 'Умови використання' }, - { name: 'content', type: 'textarea', label: 'Текст сторінки' }, + { name: 'content', type: 'textarea', label: 'Текст сторінки', admin: { rows: 20 } }, ], }, { @@ -33,7 +33,7 @@ export const LegalPages: GlobalConfig = { label: 'Публічна оферта', fields: [ { name: 'title', type: 'text', defaultValue: 'Публічна оферта' }, - { name: 'content', type: 'textarea', label: 'Текст сторінки' }, + { name: 'content', type: 'textarea', label: 'Текст сторінки', admin: { rows: 20 } }, ], }, { @@ -42,7 +42,7 @@ export const LegalPages: GlobalConfig = { label: 'Обробка персональних даних', fields: [ { name: 'title', type: 'text', defaultValue: 'Обробка персональних даних' }, - { name: 'content', type: 'textarea', label: 'Текст сторінки' }, + { name: 'content', type: 'textarea', label: 'Текст сторінки', admin: { rows: 20 } }, ], }, ], diff --git a/src/lib/legalDefaults.ts b/src/lib/legalDefaults.ts index 2af1033..782dc12 100644 --- a/src/lib/legalDefaults.ts +++ b/src/lib/legalDefaults.ts @@ -5,7 +5,7 @@ const SITE = 'https://shumiland.com.ua' const EMAIL = 'smart.office@proton.me' const PHONE = '+380 67 144 3635' -export const PRIVACY_DEFAULT = `Дата набрання чинності: 1 серпня 2025 р. +export const PRIVACY_DEFAULT = `Дата набрання чинності: 01 червня 2026 р. 1. ЗАГАЛЬНІ ПОЛОЖЕННЯ @@ -67,7 +67,7 @@ Email: ${EMAIL} Контакти: ${EMAIL} | ${PHONE}` -export const TERMS_DEFAULT = `Дата набрання чинності: 1 серпня 2025 р. +export const TERMS_DEFAULT = `Дата набрання чинності: 01 червня 2026 р. 1. ЗАГАЛЬНІ ПОЛОЖЕННЯ @@ -115,7 +115,7 @@ export const TERMS_DEFAULT = `Дата набрання чинності: 1 се Контакти: ${EMAIL} | ${PHONE}` -export const OFFER_DEFAULT = `Дата набрання чинності: 1 серпня 2025 р. +export const OFFER_DEFAULT = `Дата набрання чинності: 01 червня 2026 р. ПУБЛІЧНА ОФЕРТА про надання послуг парку розваг «Шуміленд» @@ -182,7 +182,7 @@ Email: ${EMAIL} Телефон: ${PHONE} Сайт: ${SITE}` -export const DATA_PROCESSING_DEFAULT = `Дата набрання чинності: 1 серпня 2025 р. +export const DATA_PROCESSING_DEFAULT = `Дата набрання чинності: 01 червня 2026 р. ЗГОДА НА ОБРОБКУ ПЕРСОНАЛЬНИХ ДАНИХ