'use client'; import { Button } from '@/components/ui/button'; import { serviceErrorSchema } from '@/lib/serviceError'; import { AlertCircle, X } from "lucide-react"; import { useMemo } from 'react'; interface ErrorBannerProps { error: Error; isVisible: boolean; onClose: () => void; } export const ErrorBanner = ({ error, isVisible, onClose }: ErrorBannerProps) => { const errorMessage = useMemo(() => { try { const errorJson = JSON.parse(error.message); const serviceError = serviceErrorSchema.parse(errorJson); return serviceError.message; } catch { return error.message; } }, [error]); if (!isVisible) { return null; } return (