#!/usr/bin/env bash

set -euo pipefail

SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
ROOT_DIR="$(cd "${SCRIPT_DIR}/.." && pwd)"
platform_pid=''

cleanup() {
    if [[ -n "${platform_pid}" ]]; then
        kill "${platform_pid}" 2>/dev/null || true
        wait "${platform_pid}" 2>/dev/null || true
    fi
}

trap cleanup EXIT INT TERM

"${SCRIPT_DIR}/platform-sail" up -d

if curl --silent --fail --max-time 2 http://127.0.0.1:5173/@vite/client >/dev/null; then
    echo "Platform Vite dev server already running at http://localhost:5173"
else
    bash "${SCRIPT_DIR}/platform-vite-dev" &
    platform_pid=$!
fi

cd "${ROOT_DIR}"
WEBSITE_PORT="${WEBSITE_PORT:-4321}" corepack pnpm --filter @tenantatlas/website dev