#!/usr/bin/env bash
# Resolve ~/.config/omarchy/current/{theme,background} symlinks from the
# persisted theme.name / background.name state files. Only manages symlinks;
# restarting clients (swaybg/waybar/hyprland) is the caller's job.
#
# Safe to run as root (system activation) or as the user: honour $HOME.
set -euo pipefail

OMARCHY_PATH="${OMARCHY_PATH:-$HOME/.local/share/omarchy}"
CURRENT="$HOME/.config/omarchy/current"
THEMES="$OMARCHY_PATH/themes"

mkdir -p "$CURRENT"

# --- theme ---
name="$(cat "$CURRENT/theme.name" 2>/dev/null || true)"
if [ -z "$name" ] || [ ! -d "$THEMES/$name" ]; then
  name="$(find "$THEMES" -maxdepth 1 -mindepth 1 -type d -printf '%f\n' | sort | head -n1)"
  printf '%s\n' "$name" >"$CURRENT/theme.name"
fi
ln -sfn "$THEMES/$name" "$CURRENT/theme"

# --- background ---
bg="$(cat "$CURRENT/background.name" 2>/dev/null || true)"
if [ -z "$bg" ] || [ ! -e "$THEMES/$name/backgrounds/$bg" ]; then
  bg="$(find "$THEMES/$name/backgrounds" -maxdepth 1 -type f -printf '%f\n' 2>/dev/null | sort | head -n1)"
  printf '%s\n' "$bg" >"$CURRENT/background.name"
fi
if [ -n "$bg" ]; then
  ln -sfn "$THEMES/$name/backgrounds/$bg" "$CURRENT/background"
fi

exit 0
