#!/bin/bash # Script to update all tracking forms to use new error handling TRACKING_FILES=( "/root/maternal-app/maternal-web/app/track/feeding/page.tsx" "/root/maternal-app/maternal-web/app/track/sleep/page.tsx" "/root/maternal-app/maternal-web/app/track/diaper/page.tsx" "/root/maternal-app/maternal-web/app/track/medicine/page.tsx" "/root/maternal-app/maternal-web/app/track/growth/page.tsx" "/root/maternal-app/maternal-web/app/track/activity/page.tsx" ) for file in "${TRACKING_FILES[@]}"; do if [ -f "$file" ]; then echo "Updating $file..." # 1. Add imports at the top (after existing imports) if ! grep -q "useErrorMessage" "$file"; then # Find the last import line and add after it sed -i '/^import.*from/a\import { useErrorMessage } from "@/components/common/ErrorMessage";\nimport { formatErrorMessage } from "@/lib/utils/errorHandler";' "$file" | head -1 fi # 2. Replace error state declaration sed -i 's/const \[error, setError\] = useState(null);/const { error, showError, clearError, hasError } = useErrorMessage();/' "$file" # 3. Replace setError('') with clearError() sed -i "s/setError('')/clearError()/g" "$file" sed -i 's/setError("")/clearError()/g' "$file" sed -i 's/setError(null)/clearError()/g' "$file" # 4. Replace setError with showError for error messages sed -i 's/setError(\([^)]*\))/showError(\1)/g' "$file" # 5. Replace error && with hasError && sed -i 's/error &&/hasError \&\&/g' "$file" # 6. Replace {error} display with {formatErrorMessage(error)} sed -i 's/{error}/{formatErrorMessage(error)}/g' "$file" echo " ✓ Updated $file" else echo " ✗ File not found: $file" fi done echo "Done updating tracking forms!"