#!/bin/bash
# ========================================================
#  Syut (syut.in) — Direct Mobile to Hard Drive Transfer (macOS)
#  Double-click in Finder to start your personal backup hub.
# ========================================================

cd "$(dirname "$0")"

echo -ne "\033]0;Syut (syut.in) — Direct Mobile to Hard Drive Transfer\007"

echo "========================================================"
echo "  Syut (syut.in) — Direct Mobile → Hard Drive Transfer"
echo "========================================================"

# 1. Verify or resolve Node.js runtime
NODE_BIN=""
if command -v node >/dev/null 2>&1; then
  NODE_BIN="node"
elif [ -f "/opt/homebrew/bin/node" ]; then
  NODE_BIN="/opt/homebrew/bin/node"
elif [ -f "/usr/local/bin/node" ]; then
  NODE_BIN="/usr/local/bin/node"
elif [ -f "$HOME/.nvm/versions/node/$(ls -1 $HOME/.nvm/versions/node 2>/dev/null | tail -n 1)/bin/node" ]; then
  NODE_BIN="$HOME/.nvm/versions/node/$(ls -1 $HOME/.nvm/versions/node 2>/dev/null | tail -n 1)/bin/node"
fi

if [ -z "$NODE_BIN" ]; then
  echo ""
  echo "[!] Node.js runtime was not detected on this Mac."
  echo "    Please install Node.js from https://nodejs.org or via Homebrew: brew install node"
  echo ""
  open "https://nodejs.org"
  read -p "Press Enter after installing Node.js to continue..."
  NODE_BIN="node"
fi

# 2. First-run native Finder folder chooser if backup folder is not yet configured
SYUT_CFG="$HOME/.config/Syut/config.json"
if [ ! -f "$SYUT_CFG" ] || ! grep -q '"setupComplete": true' "$SYUT_CFG" 2>/dev/null; then
  echo "[Step 1/2] Select the hard drive or folder for your phone backups..."
  CHOSEN="$(osascript -e 'try' -e 'POSIX path of (choose folder with prompt "Syut (syut.in) — Select the drive or folder for your phone backups:")' -e 'end try' 2>/dev/null)"
  if [ -n "$CHOSEN" ]; then
    export SYUT_ROOT="$CHOSEN"
  fi
fi

# 3. Launch Syut receiver and open browser to the live QR + 6-Digit PIN hub
export SYUT_OPEN_BROWSER=1
echo "[Step 2/2] Starting Syut receiver and opening QR pairing screen..."

if [ -f "server/index.js" ]; then
  exec "$NODE_BIN" server/index.js
elif [ -f "../server/index.js" ]; then
  cd ..
  exec "$NODE_BIN" server/index.js
else
  echo "[!] Syut server files not found. Please extract syut-in-macos.zip and run Start syut.in.command from inside the extracted folder."
  read -p "Press Enter to exit..."
fi
