#!/usr/bin/env bash
# Rasterise widget-icon.svg aux tailles attendues par Wix.
#
# Wix demande un fichier carré (JPG ou PNG) téléversé dans l'app dashboard :
# il n'y a pas d'URL à déclarer, ces PNG ne sont donc pas servis publiquement.
#
# Chrome sert de moteur de rendu : aucune dépendance à installer sur la machine
# (ni librsvg, ni ImageMagick), et le rendu est celui d'un vrai navigateur.
set -euo pipefail

cd "$(dirname "$0")"

CHROME="${CHROME:-/Applications/Google Chrome.app/Contents/MacOS/Google Chrome}"
if [ ! -x "$CHROME" ]; then
    echo "ERREUR : Chrome introuvable. Renseignez CHROME=/chemin/vers/chrome." >&2
    exit 1
fi

for size in 512 256 128 64; do
    cat > "_render_$size.html" <<HTML
<!DOCTYPE html><html><head><meta charset="utf-8"><style>
html,body{margin:0;padding:0;width:${size}px;height:${size}px;overflow:hidden}
img{display:block;width:${size}px;height:${size}px}
</style></head><body><img src="widget-icon.svg"></body></html>
HTML

    "$CHROME" --headless --disable-gpu --no-sandbox --force-device-scale-factor=1 \
        --screenshot="$PWD/widget-icon-$size.png" --window-size="$size,$size" \
        "file://$PWD/_render_$size.html" >/dev/null 2>&1

    rm -f "_render_$size.html"
    echo "widget-icon-$size.png"
done
