Handle all options of x-aligned-from

This commit is contained in:
nemunaire 2025-11-01 17:52:28 +07:00
commit 372c9c5153
4 changed files with 14 additions and 8 deletions

View file

@ -760,7 +760,7 @@ components:
properties: properties:
result: result:
type: string type: string
enum: [pass, fail, invalid, missing, none, neutral, softfail, temperror, permerror, declined] enum: [pass, fail, invalid, missing, none, neutral, softfail, temperror, permerror, declined, domain_pass, orgdomain_pass]
description: Authentication result description: Authentication result
example: "pass" example: "pass"
domain: domain:

View file

@ -16,10 +16,16 @@
function getAuthResultClass(result: string, noneIsFail: boolean): string { function getAuthResultClass(result: string, noneIsFail: boolean): string {
switch (result) { switch (result) {
case "pass": case "pass":
case "domain_pass":
case "orgdomain_pass":
return "text-success"; return "text-success";
case "error":
case "fail": case "fail":
case "missing": case "missing":
case "invalid": case "invalid":
case "null":
case "null_smtp":
case "null_header":
return "text-danger"; return "text-danger";
case "softfail": case "softfail":
case "neutral": case "neutral":
@ -36,12 +42,18 @@
function getAuthResultIcon(result: string, noneIsFail: boolean): string { function getAuthResultIcon(result: string, noneIsFail: boolean): string {
switch (result) { switch (result) {
case "pass": case "pass":
case "domain_pass":
case "orgdomain_pass":
return "bi-check-circle-fill"; return "bi-check-circle-fill";
case "fail": case "fail":
return "bi-x-circle-fill"; return "bi-x-circle-fill";
case "softfail": case "softfail":
case "neutral": case "neutral":
case "invalid": case "invalid":
case "null":
case "error":
case "null_smtp":
case "null_header":
return "bi-exclamation-circle-fill"; return "bi-exclamation-circle-fill";
case "missing": case "missing":
return "bi-dash-circle-fill"; return "bi-dash-circle-fill";

View file

@ -9,7 +9,6 @@
headerAnalysis: HeaderAnalysis; headerAnalysis: HeaderAnalysis;
headerGrade?: string; headerGrade?: string;
headerScore?: number; headerScore?: number;
xAlignedFrom?: AuthResult;
} }
let { dmarcRecord, headerAnalysis, headerGrade, headerScore, xAlignedFrom }: Props = $props(); let { dmarcRecord, headerAnalysis, headerGrade, headerScore, xAlignedFrom }: Props = $props();
@ -62,11 +61,7 @@
<div class="card mb-3" id="domain-alignment"> <div class="card mb-3" id="domain-alignment">
<div class="card-header"> <div class="card-header">
<h5 class="mb-0"> <h5 class="mb-0">
{#if xAlignedFrom} <i class="bi {headerAnalysis.domain_alignment.aligned ? 'bi-check-circle-fill text-success' : headerAnalysis.domain_alignment.relaxed_aligned ? 'bi-check-circle text-info' : 'bi-x-circle-fill text-danger'}"></i>
<i class="bi {xAlignedFrom.result == "pass" ? 'bi-check-circle-fill text-success' : 'bi-x-circle-fill text-danger'}"></i>
{:else}
<i class="bi {headerAnalysis.domain_alignment.aligned ? 'bi-check-circle-fill text-success' : headerAnalysis.domain_alignment.relaxed_aligned ? 'bi-check-circle text-info' : 'bi-x-circle-fill text-danger'}"></i>
{/if}
Domain Alignment Domain Alignment
</h5> </h5>
</div> </div>

View file

@ -335,7 +335,6 @@
headerAnalysis={report.header_analysis} headerAnalysis={report.header_analysis}
headerGrade={report.summary?.header_grade} headerGrade={report.summary?.header_grade}
headerScore={report.summary?.header_score} headerScore={report.summary?.header_score}
xAlignedFrom={report.authentication?.x_aligned_from}
/> />
</div> </div>
</div> </div>