#!/bin/bash

# Exit bei Fehler
set -e

# --- Prüfen, ob "zip" installiert ist ---
if ! command -v zip &> /dev/null
then
    echo "❌ Fehler: 'zip' ist nicht installiert."
    echo "Bitte installiere 'zip', z.B. unter Ubuntu: sudo apt install zip"
    exit 1
fi

# Versionsnummer aus manifest.json auslesen
VERSION=$(grep '"version"' manifest.json | head -n 1 | sed -E 's/.*"([0-9]+\.[0-9]+\.[0-9]+)".*/\1/')
echo "Gefundene Version: $VERSION"

# Variablen
CHROMIUM_ZIPNAME="cookiekop_v${VERSION}_chromium.zip"
FIREFOX_ZIPNAME="cookiekop_v${VERSION}_firefox.zip"

# Temp-Ordner vorbereiten
TEMPDIR_CHROMIUM="temp_cookiekop_chromium"
TEMPDIR_FIREFOX="temp_cookiekop_firefox"

rm -f $CHROMIUM_ZIPNAME $FIREFOX_ZIPNAME
rm -rf $TEMPDIR_CHROMIUM $TEMPDIR_FIREFOX

mkdir -p $TEMPDIR_CHROMIUM
mkdir -p $TEMPDIR_FIREFOX

# --- Chromium Build ---
cp manifest.json popup.html popup.js options.html options.js background.js README.md LICENSE "$TEMPDIR_CHROMIUM/"
cp -r util "$TEMPDIR_CHROMIUM/"
cp -r data "$TEMPDIR_CHROMIUM/"
cp -r styles "$TEMPDIR_CHROMIUM/"
cp -r icons "$TEMPDIR_CHROMIUM/"
cp -r libs "$TEMPDIR_CHROMIUM/"

cd $TEMPDIR_CHROMIUM
zip -r ../$CHROMIUM_ZIPNAME *
cd ..

# --- Firefox Build ---
cp popup.html popup.js options.html options.js background.js README.md LICENSE "$TEMPDIR_FIREFOX/"
cp -r util "$TEMPDIR_FIREFOX/"
cp -r data "$TEMPDIR_FIREFOX/"
cp -r styles "$TEMPDIR_FIREFOX/"
cp -r icons "$TEMPDIR_FIREFOX/"
cp -r libs "$TEMPDIR_FIREFOX/"

# Temporäres Firefox-spezifisches manifest.json erstellen
cat << EOF > $TEMPDIR_FIREFOX/manifest.json
{
  "manifest_version": 2,
  "name": "CookieKop",
  "version": "${VERSION}",
  "description": "Melde rechtswidrige Cookie-Banner schnell und einfach.",
  "background": {
    "scripts": ["background.js"],
    "persistent": false
  },
  "browser_action": {
    "default_popup": "popup.html",
    "default_icon": "icons/icon48.png"
  },
  "permissions": [
    "storage",
    "activeTab",
    "tabs",
    "downloads"
  ],
  "options_ui": {
    "page": "options.html",
    "open_in_tab": true
  },
  "icons": {
    "48": "icons/icon48.png",
    "128": "icons/icon128.png"
  }
}
EOF

# ZIP-Datei für Firefox erstellen
cd $TEMPDIR_FIREFOX
zip -r ../$FIREFOX_ZIPNAME *
cd ..

# Temp-Ordner löschen
rm -rf $TEMPDIR_CHROMIUM $TEMPDIR_FIREFOX

# Erfolgsmeldung
echo "✅ Erfolgreich erstellt:"
echo " → $CHROMIUM_ZIPNAME"
echo " → $FIREFOX_ZIPNAME"