#!/bin/bash

# Script to fix all toast calls across the app
# Converts old syntax to new syntax

FILES=(
  "app/admin/dashboard/page.tsx"
  "app/admin/facilities/page-new.tsx"
  "app/admin/facilities/page.tsx"
  "app/admin/facilities/pending/page.tsx"
  "app/admin/reviews/page.tsx"
  "app/dashboard/page.tsx"
  "app/dashboard/reviews/page.tsx"
  "app/facility-owner/profile/page.tsx"
  "app/facility-owner/reviews/page.tsx"
  "app/facility-owner/settings/page.tsx"
  "app/facility/[id]/page.tsx"
  "app/notifications/page.tsx"
  "app/profile/setup/page.tsx"
)

for file in "${FILES[@]}"; do
  if [ -f "$file" ]; then
    echo "Fixing $file..."
    
    # Use perl for multi-line pattern matching
    # Convert error toasts (with variant: "destructive")
    perl -i -p0e 's/toast\(\{\s*title:\s*"([^"]+)",?\s*description:\s*([^,}]+),?\s*variant:\s*"destructive",?\s*\}\)/toast.error($2, { title: "$1" })/gs' "$file"
    
    # Convert success/info toasts (without variant)
    perl -i -p0e 's/toast\(\{\s*title:\s*"([^"]+)",?\s*description:\s*([^,}]+),?\s*\}\)/toast.success($2, { title: "$1" })/gs' "$file"
    
    echo "Fixed $file"
  else
    echo "File not found: $file"
  fi
done

echo "Done! Fixed ${#FILES[@]} files."

