letsbe-hub-dashboard/src/app/email/compose/page.tsx

45 lines
1.1 KiB
TypeScript
Raw Normal View History

'use client'
import { useSearchParams, useRouter } from 'next/navigation'
import { Suspense } from 'react'
import { ComposeForm } from '@/components/email/compose-form'
function ComposeContent() {
const searchParams = useSearchParams()
const router = useRouter()
const to = searchParams.get('to') || ''
const subject = searchParams.get('subject') || ''
const inReplyTo = searchParams.get('inReplyTo') || undefined
let references: string[] | undefined
try {
const refsParam = searchParams.get('references')
if (refsParam) references = JSON.parse(refsParam)
} catch {
// Ignore invalid JSON
}
return (
<div className="p-6">
<h2 className="text-lg font-semibold mb-4">
{inReplyTo ? 'Reply' : subject?.startsWith('Fwd:') ? 'Forward' : 'New Message'}
</h2>
<ComposeForm
defaultTo={to}
defaultSubject={subject}
inReplyTo={inReplyTo}
references={references}
onCancel={() => router.back()}
/>
</div>
)
}
export default function ComposePage() {
return (
<Suspense fallback={<div className="p-6">Loading...</div>}>
<ComposeContent />
</Suspense>
)
}