#!/usr/bin/env bash
set -Eeuo pipefail
SCRIPT_DIR="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd)"
TARGET_USER="${SUDO_USER:-$USER}"
TARGET_HOME="$(getent passwd "$TARGET_USER" | cut -d: -f6)"
TARGET_UID="$(id -u "$TARGET_USER")"
if [[ $EUID -ne 0 ]]; then exec sudo -E bash "$0" "$@"; fi
[[ -d /opt/salsabil-tv ]] || { echo "Installation absente. Utilisez install-salsabil-tv.sh."; exit 1; }
if ! command -v vnstat >/dev/null 2>&1; then
  apt-get update
  apt-get install -y vnstat
fi
systemctl enable --now vnstat >/dev/null 2>&1 || systemctl enable --now vnstat.service >/dev/null 2>&1 || true
DEFAULT_INTERFACE="$(ip route show default 2>/dev/null | awk 'NR==1{print $5}')"
if [[ -n "$DEFAULT_INTERFACE" ]]; then
  vnstat --add -i "$DEFAULT_INTERFACE" >/dev/null 2>&1 || true
fi
install -m 0755 "$SCRIPT_DIR"/bin/*.sh /opt/salsabil-tv/bin/
ln -sfn /opt/salsabil-tv/bin/salsabil-tv-control.sh /usr/local/bin/salsabil-tv
ln -sfn /opt/salsabil-tv/bin/salsabil-tv-data-report.sh /usr/local/bin/salsabil-tv-data
install -m 0755 "$SCRIPT_DIR/bin/configure-shortcuts.py" /opt/salsabil-tv/bin/
install -m 0644 "$SCRIPT_DIR/assets/splash.html" /opt/salsabil-tv/assets/
install -m 0644 "$SCRIPT_DIR/assets/salsabil-madrassas-logo.png" /opt/salsabil-tv/assets/
install -m 0644 "$SCRIPT_DIR/COMMANDES_SSH_SALSABIL_TV.txt" /opt/salsabil-tv/
if [[ -f /etc/salsabil-tv/config ]]; then
  chown root:"$TARGET_USER" /etc/salsabil-tv/config
  chmod 0640 /etc/salsabil-tv/config
fi
install -m 0644 "$SCRIPT_DIR/systemd/salsabil-tv.service" "$TARGET_HOME/.config/systemd/user/salsabil-tv.service"
chown "$TARGET_USER:$TARGET_USER" "$TARGET_HOME/.config/systemd/user/salsabil-tv.service"
runuser -u "$TARGET_USER" -- env HOME="$TARGET_HOME" XDG_RUNTIME_DIR="/run/user/$TARGET_UID" systemctl --user daemon-reload || true
runuser -u "$TARGET_USER" -- env HOME="$TARGET_HOME" XDG_RUNTIME_DIR="/run/user/$TARGET_UID" systemctl --user restart salsabil-tv.service || true
echo "Salsabil Screen mis à jour."
