#!/usr/bin/env bash
# Build Flutter Web and publish it at <APP_URL>/app/ on the backend host.
#   tool/dev/build-web.sh [dev|staging|prod]   (default prod)
set -euo pipefail
source "$(dirname "$0")/env.sh"
envname="${1:-prod}"
cd "$PL_APP_DIR"
fvm flutter build web --release --base-href /app/ --dart-define=ENV="$envname"
dest="$PL_BACKEND_DIR/public/app"; mkdir -p "$dest"
rsync -a --delete build/web/ "$dest/"
cat > "$dest/.htaccess" <<'HT'
# Flutter Web SPA fallback (written by tool/dev/build-web.sh — do not edit)
<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteBase /app/
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule ^ index.html [L]
</IfModule>
HT
base="$(grep -E '^APP_URL=' "$PL_BACKEND_DIR/.env" | cut -d= -f2- | tr -d '"'"'")"
echo
echo "Web: $base/app/  (built $(git rev-parse --short HEAD), ENV=$envname)"
