#!/bin/bash
# Pre-commit hook for Aletheia

set -e

echo "Running pre-commit checks..."

# Check if there are any staged frontend files
STAGED_JS=$(git diff --cached --name-only --diff-filter=ACM | grep -E '\.(js|jsx|ts|tsx)$' | grep '^frontend/' || true)

if [ -n "$STAGED_JS" ]; then
    echo "Checking JavaScript/TypeScript lint..."
    yarn lint --quiet 2>/dev/null || {
        echo "ESLint errors found. Run 'yarn lint-fix' to auto-fix."
        exit 1
    }
fi

# Check if there are any staged CSS files
STAGED_CSS=$(git diff --cached --name-only --diff-filter=ACM | grep -E '\.css$' | grep '^frontend/' || true)

if [ -n "$STAGED_CSS" ]; then
    echo "Checking CSS lint..."
    if [[ "$OSTYPE" == "msys" ]] || [[ "$OSTYPE" == "win32" ]]; then
        yarn stylelint-windows --quiet 2>/dev/null || {
            echo "Stylelint errors found."
            exit 1
        }
    else
        yarn stylelint-linux --quiet 2>/dev/null || {
            echo "Stylelint errors found."
            exit 1
        }
    fi
fi

echo "Pre-commit checks passed."
