#!/bin/sh
# Immagini creative dell'App Store (iOS 27): intestazione e risultati di ricerca,
# in italiano e inglese. Servono le schermate grezze in ../schermate/ios e
# ../en/schermate/ios (non stanno nel repository: vedi docs/store).
cd "$(dirname "$0")"
CHROME="/Applications/Google Chrome.app/Contents/MacOS/Google Chrome"
# Chrome senza finestra a volte si pianta: 120 s al massimo, poi un secondo tentativo.
chrome() { for n in 1 2; do perl -e 'alarm 120; exec @ARGV' "$CHROME" "$@" 2>/dev/null && return; done; echo "Chrome non ce l'ha fatta: $*" >&2; }
for l in it en; do
  s=""; [ $l = it ] || s="-$l"
  chrome --headless --disable-gpu --hide-scrollbars --allow-file-access-from-files \
    --force-device-scale-factor=1 --virtual-time-budget=8000 --window-size=3840,1646 \
    --screenshot="$PWD/intestazione$s.png" "file://$PWD/intestazione.html?l=$l"
  chrome --headless --disable-gpu --hide-scrollbars --allow-file-access-from-files \
    --force-device-scale-factor=1 --virtual-time-budget=8000 --window-size=3840,2560 \
    --screenshot="$PWD/ricerca$s.png" "file://$PWD/intestazione.html?l=$l&f=ricerca"
  chrome --headless --disable-gpu --hide-scrollbars --allow-file-access-from-files \
    --force-device-scale-factor=1 --virtual-time-budget=8000 --window-size=5244,2950 \
    --screenshot="$PWD/unico$s.png" "file://$PWD/intestazione.html?l=$l&f=unico"
done
python3 -c "
from PIL import Image
import os
A=os.path.expanduser('~/Desktop/Banner App Store/SpotTheSpy'); os.makedirs(A, exist_ok=True)
for n in ['intestazione','ricerca','unico','intestazione-en','ricerca-en','unico-en']:
    im=Image.open(n+'.png').convert('RGB'); im.save(n+'.png'); print(n, im.size)
    im.resize((1920, round(im.height*1920/im.width)), Image.LANCZOS).save(A+'/'+n+'.jpg', quality=88)"
# le tre italiane con l'area sicura di Apple segnata in rosso (per Paolo)
python3 -c "
import os
from PIL import Image, ImageDraw
A=os.path.expanduser('~/Desktop/Banner App Store/SpotTheSpy/area sicura'); os.makedirs(A, exist_ok=True)
safe = {'intestazione': (1096, 494, 2740, 1152), 'ricerca': (837, 765, 3000, 1790), 'unico': (1920, 662, 3320, 1615)}
for n, box in safe.items():
    im = Image.open(n + '.png').convert('RGB')
    ImageDraw.Draw(im).rectangle(box, outline=(230, 0, 0), width=max(8, im.size[0] // 400))
    im.thumbnail((1920, 1920)); im.save(A + '/' + n + '.jpg', quality=88)
"
