#!/usr/bin/env bash
# Instala las plantillas Simusol en el Dia del usuario (nivel usuario, sin root).
# Uso: bash install.sh   [luego reiniciá Dia]
set -euo pipefail

SRC="$(cd "$(dirname "$0")/../plantillas" && pwd)"
DEST="${HOME}/.dia"

if [ ! -d "$SRC/sheets" ] || [ ! -d "$SRC/shapes" ]; then
  echo "No encuentro las plantillas en $SRC" >&2
  exit 1
fi

mkdir -p "$DEST/sheets" "$DEST/shapes"
cp -r "$SRC/sheets/." "$DEST/sheets/"
cp -r "$SRC/shapes/." "$DEST/shapes/"

echo "✅ Plantillas Simusol instaladas en $DEST"
echo "   Sheets: $(ls "$DEST"/sheets/*.sheet 2>/dev/null | wc -l) · Shapes: $(find "$DEST"/shapes -name '*.shape' | wc -l)"
echo "   Reiniciá Dia y elegí la hoja 'Simusol - Termico' (o Electrico/Generico)."

# Defaults de vista recomendados: antialias (las shapes SVG se ven feas sin él),
# ver cuadrícula y ajustar a cuadrícula. Dia los guarda en ~/.dia/persistence y
# REESCRIBE ese archivo al salir → si Dia está abierto no tocamos nada.
PERS="$DEST/persistence"
if pgrep -x dia >/dev/null 2>&1; then
  echo "⚠ Dia está abierto: los defaults de vista (antialias/cuadrícula) no se tocaron." >&2
  echo "  Cerrá Dia y volvé a correr install.sh (las plantillas ya quedaron bien)." >&2
elif [ ! -f "$PERS" ]; then
  cp "$SRC/persistence" "$PERS"
  echo "✅ Defaults de vista activados: antialias · ver cuadrícula · ajustar a cuadrícula"
else
  for role in view_antialised grid_visible grid_snap; do
    if grep -q "role=\"$role\"" "$PERS"; then
      # Flip false→true solo dentro del bloque de ese role.
      sed -i "/role=\"$role\"/,/dia:boolean val=/ s/<dia:boolean val=\"false\"\\/>/<dia:boolean val=\"true\"\\/>/" "$PERS"
    else
      sed -i "s#</dia:persistence>#  <dia:boolean role=\"$role\">\\n    <dia:attribute name=\"booleanvalue\">\\n      <dia:boolean val=\"true\"/>\\n    </dia:attribute>\\n  </dia:boolean>\\n</dia:persistence>#" "$PERS"
    fi
  done
  echo "✅ Defaults de vista activados: antialias · ver cuadrícula · ajustar a cuadrícula"
fi
