#!/usr/bin/env bash
# =====================================================================
#  Pulido del demo (móvil del asociado + dashboard) - Integracion Familiar
#  Aplica vistas, componentes, CSS y JS nuevos sobre la app ya desplegada.
#  Uso:
#     bash aplicar.sh                 # detecta la raiz (carpeta padre)
#     bash aplicar.sh /ruta/a/la/app  # o pasa la raiz manualmente
# =====================================================================
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
SRC="$SCRIPT_DIR/files"
APP_ROOT="${1:-$(cd "$SCRIPT_DIR/.." && pwd)}"

echo "==============================================================="
echo " Pulido del demo (movil + dashboard)"
echo " Raiz de la app: $APP_ROOT"
echo "==============================================================="
if [ ! -f "$APP_ROOT/public/index.php" ] || [ ! -d "$APP_ROOT/app" ]; then
  echo "ERROR: '$APP_ROOT' no parece la raiz de la app (falta public/index.php o app/)."
  echo "       Ejecuta indicando la ruta, por ejemplo:"
  echo "       bash aplicar.sh ~/public_html/feval"
  exit 1
fi

STAMP="$(date +%Y%m%d-%H%M%S)"
BACKUP="$APP_ROOT/_backup-pulido-$STAMP"
mkdir -p "$BACKUP"
echo "Respaldo de los originales en: $BACKUP"
echo "---------------------------------------------------------------"
cd "$SRC"
while IFS= read -r rel; do
  rel="${rel#./}"
  dest="$APP_ROOT/$rel"
  if [ -f "$dest" ]; then
    mkdir -p "$BACKUP/$(dirname "$rel")"
    cp -p "$dest" "$BACKUP/$rel"
  fi
  mkdir -p "$(dirname "$dest")"
  cp -f "$SRC/$rel" "$dest"
  chmod 644 "$dest"
  echo "  [OK] $rel"
done < <(find . -type f)

find "$APP_ROOT/views" "$APP_ROOT/public/assets" -type d -exec chmod 755 {} \; 2>/dev/null || true

echo "---------------------------------------------------------------"
echo " LISTO. Recarga la web con Ctrl+F5 (o en incognito) para ver los cambios."
echo " Si algo sale mal, restaura con:"
echo "   cp -rp \"$BACKUP\"/* \"$APP_ROOT\"/"
echo "==============================================================="
