#!/bin/sh
# Modem CLI installer — served at https://usemodem.dev/install
#   curl -fsSL usemodem.dev/install | sh
set -e

DL="https://usemodem.dev/dl"
BIN_DIR="${MODEM_BIN_DIR:-$HOME/.local/bin}"

os=$(uname -s | tr '[:upper:]' '[:lower:]')
arch=$(uname -m)
case "$arch" in
  x86_64|amd64) arch=amd64 ;;
  arm64|aarch64) arch=arm64 ;;
  *) echo "modem: unsupported architecture ($arch)" >&2; exit 1 ;;
esac
case "$os" in
  darwin|linux) ;;
  *) echo "modem: unsupported operating system ($os) — macOS and Linux only" >&2; exit 1 ;;
esac

version="${MODEM_VERSION:-}"
if [ -z "$version" ]; then
  version=$(curl -fsSL "$DL/version")
fi
[ -n "$version" ] || { echo "modem: could not determine the latest version" >&2; exit 1; }

url="$DL/modem_${version}_${os}_${arch}.tar.gz"
tmp=$(mktemp -d)
trap 'rm -rf "$tmp"' EXIT

echo "→ downloading modem $version ($os/$arch)"
curl -fsSL "$url" | tar -xz -C "$tmp"
mkdir -p "$BIN_DIR"
mv "$tmp/modem" "$BIN_DIR/modem"
chmod +x "$BIN_DIR/modem"

echo "✓ modem installed to $BIN_DIR"
case ":$PATH:" in
  *":$BIN_DIR:"*) ;;
  *) echo "  add this to your shell profile:  export PATH=\"$BIN_DIR:\$PATH\"" ;;
esac
echo
echo "  → modem setup   to create your computer"
