speechify-clone/static/verify-ok.html
ifedan-ed ee3ffcfe90 Add email verification, user Nextcloud settings, Groq TTS, favicon, and settings page
- Email verification: send link on register via SMTP2GO (noreply@pedshub.com), verify endpoint, beautiful HTML email
- Unverified users see yellow banner in app with resend button; also shown on settings page
- User settings page (/settings): personal Nextcloud credentials (override admin-wide config)
- Admin and per-user Nextcloud config merged (user settings take priority)
- Groq PlayAI TTS: 20 English voices + 2 Arabic voices via groq-playai-tts / groq-playai-tts-arabic
- Added groq-playai-tts and groq-playai-tts-arabic to litellm config
- Favicon SVG (purple play button) across all pages
- Settings link in user dropdown menu
- verify-ok.html and verify-fail.html result pages
- DB migration: added email_verified column, verification_tokens and user_settings tables

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-11 04:12:25 +02:00

35 lines
1.6 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<title>Email Verified — Speechify</title>
<link rel="icon" type="image/svg+xml" href="/static/favicon.svg"/>
<style>
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
body { font-family: 'Inter', system-ui, sans-serif; background: #0d0d0d; color: #e8e8e8;
min-height: 100vh; display: flex; align-items: center; justify-content: center; }
.card { background: #161616; border: 1px solid #232323; border-radius: 16px;
padding: 48px 40px; max-width: 400px; width: 100%; text-align: center; }
.icon { width: 56px; height: 56px; background: rgba(74,222,128,.15); border-radius: 50%;
display: flex; align-items: center; justify-content: center; margin: 0 auto 24px; }
h1 { font-size: 20px; font-weight: 700; margin-bottom: 10px; }
p { font-size: 14px; color: #888; line-height: 1.6; margin-bottom: 28px; }
a { display: inline-block; background: #7c3aed; color: #fff; text-decoration: none;
border-radius: 10px; padding: 11px 28px; font-size: 14px; font-weight: 600; }
a:hover { background: #9d6fff; }
</style>
</head>
<body>
<div class="card">
<div class="icon">
<svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="#4ade80" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">
<polyline points="20 6 9 17 4 12"/>
</svg>
</div>
<h1>Email verified!</h1>
<p>Your email address has been confirmed. You can now use all features of Speechify.</p>
<a href="/">Go to App</a>
</div>
</body>
</html>