#!/usr/bin/env bash
set -euo pipefail

VERSION="${1:-}"

if [[ -z "$VERSION" ]]; then
  CURRENT=$(python3 -c "import json; print(json.load(open('src-tauri/tauri.conf.json'))['version'])")
  echo "Version actuelle : $CURRENT"
  read -rp "Nouvelle version (ex: 1.0.0) : " VERSION
fi

# Retire un éventuel 'v' préfixé
VERSION="${VERSION#v}"

if ! [[ "$VERSION" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
  echo "Erreur : version invalide '$VERSION' (format attendu : X.Y.Z)"
  exit 1
fi

echo "→ Mise à jour de la version vers $VERSION"

# Mise à jour tauri.conf.json
python3 - "$VERSION" << 'EOF'
import json, sys
v = sys.argv[1]
path = "src-tauri/tauri.conf.json"
with open(path) as f:
    data = json.load(f)
data["version"] = v
with open(path, "w") as f:
    json.dump(data, f, indent=2, ensure_ascii=False)
    f.write("\n")
EOF

# Mise à jour package.json
python3 - "$VERSION" << 'EOF'
import json, sys
v = sys.argv[1]
path = "package.json"
with open(path) as f:
    data = json.load(f)
data["version"] = v
with open(path, "w") as f:
    json.dump(data, f, indent=2, ensure_ascii=False)
    f.write("\n")
EOF

echo "→ Commit de version"
git add src-tauri/tauri.conf.json package.json
git commit -m "chore: bump version to $VERSION"

echo "→ Création du tag v$VERSION"
git tag "v$VERSION"

echo "→ Push vers Gitea"
git push origin main
git push origin "v$VERSION"

echo ""
echo "✓ Tag v$VERSION poussé — le workflow Gitea Actions va builder et créer la release automatiquement."
echo "  Suivi : https://gitea.anthonybouteiller.ovh/blomios/TougliGui/actions"
