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

SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
BIN_NAME="tndrl"
RELEASE_BIN="$SCRIPT_DIR/target/release/$BIN_NAME"
INSTALL_DIR="$HOME/.local/bin"
INSTALL_PATH="$INSTALL_DIR/$BIN_NAME"

echo "Building $BIN_NAME (release)..."
cargo build --release --manifest-path "$SCRIPT_DIR/Cargo.toml"

echo "Build complete: $RELEASE_BIN"

mkdir -p "$INSTALL_DIR"

# Remove stale symlink or binary if it exists
if [ -L "$INSTALL_PATH" ] || [ -e "$INSTALL_PATH" ]; then
    rm "$INSTALL_PATH"
fi

ln -s "$RELEASE_BIN" "$INSTALL_PATH"
echo "Symlinked $INSTALL_PATH -> $RELEASE_BIN"

# Check if INSTALL_DIR is on PATH
if ! echo "$PATH" | tr ':' '\n' | grep -qx "$INSTALL_DIR"; then
    echo ""
    echo "WARNING: $INSTALL_DIR is not in your PATH."
    echo "Add this to your shell profile (~/.zshrc or ~/.bashrc):"
    echo ""
    echo "  export PATH=\"\$HOME/.local/bin:\$PATH\""
    echo ""
fi

echo "Done. Run '$BIN_NAME' to get started."
