#!/usr/bin/env node import { writeFile } from 'fs/promises'; import { join, dirname } from 'path'; import { fileURLToPath } from 'url'; import sharp from 'sharp'; const __dirname = dirname(fileURLToPath(import.meta.url)); const publicDir = join(__dirname, '..', 'public'); async function generateScreenshots() { // Mobile screenshot (390x844 - iPhone 12/13/14 size) console.log('Generating mobile screenshot placeholder...'); const mobileBuffer = await sharp({ create: { width: 390, height: 844, channels: 4, background: { r: 249, g: 250, b: 251, alpha: 1 } // Tailwind gray-50 } }) .composite([ { input: Buffer.from(` Pantry My Pantry Milk Fridge • 1L Pasta Pantry • 500g Tomato Sauce Pantry • 400ml Home Scan Settings `), top: 0, left: 0 } ]) .png() .toBuffer(); await writeFile(join(publicDir, 'screenshot-mobile.png'), mobileBuffer); console.log('✓ screenshot-mobile.png'); // Desktop screenshot (1920x1080) console.log('Generating desktop screenshot placeholder...'); const desktopBuffer = await sharp({ create: { width: 1920, height: 1080, channels: 4, background: { r: 249, g: 250, b: 251, alpha: 1 } // Tailwind gray-50 } }) .composite([ { input: Buffer.from(` Pantry - Smart Inventory Manager Dashboard Scan Item Settings My Pantry Items Milk Fridge • 1L • Expires in 5 days Pasta Pantry • 500g Tomato Sauce Pantry • 400ml Rice Pantry • 1kg Olive Oil Pantry • 750ml `), top: 0, left: 0 } ]) .png() .toBuffer(); await writeFile(join(publicDir, 'screenshot-desktop.png'), desktopBuffer); console.log('✓ screenshot-desktop.png'); console.log('\n✅ All screenshots generated successfully!'); } generateScreenshots().catch(console.error);