#!/usr/bin/env bash
#
# enne2-caffeine — comando da terminale / scorciatoia globale
#
# Uso:
#   enne2-caffeine            stato
#   enne2-caffeine on [min]   attiva (modalità schermo + sospensione)
#   enne2-caffeine off        disattiva
#   enne2-caffeine toggle [min]
#   enne2-caffeine sleep on   attiva in modalità "solo sospensione"
#
# SPDX-License-Identifier: MIT

set -uo pipefail

HERE="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
BACKEND="$HERE/../contents/scripts/caffeine.sh"

[ -x "$BACKEND" ] || { echo "error=backend-not-found"; exit 1; }

# garanzia che le unità siano installate
"$BACKEND" ensure-units "$HERE/../systemd" >/dev/null 2>&1 || true

command="${1:-status}"
shift || true

case "$command" in
    status|state)
        "$BACKEND" status
        ;;
    on)
        "$BACKEND" on screen "${1:-0}"
        ;;
    off)
        "$BACKEND" off
        ;;
    toggle)
        "$BACKEND" toggle screen "${1:-0}"
        ;;
    sleep)
        [ "${1:-on}" = "off" ] && "$BACKEND" off || "$BACKEND" on sleep "${2:-0}"
        ;;
    screen)
        [ "${1:-on}" = "off" ] && "$BACKEND" off || "$BACKEND" on screen "${2:-0}"
        ;;
    *)
        echo "uso: enne2-caffeine [status|on [minuti]|off|toggle [minuti]|sleep on [minuti]|screen on [minuti]]"
        exit 1
        ;;
esac
