#!/bin/bash
set -euo pipefail

echo ""
echo "=================================="
echo "    SkillSea Installer"
echo "=================================="
echo ""

BASE_URL="https://probecodex.com/downloads/skillsea"
OS="$(uname -s)"
ARCH="$(uname -m)"

case "$OS" in
  Darwin)
    case "$ARCH" in
      arm64) FILE="skillsea-macos-arm64.pkg" ;;
      x86_64) FILE="skillsea-macos-x64.pkg" ;;
      *) echo "Unsupported architecture: $ARCH"; exit 1 ;;
    esac
    ;;
  Linux)
    case "$ARCH" in
      x86_64) FILE="skillsea-linux-x64.tar.gz" ;;
      *) echo "Unsupported architecture: $ARCH"; exit 1 ;;
    esac
    ;;
  *)
    echo "Unsupported OS: $OS"
    echo "For Windows, download: $BASE_URL/skillsea-win-x64.zip"
    exit 1
    ;;
esac

echo "Platform: $OS $ARCH"
echo "Downloading $FILE..."

TEMP_DIR=$(mktemp -d)
cd "$TEMP_DIR"

curl -fsSL -o "$FILE" "$BASE_URL/$FILE"

if [ "$OS" = "Darwin" ]; then
  echo ""
  echo "Running macOS installer (may require password)..."
  sudo installer -pkg "$FILE" -target /
  echo "Installed to /usr/local/bin/"
else
  echo "Extracting..."
  tar -xzf "$FILE"
  INSTALL_DIR="$HOME/.skillsea/bin"
  mkdir -p "$INSTALL_DIR"
  cp -r skillsea/* "$INSTALL_DIR/"
  chmod +x "$INSTALL_DIR/skillsea"
  echo "Installed to $INSTALL_DIR/"

  if [[ ":$PATH:" != *":$INSTALL_DIR:"* ]]; then
    SHELL_RC=""
    if [ -f "$HOME/.zshrc" ]; then
      SHELL_RC="$HOME/.zshrc"
    elif [ -f "$HOME/.bashrc" ]; then
      SHELL_RC="$HOME/.bashrc"
    fi
    if [ -n "$SHELL_RC" ]; then
      echo "" >> "$SHELL_RC"
      echo '# SkillSea' >> "$SHELL_RC"
      echo 'export PATH="$HOME/.skillsea/bin:$PATH"' >> "$SHELL_RC"
      echo "Added to $SHELL_RC - run: source $SHELL_RC"
    fi
  fi
fi

cd /
rm -rf "$TEMP_DIR"

echo ""
echo "SkillSea installed!"
echo ""
echo "Next: Run 'skillsea init' to set up your license."
echo ""
