#!/usr/bin/env bash
#
# Start the ADbotix dev servers (PHP built-in) for local development.
#   Frontend (public site + investor/leader panel):  http://127.0.0.1:8080/
#   Backend  (admin):                                 http://127.0.0.1:8081/
#
# Usage:
#   ./serve.sh          # start both (foreground; Ctrl-C stops both)
#   ./serve.sh stop     # stop any running ADbotix dev servers
#
# Note: these are dev servers. Under XAMPP/Apache, point a vhost docroot at
# frontend/web (and backend/web) instead.

set -euo pipefail
cd "$(dirname "$0")"

PHP="${PHP:-/Applications/XAMPP/xamppfiles/bin/php}"
[ -x "$PHP" ] || PHP="php"

if [ "${1:-}" = "stop" ]; then
    pkill -f "php -S 127.0.0.1:8080" 2>/dev/null || true
    pkill -f "php -S 127.0.0.1:8081" 2>/dev/null || true
    echo "ADbotix dev servers stopped."
    exit 0
fi

pkill -f "php -S 127.0.0.1:8080" 2>/dev/null || true
pkill -f "php -S 127.0.0.1:8081" 2>/dev/null || true

"$PHP" -S 127.0.0.1:8080 -t frontend/web >/tmp/adbotix-frontend.log 2>&1 &
FE=$!
"$PHP" -S 127.0.0.1:8081 -t backend/web  >/tmp/adbotix-backend.log 2>&1 &
BE=$!

echo "Frontend → http://127.0.0.1:8080/   (pid $FE)"
echo "Backend  → http://127.0.0.1:8081/   (pid $BE)"
echo "Logs: /tmp/adbotix-frontend.log  /tmp/adbotix-backend.log"
echo "Press Ctrl-C to stop both."

trap 'kill "$FE" "$BE" 2>/dev/null || true; echo; echo "Stopped."; exit 0' INT TERM
wait
