'use client'; import { useTranslations } from 'next-intl'; import { useState } from 'react'; import { unsubscribeTenantEmail } from '@/app/lib/actions/emailActions'; import { CheckCircleIcon } from '@heroicons/react/24/outline'; interface EmailUnsubscribePageProps { shareId: string; } export default function EmailUnsubscribePage({ shareId }: EmailUnsubscribePageProps) { const t = useTranslations('email-unsubscribe-page'); const [isUnsubscribing, setIsUnsubscribing] = useState(false); const [isUnsubscribed, setIsUnsubscribed] = useState(false); const [error, setError] = useState(null); const handleUnsubscribe = async () => { setIsUnsubscribing(true); setError(null); try { const result = await unsubscribeTenantEmail(shareId); if (result.success) { setIsUnsubscribed(true); } else { setError(result.message || t('error.unknown')); } } catch (err) { setError(t('error.unknown')); } finally { setIsUnsubscribing(false); } }; if (isUnsubscribed) { return (

{t('success.title')}

{t('success.message')}

); } if (error) { return (

{t('error.title')}

{error}

); } return (

{t('title')}

{t('about.title')}

{t('about.description')}

{t('why.title')}

{t('why.description')}

{t('what-happens.title')}

{t('what-happens.description')}

); }