import sharp from 'sharp'
import { fileURLToPath } from 'node:url'
import { dirname, join } from 'node:path'
import { mkdir } from 'node:fs/promises'
const here = dirname(fileURLToPath(import.meta.url))
const source = join(here, '..', 'public', 'icons', 'icon.svg')
const output = join(here, '..', 'public', 'icons')
const appOutput = join(here, '..', 'public', 'app-icons')
const appIcons = [
['loutre-os','dashboard','#0a84ff','#0056b8'],['network-guardian','network','#34c759','#087d34'],
['reverse-proxy-manager','proxy','#64d2ff','#0079a8'],['codex-commander','terminal','#bf5af2','#6b25a2'],
['autonomous-dev-studio','studio','#5e5ce6','#2f2e9f'],['loutre-brain','brain','#ff2d55','#a90e30'],
['loutre-finance','finance','#30d158','#058632'],['print-pilot','printer','#ff9f0a','#c45f00'],
['loutre-home','home','#ffd60a','#d58a00'],['auto-care','car','#8e8e93','#3a3a3c'],
['smart-inventory','inventory','#0a84ff','#144ab8'],['knowledge-graph','graph','#ac8e68','#6d5035'],
['trip-organizer','trip','#5ac8fa','#0578af'],['pwa-factory','phone','#ff375f','#a80f38'],
['nasflix-media-health','media-health','#ff453a','#a91e18'],['nasflix-ai-media-curator','media-ai','#af52de','#592488'],
['pi-doctor','doctor','#32d74b','#087923'],['loutre-app-store','store','#007aff','#123fba'],
]
const symbols = {
dashboard: '',
network: '',
proxy: '',
terminal: '',
studio: '',
brain: '',
finance: '',
printer: '',
home: '',
car: '',
inventory: '',
graph: '',
trip: '',
phone: '',
'media-health': '',
'media-ai': '',
doctor: '',
store: '',
}
function appSvg(symbol,top,bottom){return Buffer.from(``)}
await mkdir(appOutput,{recursive:true})
await Promise.all([
sharp(source).resize(192, 192).png().toFile(join(output, 'icon-192.png')),
sharp(source).resize(512, 512).png().toFile(join(output, 'icon-512.png')),
sharp(source).resize(512, 512).extend({ top: 51, bottom: 51, left: 51, right: 51, background: '#111316' }).resize(512, 512).png().toFile(join(output, 'icon-maskable-512.png')),
sharp(source).resize(180, 180).png().toFile(join(output, 'apple-touch-icon.png')),
...appIcons.flatMap(([slug,symbol,top,bottom])=>[
sharp(appSvg(symbol,top,bottom)).resize(192,192).png().toFile(join(appOutput,`${slug}-192.png`)),
sharp(appSvg(symbol,top,bottom)).resize(512,512).png().toFile(join(appOutput,`${slug}-512.png`)),
sharp(appSvg(symbol,top,bottom)).resize(180,180).png().toFile(join(appOutput,`${slug}-apple.png`)),
]),
])