#!/usr/bin/env sh
set -eu

OS="$(uname -s | tr '[:upper:]' '[:lower:]')"
ARCH="$(uname -m)"
case "$ARCH" in
  x86_64|amd64) ARCH="amd64" ;;
  arm64|aarch64) ARCH="arm64" ;;
  *) echo "unsupported architecture: $ARCH" >&2; exit 1 ;;
esac
case "$OS" in
  darwin|linux) ;;
  *) echo "unsupported operating system: $OS" >&2; exit 1 ;;
esac

VERSION="${TERMINALBOX_VERSION:-latest}"
BASE="${TERMINALBOX_DOWNLOAD_BASE:-https://github.com/Anchras/terminalbox/releases}"
DEST="${TERMINALBOX_INSTALL_DIR:-/usr/local/bin}"
TMP="${TMPDIR:-/tmp}/terminalbox.$$"
mkdir -p "$TMP"
trap 'rm -rf "$TMP"' EXIT

if [ "$VERSION" = "latest" ]; then
  URL="$BASE/latest/download/terminalbox_${OS}_${ARCH}.tar.gz"
else
  URL="$BASE/download/$VERSION/terminalbox_${OS}_${ARCH}.tar.gz"
fi

echo "Downloading terminalbox for $OS/$ARCH..."
curl -fsSL "$URL" -o "$TMP/terminalbox.tar.gz"
tar -xzf "$TMP/terminalbox.tar.gz" -C "$TMP"

if [ ! -w "$DEST" ]; then
  echo "Installing to $DEST with sudo..."
  sudo install -m 0755 "$TMP/terminalbox" "$DEST/terminalbox"
else
  install -m 0755 "$TMP/terminalbox" "$DEST/terminalbox"
fi

echo "terminalbox installed: $DEST/terminalbox"
echo "Run: terminalbox login --token tbx_live_..."
