feat: implement email verification page

- Create /email/verify/[id] route with page and component
- Add share-id validation and 404 on invalid links
- Add bilingual translations (English/Croatian)
- Implement verification UI with success/error states
- Call verifyTenantEmail 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:16:44 +01:00
parent c1d3026f4b
commit 2bc7bcdc1e
4 changed files with 185 additions and 0 deletions

View File

@@ -412,6 +412,37 @@
"content": "Ako imate bilo kakvih pitanja o ovim Uvjetima, kontaktirajte nas na <emailLink>support@rezije.app</emailLink>."
}
},
"email-verify-page": {
"title": "Potvrdite Vašu Email Adresu",
"about": {
"title": "O aplikaciji Evidencija Režija",
"description": "Evidencija Režija je aplikacija za praćenje režija koja pomaže vlasnicicama nekretnina da upravljaju svojim objektima i obavještavaju zakupce o dospjeloj najamnini i režijama."
},
"why": {
"title": "Zašto ste primili ovaj email?",
"description": "Vaš vlasnik nekretnine je konfigurirao aplikaciju da šalje obavijesti o dospjeloj najamnini i/ili režijama na vašu email adresu. Da biste počeli primati ove obavijesti, trebate potvrditi svoju email adresu."
},
"what-happens": {
"title": "Što se događa nakon potvrde?",
"description": "Nakon što potvrdite svoju email adresu, primate ćete obavijesti kada najamnina dospije i/ili kada su režije spremne, ovisno o konfiguraciji vašeg vlasnika nekretnine. Obavijesti se šalju do dva puta mjesečno."
},
"opt-out": {
"title": "Ne želite primati emailove?",
"description": "Možete zanemariti ovaj email ako ne želite primati obavijesti. Također se možete odjaviti u bilo kojem trenutku korištenjem linka koji je uključen u svakom emailu s obavijesti."
},
"button": {
"verify": "Potvrdi Email Adresu",
"verifying": "Potvrđivanje..."
},
"success": {
"title": "Email Potvrđen!",
"message": "Vaša email adresa je uspješno potvrđena. Sada ćete primati obavijesti od vašeg vlasnika nekretnine."
},
"error": {
"title": "Potvrda Nije Uspjela",
"unknown": "Došlo je do greške prilikom potvrde. Molimo pokušajte ponovno ili kontaktirajte vašeg vlasnika nekretnine."
}
},
"privacy-policy-page": {
"title": "Politika privatnosti za web aplikaciju za evidenciju režija",
"meta": {