#!/bin/bash

# @raycast.schemaVersion 1
# @raycast.title Start Dev Tunnel
# @raycast.mode fullOutput
# @raycast.icon 🚀

export TUNNEL_ORIGIN_CERT="/Users/anton/Documents/GitHub/custom-server/cert.pem"

# Kill all cloudflared (including token-based)
echo "🛑 Stopping all tunnels..."
sudo pkill -f cloudflared
sleep 2

# Start local server if not running
if ! lsof -i :8080 > /dev/null 2>&1; then
    echo "🌐 Starting local server on port 8080..."
    cd ~/Documents/GitHub
    python3 -m http.server 8080 > /dev/null 2>&1 &
    sleep 2
    echo "✅ Server started"
else
    echo "✅ Server already running"
fi

# Verify server is up
if ! lsof -i :8080 > /dev/null 2>&1; then
    echo "❌ Failed to start server on port 8080!"
    exit 1
fi

# Start tunnel
echo "🚀 Starting tunnel..."
nohup cloudflared tunnel --config "/Users/anton/Documents/GitHub/custom-server/config.yml" run webflow-dev > /tmp/cloudflared.log 2>&1 &

sleep 4

# Verify
if pgrep -f "cloudflared tunnel" > /dev/null && grep -qi "registered\|connected" /tmp/cloudflared.log; then
    echo "✅ Tunnel connected!"
    echo ""
    echo "🌍 https://code.anton-atom.com"
    echo "https://code.anton-atom.com" | pbcopy
    echo "📋 Copied to clipboard!"
else
    echo "❌ Tunnel failed! Logs:"
    tail -20 /tmp/cloudflared.log
    exit 1
fi
