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

BINARY_NAME="hinow"
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
SOURCE="$SCRIPT_DIR/$BINARY_NAME"

if [ ! -f "$SOURCE" ]; then
  echo "Error: $BINARY_NAME not found in $SCRIPT_DIR"
  echo "Place the $BINARY_NAME binary next to this script and run again."
  exit 1
fi

if [ "$(id -u)" -eq 0 ]; then
  INSTALL_DIR="/usr/local/bin"
else
  INSTALL_DIR="$HOME/.local/bin"
  mkdir -p "$INSTALL_DIR"
fi

install -m 755 "$SOURCE" "$INSTALL_DIR/$BINARY_NAME"

echo "Installed $BINARY_NAME to $INSTALL_DIR/$BINARY_NAME"

if ! echo "$PATH" | tr ':' '\n' | grep -qx "$INSTALL_DIR"; then
  SHELL_NAME="$(basename "${SHELL:-/bin/bash}")"
  case "$SHELL_NAME" in
    zsh)  RC="$HOME/.zshrc" ;;
    *)    RC="$HOME/.bashrc" ;;
  esac
  echo "export PATH=\"$INSTALL_DIR:\$PATH\"" >> "$RC"
  echo "Added $INSTALL_DIR to PATH in $RC (open a new terminal or run: source $RC)"
fi

echo ""
"$INSTALL_DIR/$BINARY_NAME" --help 2>/dev/null | head -1 || true
echo ""
echo "Run '$BINARY_NAME' to get started."
