#!/bin/bash
# Rebreak Native — Dev auf physischem iPhone (kein Simulator).
#
# Was es macht:
#   - Killt alte Metro-Instanzen auf 8081 (saubere Session)
#   - Startet Metro mit --host lan damit iPhone via WiFi connecten kann
#   - Druckt deine LAN-IP zum manuellen Eintragen falls Bonjour failt
#
# Auf iPhone:
#   1. Mac + iPhone müssen im SELBEN WiFi sein
#   2. App komplett killen (App-Switcher → swipe up)
#   3. App neu öffnen — dev-client sollte Metro automatisch finden
#   4. Falls nicht: dev-launcher → "Enter URL manually" → http://<LAN-IP>:8081
#
# WICHTIG: Im Metro-Terminal NICHT `i` drücken — sonst startet Simulator!
#          Nur `r` für Reload.
set -e
cd "$(dirname "$0")"

# FamilyControls-Flag: default ON für lokale Dev-Builds, override via
#   REBREAK_ENABLE_FAMILY_CONTROLS=0 ./dev-iphone.sh
# wenn man bewusst ohne FC testen will (z.B. TestFlight-Parity-Check).
# app.config.ts liest die Var um Constants.expoConfig.extra.familyControlsEnabled
# zu setzen → lib/protection.ts.FAMILY_CONTROLS_AVAILABLE → Blocker-UI.
export REBREAK_ENABLE_FAMILY_CONTROLS="${REBREAK_ENABLE_FAMILY_CONTROLS:-1}"

echo "🧹 Killing old Metro on port 8081..."
lsof -ti:8081 | xargs kill -9 2>/dev/null || true

echo ""
echo "📡 Mac LAN-IP für iPhone:"
ipconfig getifaddr en0 2>/dev/null || ipconfig getifaddr en1 2>/dev/null || echo "   (kein WiFi/Ethernet detected)"
echo ""
echo "ℹ️  Falls dev-client Metro nicht automatisch findet:"
echo "   im iPhone-Launcher → 'Enter URL manually' → http://<LAN-IP>:8081"
echo ""
echo "🚀 Starting Metro with --host lan..."
echo "   (Drücke 'r' für Reload, NICHT 'i' — sonst startet Simulator!)"
echo ""

exec pnpm expo start --host lan --clear --dev-client
