#!/usr/bin/env bash
set -euo pipefail

project_dir="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")/.." && pwd)"
bin_home="${XDG_BIN_HOME:-$HOME/.local/bin}"
data_home="${XDG_DATA_HOME:-$HOME/.local/share}"

cargo build --manifest-path "$project_dir/Cargo.toml" --release --locked

install -Dm755 \
  "$project_dir/target/release/knott-video" \
  "$bin_home/knott-video"
install -Dm644 \
  "$project_dir/packaging/io.github.tknott95.KnottVideo.desktop" \
  "$data_home/applications/io.github.tknott95.KnottVideo.desktop"
install -Dm644 \
  "$project_dir/assets/io.github.tknott95.KnottVideo.svg" \
  "$data_home/icons/hicolor/scalable/apps/io.github.tknott95.KnottVideo.svg"

if command -v update-desktop-database >/dev/null 2>&1; then
  update-desktop-database "$data_home/applications" >/dev/null 2>&1 || true
fi
if command -v gtk-update-icon-cache >/dev/null 2>&1; then
  gtk-update-icon-cache -f -t "$data_home/icons/hicolor" >/dev/null 2>&1 || true
fi

printf 'KnottVideo installed. Launch it from your app menu or run %s.\n' \
  "$bin_home/knott-video"
