// Icon generation script for PWA
// This script creates SVG icons and PNG versions using canvas (Node.js)
// For production PWA support, especially on iOS
const fs = require('fs');
const path = require('path');
// Create SVG icon with proper structure
function createSVGIcon(size, outputPath) {
const cornerRadius = size * 0.25;
const checkStartX = size * 0.3;
const checkStartY = size * 0.5;
const checkMidX = size * 0.45;
const checkMidY = size * 0.65;
const checkEndX = size * 0.7;
const checkEndY = size * 0.35;
const strokeWidth = size * 0.08;
const line1X = size * 0.25;
const line1Y = size * 0.6;
const line1Width = size * 0.5;
const line1Height = size * 0.08;
const lineRadius = size * 0.02;
const line2X = size * 0.25;
const line2Y = size * 0.72;
const line2Width = size * 0.4;
const line2Height = size * 0.08;
const svg = ``;
fs.writeFileSync(outputPath, svg);
console.log(`ā Created ${path.basename(outputPath)}`);
return svg;
}
// Create a simple favicon SVG
function createFaviconSVG(outputPath) {
const svg = ``;
fs.writeFileSync(outputPath, svg);
console.log(`ā Created ${path.basename(outputPath)}`);
}
// Main execution
const publicDir = path.join(__dirname, '..', 'public');
console.log('Generating PWA icons...\n');
// Create SVG icons
createSVGIcon(192, path.join(publicDir, 'icon-192.svg'));
createSVGIcon(512, path.join(publicDir, 'icon-512.svg'));
createSVGIcon(180, path.join(publicDir, 'apple-touch-icon.svg'));
createFaviconSVG(path.join(publicDir, 'favicon.svg'));
console.log('\nā All SVG icons generated successfully!');
console.log('\nFor optimal PWA support (especially iOS), convert SVGs to PNG:');
console.log(' 1. Using online tools: https://cloudconvert.com/svg-to-png');
console.log(' 2. Using ImageMagick: convert icon-192.svg icon-192.png');
console.log(' 3. Using design tools: Figma, Sketch, or Adobe Illustrator');
console.log('\nRequired PNG files:');
console.log(' - icon-192.png (192x192)');
console.log(' - icon-512.png (512x512)');
console.log(' - apple-touch-icon.png (180x180)');
console.log(' - favicon.ico (32x32, multi-size)');
console.log('\nNote: iOS Safari requires PNG format for apple-touch-icon.');