#!/data/data/com.termux/files/usr/bin/bash
set -euo pipefail

# Nombre de parties voulues
PARTS=1

# Fichier temporaire qui contient tout le code
TMPFILE=$(mktemp)
cleanup() { rm -f "$TMPFILE" "${TMPFILE}"_part_* 2>/dev/null || true; }
trap cleanup EXIT

# 1) Construire le gros fichier avec tous les .js/.jsx/.css
find src -type f \( -name "*.js" -o -name "*.jsx" -o -name "*.css" \) ! -name "maplibre.css" -print0 |
while IFS= read -r -d '' f; do
  printf '================== FILE: %s ==================\n' "$f" >> "$TMPFILE"
  cat "$f" >> "$TMPFILE"
  printf '\n' >> "$TMPFILE"
done

# 2) Découper en exactement PARTS morceaux (ou moins si très petit)
# -n l/3 = découpe en 3 blocs de lignes à peu près égaux
split -n l/"$PARTS" -d --additional-suffix=".txt" "$TMPFILE" "${TMPFILE}_part_"

# 3) Envoyer chaque morceau dans le presse-papier, ENTER pour le suivant
parts=( "${TMPFILE}_part_"*.txt )
total=${#parts[@]}

if [ "$total" -eq 0 ]; then
  echo "Aucun contenu trouvé."
  exit 0
fi

echo "📦 Total: $total partie(s) à envoyer dans ChatGPT."

idx=1
for p in "${parts[@]}"; do
  # On ajoute une bannière claire DEBUT/FIN pour chaque partie
  {
    echo "===== SOCIOWIRE FRONTEND – PART $idx / $total (BEGIN) ====="
    cat "$p"
    echo
    echo "===== END OF SOCIOWIRE FRONTEND – PART $idx / $total ====="
  } | termux-clipboard-set

  echo "➡️  Partie $idx / $total copiée dans le presse-papier."
  if [ "$idx" -lt "$total" ]; then
    echo "Colle cette partie dans ChatGPT, envoie le message,"
    echo "puis reviens ici et appuie sur ENTER pour la suivante (ou 'q' + ENTER pour quitter)…"
    read -r ans || true
    [ "$ans" = "q" ] || [ "$ans" = "Q" ] && break
  fi
  idx=$((idx+1))
done

echo "✅ Terminé."
