#!/bin/bash
# Script pour rebuild l'app.asar après modifications
# Usage: bash scripts/rebuild-asar.sh [output-path]

set -e

SCRIPT_DIR="$(cd "$(dirname "$0")/.." && pwd)"
OUTPUT="${1:-$SCRIPT_DIR/app.asar}"

echo "=== Rebuilding app.asar ==="
echo "Source directory: $SCRIPT_DIR"
echo "Output: $OUTPUT"

# Vérifier que asar est installé
if ! command -v asar &> /dev/null; then
    echo "ERROR: asar n'est pas installé."
    echo "Installe-le avec: npm install -g @electron/asar"
    exit 1
fi

# Créer un dossier temporaire avec les bons fichiers
TMPDIR=$(mktemp -d)
echo "Working in: $TMPDIR"

# Copier les fichiers nécessaires (exclure scripts, README, et l'asar lui-même)
cd "$SCRIPT_DIR"

# Liste des fichiers à inclure (ceux requis par l'app)
FILES=(
    "package.json"
    "dist-electron/main.js"
    "dist-electron/preload.js"
    "dist-electron/chunk-DyKKrNZQ.js"
    "dist-electron/chunk-BDDJmn7V.js"
    "dist-electron/main-CyGMgeb9.js"
    "dist-electron/main-D44fDnSb.js"
    "dist/index.html"
    "dist/assets/index-BYFSGL0u.js"
    "dist/assets/index-DlUdvbC1.css"
    "dist/assets/logo-rf-9CBwV.png"
    "dist/assets/bg-X8ohJyL9.png"
    "dist/assets/gold-DOv-uqYx.png"
    "dist/assets/silver-CvQelbQ9.png"
    "dist/assets/bronze-2onYj7xE.png"
    "dist/assets/box-DC1EQIxn.png"
)

# Copier les fichiers source
for file in "${FILES[@]}"; do
    if [ -f "$SCRIPT_DIR/$file" ]; then
        mkdir -p "$TMPDIR/$(dirname "$file")"
        cp "$SCRIPT_DIR/$file" "$TMPDIR/$file"
        echo "  ✓ $file"
    else
        echo "  ⚠ $file introuvable, ignoré"
    fi
done

# Copier node_modules (nécessaire)
if [ -d "$SCRIPT_DIR/node_modules" ]; then
    cp -r "$SCRIPT_DIR/node_modules" "$TMPDIR/node_modules"
    echo "  ✓ node_modules/ ($(du -sh $SCRIPT_DIR/node_modules | cut -f1))"
fi

# Packager l'asar
cd "$TMPDIR"
asar pack . "$OUTPUT"
echo ""
echo "✓ app.asar créé: $(ls -lh $OUTPUT | awk '{print $5}')"

# Nettoyer
rm -rf "$TMPDIR"
echo "✓ Terminé"
