Files
indee-demo/generate-pwa-icons.js
Dorian 0c9d2845e3 Fix Android PWA installation with PNG icons
Generated proper PNG icons for Android PWA support:
- icon-192.png / icon-512.png (standard icons)
- icon-192-maskable.png / icon-512-maskable.png (with 10% padding for Android)
- apple-touch-icon.png (180x180 for iOS)

Android requires PNG icons, not SVG, for proper PWA installation.
SVG-only manifests cause 'shortcut' behavior instead of full app install.

Updated manifest.json, index.html, and vite.config.ts to use PNG icons.
Added icon generation scripts for future updates.

This should now offer proper 'Install App' on Android instead of 'Add to Home Screen'.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-03 00:18:45 +00:00

42 lines
1.5 KiB
JavaScript

/**
* Generate PWA Icons from SVG
* Run: node generate-pwa-icons.js
*/
import { readFileSync, writeFileSync, mkdirSync } from 'fs';
import { join, dirname } from 'path';
import { fileURLToPath } from 'url';
const __filename = fileURLToPath(import.meta.url);
const __dirname = dirname(__filename);
// Read the SVG
const svgPath = join(__dirname, 'assets', 'images', 'app-icon.svg');
const svgContent = readFileSync(svgPath, 'utf-8');
// Create public/icons directory
const iconsDir = join(__dirname, 'public', 'icons');
mkdirSync(iconsDir, { recursive: true });
console.log('⚠️ Manual Step Required:');
console.log('');
console.log('To generate proper PNG icons for Android PWA support:');
console.log('');
console.log('1. Visit: https://realfavicongenerator.net/');
console.log('2. Upload: assets/images/app-icon.svg');
console.log('3. Configure:');
console.log(' - Android: Generate 192x192 and 512x512 icons');
console.log(' - iOS: Generate 180x180 icon');
console.log(' - Ensure "maskable" option is checked for Android');
console.log('4. Download the generated icons');
console.log('5. Place in: public/icons/');
console.log(' - icon-192.png');
console.log(' - icon-512.png');
console.log(' - icon-192-maskable.png');
console.log(' - icon-512-maskable.png');
console.log(' - apple-touch-icon.png');
console.log('');
console.log('OR use this command with sharp installed:');
console.log('npm install sharp');
console.log('node generate-pwa-icons-sharp.js');