#!/bin/bash
cd "$(dirname "$0")"

# backend started by server/dev/start; override with NEKO_URL=http://host:port
if [ -z "$NEKO_URL" ]; then
    NEKO_URL="http://host.docker.internal:3000"
fi

echo "Using NEKO_URL: ${NEKO_URL}"

# use -i to install
if [ ! -d "${PWD}/../node_modules" ] || [ "$1" == "-i" ]; then
  docker run --rm -it \
    --volume "${PWD}/../:/app" \
    --workdir="/app" \
    --entrypoint="npm" \
    node:24-trixie-slim install
fi

# vite dev server with hot reload, /api is proxied to NEKO_URL
docker run --rm -it \
    -p 3001:3001 \
    --add-host=host.docker.internal:host-gateway \
    -e "NEKO_URL=$NEKO_URL" \
    --user "$(id -u):$(id -g)" \
    --volume "${PWD}/../:/app" \
    --entrypoint="npm" \
    --workdir="/app" \
    node:24-trixie-slim run dev -- --host 0.0.0.0 --port 3001
