style(hero): reduce gradient overlay intensity to make background image more visible
This commit is contained in:
@@ -0,0 +1,100 @@
|
||||
import { getPayload } from 'payload'
|
||||
import configPromise from '../src/payload.config'
|
||||
import fs from 'fs'
|
||||
import path from 'path'
|
||||
|
||||
async function run() {
|
||||
const payload = await getPayload({ config: configPromise })
|
||||
|
||||
// 1. Create media records
|
||||
const mediaDir = path.join(process.cwd(), 'media')
|
||||
const files = fs.readdirSync(mediaDir).filter(f => f !== '.DS_Store' && f !== 'placeholder-desk.jpg' && f.endsWith('.png'))
|
||||
|
||||
const mediaIds = []
|
||||
|
||||
for (const file of files) {
|
||||
const filePath = path.join(mediaDir, file)
|
||||
const existing = await payload.find({
|
||||
collection: 'media',
|
||||
where: { filename: { equals: file } }
|
||||
})
|
||||
|
||||
if (existing.docs.length > 0) {
|
||||
mediaIds.push(existing.docs[0].id)
|
||||
} else {
|
||||
console.log(`Creating media record for ${file}`)
|
||||
try {
|
||||
const created = await payload.create({
|
||||
collection: 'media',
|
||||
data: { alt: 'Hero background' },
|
||||
file: {
|
||||
data: fs.readFileSync(filePath),
|
||||
mimetype: 'image/png',
|
||||
name: file,
|
||||
size: fs.statSync(filePath).size
|
||||
}
|
||||
})
|
||||
mediaIds.push(created.id)
|
||||
} catch (e) {
|
||||
console.error("Error creating", file, e.message)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
console.log(`Available hero media IDs: ${mediaIds.join(', ')}`)
|
||||
|
||||
if (mediaIds.length === 0) {
|
||||
console.error("No media ids found! Exiting.")
|
||||
process.exit(1)
|
||||
}
|
||||
|
||||
// 2. Update all pages
|
||||
const locales = ['pl', 'de']
|
||||
let mediaIndex = 0
|
||||
|
||||
for (const locale of locales) {
|
||||
const pages = await payload.find({ collection: 'pages', locale: locale as any, limit: 100 })
|
||||
|
||||
for (const page of pages.docs) {
|
||||
const imgId = mediaIds[mediaIndex % mediaIds.length]
|
||||
mediaIndex++
|
||||
|
||||
let changed = false
|
||||
const layout = page.layout || []
|
||||
|
||||
if (page.slug === 'home') {
|
||||
// Find hero block
|
||||
const heroBlock = layout.find((b: any) => b.blockType === 'hero')
|
||||
if (heroBlock && !heroBlock.backgroundImage) {
|
||||
heroBlock.backgroundImage = imgId
|
||||
changed = true
|
||||
console.log(`Updated home page (${locale}) hero image.`)
|
||||
}
|
||||
} else {
|
||||
// Find pageHeader block
|
||||
const headerBlock = layout.find((b: any) => b.blockType === 'pageHeader')
|
||||
if (headerBlock && !headerBlock.image) {
|
||||
headerBlock.image = imgId
|
||||
changed = true
|
||||
console.log(`Updated ${page.slug} (${locale}) pageHeader image.`)
|
||||
} else if (!headerBlock) {
|
||||
// If no pageHeader, should we add it?
|
||||
// Usually every page has it, except some legal pages. Let's just update existing ones first.
|
||||
}
|
||||
}
|
||||
|
||||
if (changed) {
|
||||
await payload.update({
|
||||
collection: 'pages',
|
||||
id: page.id,
|
||||
locale: locale as any,
|
||||
data: { layout }
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
console.log("Done updating pages.")
|
||||
process.exit(0)
|
||||
}
|
||||
run().catch(console.error)
|
||||
Reference in New Issue
Block a user