feat: add operations health and domain setup polish

This commit is contained in:
Christian Krakau-Louis
2026-05-23 11:37:10 +02:00
parent ef506ca654
commit beae6e7469
18 changed files with 622 additions and 42 deletions
+18 -4
View File
@@ -166,19 +166,27 @@
<div class="card bg-base-100 shadow">
<div class="card-body">
<h2 class="card-title text-lg">Next steps</h2>
<h2 class="card-title text-lg">Setup checklist</h2>
<ul class="space-y-3 text-sm text-base-content/70">
<li class="flex gap-2">
<span class="mt-1 h-2 w-2 rounded-full bg-primary"></span>
<span>Add a mail source from the Mail Sources page.</span>
<span>
<a href="/domains" class="link link-primary font-medium">Add monitored domains</a>
<span class="ml-1" x-text="`(${totalDomains} configured)`"></span>
</span>
</li>
<li class="flex gap-2">
<span class="mt-1 h-2 w-2 rounded-full bg-secondary"></span>
<span>Import DMARC reports from Gmail, IMAP, upload, or webhook.</span>
<span>
<a href="/mail-sources" class="link link-primary font-medium">Connect a mailbox</a>
<span class="ml-1" x-text="`(${enabledMailSources}/${totalMailSources} enabled)`"></span>
</span>
</li>
<li class="flex gap-2">
<span class="mt-1 h-2 w-2 rounded-full bg-accent"></span>
<span>Use DNS health checks to review SPF, DKIM, and DMARC records.</span>
<span>
<a href="/operations" class="link link-primary font-medium">Check system health</a>
</span>
</li>
</ul>
</div>
@@ -196,6 +204,9 @@
complete: false,
error: '',
message: '',
totalDomains: 0,
totalMailSources: 0,
enabledMailSources: 0,
steps: [
{ id: 1, title: 'Admin', detail: 'Contact details' },
{ id: 2, title: 'System', detail: 'Name and URL' },
@@ -222,6 +233,9 @@
this.system.app_name = status.app_name || this.system.app_name;
this.complete = Boolean(status.is_setup_complete);
this.currentStep = this.complete ? 3 : 1;
this.totalDomains = status.total_domains || 0;
this.totalMailSources = status.total_mail_sources || 0;
this.enabledMailSources = status.enabled_mail_sources || 0;
} catch (err) {
this.error = err.message || 'Could not load setup status.';
} finally {