mailwolt/resources/views/livewire/ui/nx/domain/dns-dkim.blade.php

178 lines
11 KiB
PHP

<x-slot:breadcrumbParent>Domains</x-slot:breadcrumbParent>
<x-slot:breadcrumb>Domain</x-slot:breadcrumb>
<div>
<div class="mbx-page-header">
<div class="mbx-page-title">
<svg width="16" height="16" viewBox="0 0 16 16" fill="none">
<path d="M2 5h12M2 8h12M2 11h12" stroke="currentColor" stroke-width="1.3" stroke-linecap="round"/>
<rect x=".5" y="2" width="15" height="12" rx="2" stroke="currentColor" stroke-width="1.3"/>
</svg>
Domain
<span class="mbx-total-badge">{{ $systemDomains->count() + $userDomains->count() }}</span>
</div>
<div class="mbx-page-actions">
<span style="font-size:11px;color:var(--mw-t4)">DNS-Assistent prüft Records live via dig</span>
</div>
</div>
<div class="dkim-cols">
{{-- ══ SYSTEM ══ --}}
@if($systemDomains->count())
<div class="mbx-sections">
<div class="mbx-section">
<div class="mbx-domain-head">
<div class="mbx-domain-info">
<span class="dom-system-label">System</span>
<span class="mbx-domain-count">{{ $systemDomains->count() }} {{ Str::plural('Domain', $systemDomains->count()) }}</span>
</div>
</div>
<div class="mbx-table-wrap">
<table class="mbx-table">
<thead>
<tr>
<th class="mbx-th">Domain</th>
<th class="mbx-th" style="width:110px">DKIM-Status</th>
<th class="mbx-th" style="width:110px">Selector</th>
<th class="mbx-th">TXT-Record (Auszug)</th>
<th class="mbx-th mbx-th-right" style="width:90px">Aktionen</th>
</tr>
</thead>
<tbody>
@foreach($systemDomains as $d)
<tr class="mbx-tr mbx-tr-system">
<td class="mbx-td">
<div style="display:flex;align-items:center;gap:8px;">
<div class="dom-icon" style="color:var(--mw-v2);background:var(--mw-vbg);border-color:var(--mw-vbd);flex-shrink:0;">
<svg width="12" height="12" viewBox="0 0 14 14" fill="none">
<circle cx="7" cy="7" r="5.5" stroke="currentColor" stroke-width="1.2"/>
<ellipse cx="7" cy="7" rx="2.2" ry="5.5" stroke="currentColor" stroke-width="1.2"/>
<path d="M1.5 5.5h11M1.5 8.5h11" stroke="currentColor" stroke-width="1.2"/>
</svg>
</div>
<span class="dom-name">{{ $d->domain }}</span>
</div>
</td>
<td class="mbx-td">
@if($d->dkim_ready)
<span class="mbx-badge-ok">Aktiv</span>
@else
<span class="mbx-badge-warn">Fehlt</span>
@endif
</td>
<td class="mbx-td">
<code class="dom-code">{{ $d->dkim_selector }}</code>
</td>
<td class="mbx-td">
@if($d->dkim_txt)
<code class="dom-txt-preview" title="{{ $d->dkim_txt }}">{{ Str::limit($d->dkim_txt, 60) }}</code>
@else
<span style="color:var(--mw-t4);font-size:11px"> kein Schlüssel </span>
@endif
</td>
<td class="mbx-td">
<div class="mbx-actions">
<button wire:click="openDns({{ $d->id }})" class="mbx-act-btn" title="DNS-Assistent">
<svg width="13" height="13" viewBox="0 0 14 14" fill="none"><circle cx="7" cy="7" r="5.5" stroke="currentColor" stroke-width="1.2"/><path d="M4.5 9.5C5 8 6 7 7 7s2 1 2.5 2.5" stroke="currentColor" stroke-width="1.1" stroke-linecap="round"/><circle cx="7" cy="4.5" r=".7" fill="currentColor"/></svg>
</button>
<button wire:click="regenerateDkim({{ $d->id }})" class="mbx-act-btn" title="DKIM neu generieren"
wire:confirm="DKIM-Schlüssel für {{ $d->domain }} neu generieren?">
<svg width="13" height="13" viewBox="0 0 14 14" fill="none"><path d="M12 7A5 5 0 1 1 9 2.5" stroke="currentColor" stroke-width="1.2" stroke-linecap="round"/><path d="M9 .5l2.5 2L9 4.5" stroke="currentColor" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round"/></svg>
</button>
</div>
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
</div>
@endif
{{-- ══ USER ══ --}}
<div class="mbx-sections">
<div class="mbx-section">
<div class="mbx-domain-head">
<div class="mbx-domain-info">
<span class="mbx-badge-mute">User</span>
<span class="mbx-domain-count">{{ $userDomains->count() }} {{ Str::plural('Domain', $userDomains->count()) }}</span>
</div>
</div>
@if($userDomains->count())
<div class="mbx-table-wrap">
<table class="mbx-table">
<thead>
<tr>
<th class="mbx-th">Domain</th>
<th class="mbx-th" style="width:110px">DKIM-Status</th>
<th class="mbx-th" style="width:110px">Selector</th>
<th class="mbx-th">TXT-Record (Auszug)</th>
<th class="mbx-th mbx-th-right" style="width:120px">Aktionen</th>
</tr>
</thead>
<tbody>
@foreach($userDomains as $d)
<tr class="mbx-tr">
<td class="mbx-td">
<div style="display:flex;align-items:center;gap:8px;">
<div class="dom-icon" style="flex-shrink:0;">
<svg width="12" height="12" viewBox="0 0 14 14" fill="none">
<circle cx="7" cy="7" r="5.5" stroke="currentColor" stroke-width="1.2"/>
<ellipse cx="7" cy="7" rx="2.2" ry="5.5" stroke="currentColor" stroke-width="1.2"/>
<path d="M1.5 5.5h11M1.5 8.5h11" stroke="currentColor" stroke-width="1.2"/>
</svg>
</div>
<span class="dom-name">{{ $d->domain }}</span>
</div>
</td>
<td class="mbx-td">
@if($d->dkim_ready)
<span class="mbx-badge-ok">Aktiv</span>
@else
<span class="mbx-badge-warn">Fehlt</span>
@endif
</td>
<td class="mbx-td">
<code class="dom-code">{{ $d->dkim_selector }}</code>
</td>
<td class="mbx-td">
@if($d->dkim_txt)
<code class="dom-txt-preview" title="{{ $d->dkim_txt }}">{{ Str::limit($d->dkim_txt, 60) }}</code>
@else
<span style="color:var(--mw-t4);font-size:11px"> kein Schlüssel </span>
@endif
</td>
<td class="mbx-td">
<div class="mbx-actions">
<button wire:click="openDns({{ $d->id }})" class="mbx-act-btn" title="DNS-Assistent">
<svg width="13" height="13" viewBox="0 0 14 14" fill="none"><circle cx="7" cy="7" r="5.5" stroke="currentColor" stroke-width="1.2"/><path d="M4.5 9.5C5 8 6 7 7 7s2 1 2.5 2.5" stroke="currentColor" stroke-width="1.1" stroke-linecap="round"/><circle cx="7" cy="4.5" r=".7" fill="currentColor"/></svg>
</button>
<button wire:click="regenerateDkim({{ $d->id }})" class="mbx-act-btn" title="DKIM neu generieren"
wire:confirm="DKIM-Schlüssel für {{ $d->domain }} neu generieren?">
<svg width="13" height="13" viewBox="0 0 14 14" fill="none"><path d="M12 7A5 5 0 1 1 9 2.5" stroke="currentColor" stroke-width="1.2" stroke-linecap="round"/><path d="M9 .5l2.5 2L9 4.5" stroke="currentColor" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round"/></svg>
</button>
<button wire:click="openDelete({{ $d->id }})" class="mbx-act-btn mbx-act-danger" title="Domain löschen">
<svg width="13" height="13" viewBox="0 0 14 14" fill="none"><path d="M2 4h10M5 4V2.5h4V4M5.5 6.5v4M8.5 6.5v4M3.5 4l.5 8h6l.5-8" stroke="currentColor" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round"/></svg>
</button>
</div>
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
@else
<div class="mbx-empty-domain">Keine User-Domains vorhanden.</div>
@endif
</div>
</div>
</div>
</div>