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

BASE_URL="https://89-35-130-196.sslip.io/ajazz-setup"
HERE="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_DIR="$HERE/native/ak820-center"

if [[ ! -e /etc/arch-release ]] || ! command -v pacman >/dev/null; then
  echo "This installer builds an Arch Linux package and needs Arch Linux." >&2
  exit 1
fi
if [[ "$EUID" -eq 0 ]]; then
  echo "Run this installer as your normal user; it will call sudo for pacman." >&2
  exit 1
fi
if ! command -v sudo >/dev/null; then
  echo "Install sudo, then run this installer again." >&2
  exit 1
fi
if [[ -f "$PROJECT_DIR/packaging/PKGBUILD" ]]; then
  sudo pacman -S --needed --noconfirm base-devel cmake gcc qt6-base hidapi
  (
    cd "$PROJECT_DIR/packaging"
    makepkg -si --noconfirm
  )
else
  CACHE_ROOT="${XDG_CACHE_HOME:-$HOME/.cache}/ajazz-ak820-center"
  mkdir -p "$CACHE_ROOT"
  PACKAGE="$CACHE_ROOT/ak820-center.pkg.tar.zst"
  sudo pacman -S --needed --noconfirm qt6-base hidapi
  curl -fL "$BASE_URL/ak820-center-1.0.0-3-x86_64.pkg.tar.zst" -o "$PACKAGE"
  sudo pacman -U --needed --noconfirm "$PACKAGE"
fi
sudo udevadm control --reload-rules
sudo udevadm trigger

echo "Installed AJAZZ AK820 Pro native driver. Reconnect the keyboard over USB-C."
