Implement web ui
This commit is contained in:
parent
682ca6bb20
commit
4b9733531e
13 changed files with 1141 additions and 0 deletions
65
web/src/lib/components/SpamAssassinCard.svelte
Normal file
65
web/src/lib/components/SpamAssassinCard.svelte
Normal file
|
|
@ -0,0 +1,65 @@
|
|||
<script lang="ts">
|
||||
import type { SpamAssassinResult } from "$lib/api/types.gen";
|
||||
|
||||
interface Props {
|
||||
spamassassin: SpamAssassinResult;
|
||||
}
|
||||
|
||||
let { spamassassin }: Props = $props();
|
||||
</script>
|
||||
|
||||
<div class="card">
|
||||
<div class="card-header bg-warning bg-opacity-10">
|
||||
<h5 class="mb-0 fw-bold">
|
||||
<i class="bi bi-bug me-2"></i>SpamAssassin Analysis
|
||||
</h5>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="row mb-3">
|
||||
<div class="col-md-6">
|
||||
<strong>Score:</strong>
|
||||
<span class={spamassassin.is_spam ? "text-danger" : "text-success"}>
|
||||
{spamassassin.score.toFixed(2)} / {spamassassin.required_score.toFixed(1)}
|
||||
</span>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<strong>Classified as:</strong>
|
||||
<span class="badge {spamassassin.is_spam ? 'bg-danger' : 'bg-success'} ms-2">
|
||||
{spamassassin.is_spam ? "SPAM" : "HAM"}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{#if spamassassin.tests && spamassassin.tests.length > 0}
|
||||
<div class="mb-2">
|
||||
<strong>Tests Triggered:</strong>
|
||||
<div class="mt-2">
|
||||
{#each spamassassin.tests as test}
|
||||
<span class="badge bg-light text-dark me-1 mb-1">{test}</span>
|
||||
{/each}
|
||||
</div>
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
{#if spamassassin.report}
|
||||
<details class="mt-3">
|
||||
<summary class="cursor-pointer fw-bold">Full Report</summary>
|
||||
<pre class="mt-2 small bg-light p-3 rounded">{spamassassin.report}</pre>
|
||||
</details>
|
||||
{/if}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<style>
|
||||
.cursor-pointer {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
details summary {
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
details summary:hover {
|
||||
color: var(--bs-primary);
|
||||
}
|
||||
</style>
|
||||
Loading…
Add table
Add a link
Reference in a new issue