feat(07-06): settings-api client + SmtpSettingsForm + SMTP page (DKV-05)
Tessera CI/CD / Build & Deploy (push) Blocked by required conditions
Tessera CI/CD / Lint & Type Check (push) Successful in 41s
Tessera CI/CD / Tests (push) Waiting to run

- settings-api.ts: fetchSmtp/saveSmtp/testSmtp with credentials:'include'; SmtpConfig exposes only hasPassword (T-07-17)
- smtp-settings-form.tsx: Surface C form with show/hide password toggle, test-feedback auto-clears 6s
- settings/general/smtp/page.tsx: SmtpSettingsPage heading + SmtpSettingsForm
- de.json + en.json: add smtp.showPassword/hidePassword/testTesting/testSuccess/testFailed keys
- TDD GREEN: 5/5 tests pass; aria-hidden* on required markers removed for correct getByLabelText matching
This commit is contained in:
2026-06-27 17:03:57 +02:00
parent a96d79ad52
commit fd2dda69cb
5 changed files with 464 additions and 2 deletions
@@ -0,0 +1,22 @@
'use client';
import { useTranslations } from 'next-intl';
import { SmtpSettingsForm } from '@/components/settings/smtp-settings-form';
/**
* SMTP settings page — /settings/general/smtp (Surface C, DKV-05).
* Sits inside the existing settings layout (SettingsSidebar wraps it).
* Heading follows the settings/dashboard/page.tsx pattern exactly.
*/
export default function SmtpSettingsPage() {
const t = useTranslations('settings');
return (
<div>
<h1 className="mb-6 text-lg font-semibold text-foreground">
{t('smtp.title')}
</h1>
<SmtpSettingsForm />
</div>
);
}