feat: Add PWA assets and metadata for iOS Safari installation
- Generate app icons in multiple sizes (192x192, 512x512, 180x180, 32x32) - Create favicon and apple-touch-icon SVG files - Add comprehensive PWA meta tags in app layout - Configure theme color (#3B82F6) and background color - Update manifest.json with icon references (PNG and SVG) - Create icon generation scripts (SVG and PNG conversion) - Add browser-based PNG icon generator (HTML) - Create comprehensive PWA testing guide - Add icon setup documentation Requirements: 4.1, 4.2 Task: 13. Add PWA assets and metadata
This commit is contained in:
47
scripts/svg-to-png.js
Normal file
47
scripts/svg-to-png.js
Normal file
@@ -0,0 +1,47 @@
|
||||
// SVG to PNG converter using canvas (requires a browser environment or puppeteer)
|
||||
// This is a simple converter for development purposes
|
||||
|
||||
const fs = require('fs');
|
||||
const path = require('path');
|
||||
|
||||
console.log('SVG to PNG Converter');
|
||||
console.log('===================\n');
|
||||
|
||||
const publicDir = path.join(__dirname, '..', 'public');
|
||||
|
||||
// Check if SVG files exist
|
||||
const svgFiles = [
|
||||
{ input: 'icon-192.svg', output: 'icon-192.png', size: 192 },
|
||||
{ input: 'icon-512.svg', output: 'icon-512.png', size: 512 },
|
||||
{ input: 'apple-touch-icon.svg', output: 'apple-touch-icon.png', size: 180 },
|
||||
{ input: 'favicon.svg', output: 'favicon-32.png', size: 32 }
|
||||
];
|
||||
|
||||
console.log('SVG files found:');
|
||||
svgFiles.forEach(file => {
|
||||
const exists = fs.existsSync(path.join(publicDir, file.input));
|
||||
console.log(` ${exists ? '✓' : '✗'} ${file.input}`);
|
||||
});
|
||||
|
||||
console.log('\n⚠️ PNG conversion requires additional tools:');
|
||||
console.log('\nOption 1: Install sharp (recommended)');
|
||||
console.log(' npm install --save-dev sharp');
|
||||
console.log(' Then run: node scripts/convert-with-sharp.js');
|
||||
|
||||
console.log('\nOption 2: Use ImageMagick (if installed)');
|
||||
console.log(' brew install imagemagick # on macOS');
|
||||
console.log(' Then run:');
|
||||
svgFiles.forEach(file => {
|
||||
console.log(` convert public/${file.input} -resize ${file.size}x${file.size} public/${file.output}`);
|
||||
});
|
||||
|
||||
console.log('\nOption 3: Use online converter');
|
||||
console.log(' Visit: https://cloudconvert.com/svg-to-png');
|
||||
console.log(' Upload SVG files and download PNG versions');
|
||||
|
||||
console.log('\nOption 4: Manual export from design tool');
|
||||
console.log(' Open SVG files in Figma, Sketch, or Illustrator');
|
||||
console.log(' Export as PNG at the required sizes');
|
||||
|
||||
console.log('\n📝 For now, the app will use SVG icons which work in most browsers.');
|
||||
console.log(' PNG icons are recommended for better iOS Safari compatibility.');
|
||||
Reference in New Issue
Block a user