#!/bin/bash
# Comprehensive site verification - runs all checks
# Usage: tools/check/verify-site.sh <site-dir>
# Example: tools/check/verify-site.sh sites/example.com-v1
# Exit codes: 0=passed, 1=verification failed, 2=input error

set -e

SITE_DIR="${1:-.}"
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"

if [[ ! -d "$SITE_DIR" ]]; then
    echo "ERROR:directory_not_found:$SITE_DIR"
    exit 2
fi

SITE_NAME=$(basename "$SITE_DIR")
ERRORS=0

echo "╔════════════════════════════════════════════════════════════╗"
echo "║  SITE VERIFICATION: $SITE_NAME"
echo "╚════════════════════════════════════════════════════════════╝"
echo ""

# 1. Check required files exist
echo "▶ Checking required files..."
REQUIRED_FILES=("index.html" "styles.css" "script.js")
for f in "${REQUIRED_FILES[@]}"; do
    if [[ -f "$SITE_DIR/$f" ]]; then
        echo "  ✓ $f"
    else
        echo "  ✗ $f (missing)"
        ERRORS=$((ERRORS + 1))
    fi
done
echo ""

# 2. HTML Check
echo "▶ HTML Structure Check..."
if "$SCRIPT_DIR/html-check.sh" "$SITE_DIR" 2>&1 | grep -E "^(✓|✗)" | head -10; then
    :
else
    ERRORS=$((ERRORS + 1))
fi
echo ""

# 3. JavaScript Syntax Check
echo "▶ JavaScript Syntax Check..."
if "$SCRIPT_DIR/js-syntax.sh" "$SITE_DIR" 2>&1 | grep -E "^(✓|✗|OK|FAIL)" | head -10; then
    :
else
    ERRORS=$((ERRORS + 1))
fi
echo ""

# 4. File Statistics
echo "▶ File Statistics..."
"$SCRIPT_DIR/file-stats.sh" "$SITE_DIR" 2>&1 | tail -15
echo ""

# 5. Check for DESIGN.md
echo "▶ Design Document..."
if [[ -f "$SITE_DIR/DESIGN.md" ]]; then
    lines=$(wc -l < "$SITE_DIR/DESIGN.md" | tr -d ' ')
    echo "  ✓ DESIGN.md ($lines lines)"
else
    echo "  ? DESIGN.md not found (may be in parent)"
fi
echo ""

# Summary
echo "════════════════════════════════════════════════════════════"
if [[ $ERRORS -eq 0 ]]; then
    echo "OK:verification_passed"
else
    echo "FAIL:verification_failed:$ERRORS issues"
    exit 1
fi
