#!/usr/bin/env bash
# Runs google-places.sh across all US states for a given query term,
# then merges results into a single deduplicated file.
#
# Usage:
#   ./google-places-states.sh "hindu temples"
#   ./google-places-states.sh "indian restaurants" --key YOUR_API_KEY
#   ./google-places-states.sh "hindu temples" --refresh

set -euo pipefail

SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
PLACES="$SCRIPT_DIR/google-places.sh"
DATA_DIR="$SCRIPT_DIR/../data/google_places"

TERM=""
PASSTHROUGH_ARGS=()

while [[ $# -gt 0 ]]; do
  case "$1" in
    --key)
      PASSTHROUGH_ARGS+=(--key "$2")
      shift 2
      ;;
    --refresh)
      PASSTHROUGH_ARGS+=(--refresh)
      shift
      ;;
    *)
      TERM="$1"
      shift
      ;;
  esac
done

if [[ -z "$TERM" ]]; then
  echo "Usage: $0 \"<search term>\" [--key API_KEY] [--refresh]"
  echo "  Example: $0 \"hindu temples\""
  exit 1
fi

STATES=(
  "Alabama" "Alaska" "Arizona" "Arkansas" "California"
  "Colorado" "Connecticut" "Delaware" "Florida" "Georgia"
  "Hawaii" "Idaho" "Illinois" "Indiana" "Iowa"
  "Kansas" "Kentucky" "Louisiana" "Maine" "Maryland"
  "Massachusetts" "Michigan" "Minnesota" "Mississippi" "Missouri"
  "Montana" "Nebraska" "Nevada" "New Hampshire" "New Jersey"
  "New Mexico" "New York" "North Carolina" "North Dakota" "Ohio"
  "Oklahoma" "Oregon" "Pennsylvania" "Rhode Island" "South Carolina"
  "South Dakota" "Tennessee" "Texas" "Utah" "Vermont"
  "Virginia" "Washington" "West Virginia" "Wisconsin" "Wyoming"
)

SLUG=$(echo "$TERM" | tr '[:upper:]' '[:lower:]' | sed 's/[^a-z0-9 ]//g' | tr ' ' '_' | sed 's/__*/_/g')

echo "=== Google Places — all states ==="
echo "Term: $TERM"
echo "States: ${#STATES[@]}"
echo ""

for state in "${STATES[@]}"; do
  echo "--- $state ---"
  "$PLACES" "$TERM in $state" ${PASSTHROUGH_ARGS[@]+"${PASSTHROUGH_ARGS[@]}"} || true
  echo ""
done

echo "Done — results saved to $DATA_DIR/${SLUG}_in_*/"
