178 lines
11 KiB
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>
|