#!/usr/bin/env bash
# Liste les sauvegardes disponibles dans BACKUP_ROOT.

set -euo pipefail

SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
# shellcheck source=lib.sh
source "$SCRIPT_DIR/lib.sh"

BACKUP_ROOT="${BACKUP_ROOT:-$HOME/backups}"

if [[ ! -d "$BACKUP_ROOT" ]]; then
  echo "Aucune sauvegarde ($BACKUP_ROOT inexistant)."
  exit 0
fi

echo "Sauvegardes dans $BACKUP_ROOT :"
echo ""

shopt -s nullglob
dirs=("$BACKUP_ROOT"/*/)
if [[ ${#dirs[@]} -eq 0 ]]; then
  echo "(vide)"
  exit 0
fi

# Plus récentes en premier
for dir in $(ls -1dt "$BACKUP_ROOT"/*/ 2>/dev/null); do
  name="$(basename "$dir")"
  size="$(du -sh "$dir" 2>/dev/null | awk '{print $1}')"
  meta=""
  if [[ -f "$dir/manifest.txt" ]]; then
    meta="$(tr '\n' ' ' < "$dir/manifest.txt" | sed 's/  */ /g')"
  fi
  printf "  %-20s  %6s  %s\n" "$name" "$size" "$meta"
done
