feat: implement email unsubscribe page

- Create /email/unsubscribe/[id] route with page and component
- Add share-id validation and 404 on invalid links
- Add bilingual translations (English/Croatian)
- Implement unsubscribe UI with success/error states
- Call unsubscribeTenantEmail server action on button click

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
Knee Cola
2025-12-29 18:32:04 +01:00
parent 2bc7bcdc1e
commit 0f06394984
4 changed files with 172 additions and 0 deletions

View File

@@ -0,0 +1,13 @@
import { Suspense } from 'react';
import EmailUnsubscribePage from './EmailUnsubscribePage';
import { Main } from '@/app/ui/Main';
export default async function Page({ params: { id } }: { params: { id: string } }) {
return (
<Main>
<Suspense fallback={<div className="text-center p-8">Loading...</div>}>
<EmailUnsubscribePage shareId={id} />
</Suspense>
</Main>
);
}