#!/usr/bin/env bash
# Show flat EtherGold layout — run before start_bridge.
#
# Usage:
#   cd ~/EtherGold/sync
#   bash show_fixture_layout.sh

if grep -q $'\r' "${BASH_SOURCE[0]}" 2>/dev/null; then
  sed -i 's/\r$//' "${BASH_SOURCE[0]}"
  exec bash "${BASH_SOURCE[0]}" "$@"
fi

set -euo pipefail

SYNC="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
# shellcheck source=ethergold_paths.sh
source "${SYNC}/ethergold_paths.sh"

ENV_FILE="${ETHERGOLD_ROOT}/fixture-bridge.env"
have_dev=0
have_prod=0
[[ -f "${ETHERGOLD_DEV}/run_bridge_jun11_good.sh" ]] && have_dev=1
[[ -f "${ETHERGOLD_PROD}/run_bridge_prod.sh" ]] && have_prod=1

sync_source="(no rclone.env)"
if [[ -f "${SYNC}/rclone.env" ]]; then
  sync_source="$(grep '^SYNC_SOURCE=' "${SYNC}/rclone.env" | head -1 || echo 'SYNC_SOURCE=(missing)')"
fi

echo "=== show_fixture_layout (flat) ==="
echo "Hostname: $(hostname -s 2>/dev/null || hostname)"
echo "Runtime:  ${ETHERGOLD_RUNTIME}"
echo "${sync_source}"
echo ""
echo "dev:  ${ETHERGOLD_DEV}"
echo "  run_bridge: $([[ ${have_dev} -eq 1 ]] && echo yes || echo NO)"
echo "  data:       $([[ -f ${ETHERGOLD_DEV}/data/events.jsonl ]] && echo yes || echo no)"
echo ""
echo "prod: ${ETHERGOLD_PROD}"
echo "  run_bridge: $([[ ${have_prod} -eq 1 ]] && echo yes || echo NO)"
echo "  data:       $([[ -f ${ETHERGOLD_PROD}/data/events.jsonl ]] && echo yes || echo no)"
echo ""

running="$(pgrep -af 'pog422_fixture_bridge|run_bridge_jun11|run_bridge_prod' 2>/dev/null || true)"
if [[ -n "${running}" ]]; then
  echo "Running:"
  echo "${running}" | sed 's/^/  /'
else
  echo "Running: (none)"
fi
echo ""

stale=0
for d in "${ETHERGOLD_ROOT}/bridge" "${ETHERGOLD_ROOT}/Daemon" \
  "${ETHERGOLD_ROOT}/4-Board Test Fixture" "${ETHERGOLD_ROOT}/fixture-timing"; do
  if [[ -e "${d}" ]]; then
    echo "WARN: stale pre-restructure tree still present: ${d}"
    stale=1
  fi
done
if [[ "${stale}" -eq 1 ]]; then
  echo "  Harmless if you run from dev/. To delete: PURGE_STALE=1 bash pull_fixture_shared_from_dropbox.sh"
  echo "  (check field ethergold.service WorkingDirectory before removing Daemon/)"
  echo ""
fi

if [[ ${have_dev} -eq 1 ]]; then
  echo "STATUS: flat dev ready — start from:"
  echo "  cd ${ETHERGOLD_DEV}"
  echo "  CHANNEL=both FIXTURE_POS=N ./run_bridge_jun11_good.sh"
  echo "  — or: FIXTURE_POS=N bash ${ETHERGOLD_DEV}/start_bridge_background.sh"
elif [[ ${have_prod} -eq 1 ]]; then
  echo "STATUS: flat prod ready — start from:"
  echo "  cd ${ETHERGOLD_PROD} && FIXTURE_POS=N ./run_bridge_prod.sh"
else
  echo "STATUS: dev/ not complete — run: bash ${SYNC}/pull_fixture_shared_from_dropbox.sh"
fi

if [[ -f "${ENV_FILE}" ]]; then
  if grep -q '^PULL_LAYOUT=' "${ENV_FILE}" 2>/dev/null; then
    echo ""
    echo "NOTE: PULL_LAYOUT in ${ENV_FILE} is retired (flat layout, no mirror)."
  fi
fi
