Files
WebAPP/resources/views/admin/list-generator/document.blade.php
Rhino 2e24a40d68 Stand: SMTP-Test, Admin-Mail-Tab, Notifiable-Fix, Lazy-Quill
- Fix: Notifiable-Trait zum User-Model hinzugefuegt (behebt notify()-500er)
- Installer: SMTP-Verbindungstest mit EsmtpTransport + Ueberspringen-Link
- Admin: Neuer E-Mail-Tab mit SMTP-Konfiguration + Verbindungstest
- Admin: Lazy Quill-Initialisierung (nur sichtbare Locale wird geladen)
- Uebersetzungen: 17 neue Mail-Keys in allen 6 Sprachen

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 07:30:37 +01:00

177 lines
5.3 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
<title>{{ $title }}</title>
<style>
@page {
size: {{ $orientation ?? 'portrait' }};
margin: 10mm;
}
* { margin: 0; padding: 0; box-sizing: border-box; }
body {
font-family: 'DejaVu Sans', Helvetica, Arial, sans-serif;
font-size: {{ $fontSize ?? 10 }}pt;
color: #374151;
background: #f3f4f6;
}
/* Card container */
.card {
background: #ffffff;
border-radius: 8px;
overflow: hidden;
}
/* Dark header */
.card-header {
background: #1f2937;
padding: 14px 20px;
}
.card-header h1 {
font-size: {{ max(($fontSize ?? 10) + 4, 13) }}pt;
font-weight: 700;
color: #ffffff;
margin: 0;
}
.card-header .subtitle {
font-size: {{ max(($fontSize ?? 10), 9) }}pt;
color: #d1d5db;
margin-top: 2px;
}
/* Notes bar */
.notes-bar {
padding: 8px 20px;
background: #f9fafb;
border-bottom: 1px solid #e5e7eb;
font-size: {{ max(($fontSize ?? 10) - 1, 8) }}pt;
color: #4b5563;
}
/* Table */
table {
width: 100%;
border-collapse: collapse;
}
th {
background: #f3f4f6;
border-bottom: 1px solid #e5e7eb;
padding: 7px 12px;
text-align: left;
font-size: {{ max(($fontSize ?? 10) - 2, 7) }}pt;
font-weight: 600;
color: #6b7280;
text-transform: uppercase;
letter-spacing: 0.5px;
}
td {
padding: 6px 12px;
border-bottom: 1px solid #f3f4f6;
font-size: {{ $fontSize ?? 10 }}pt;
color: #374151;
}
tr:nth-child(even) td {
background: #fafbfc;
}
.row-num {
color: #9ca3af;
font-size: {{ max(($fontSize ?? 10) - 2, 7) }}pt;
width: 28px;
font-family: monospace;
}
.empty-cell {
color: #d1d5db;
}
.link {
color: #2563eb;
text-decoration: none;
}
/* Footer bar */
.card-footer {
padding: 8px 20px;
background: #f9fafb;
border-top: 1px solid #e5e7eb;
font-size: {{ max(($fontSize ?? 10) - 3, 7) }}pt;
color: #9ca3af;
}
.card-footer table { border: none; }
.card-footer td {
border: none;
padding: 0;
background: none;
font-size: {{ max(($fontSize ?? 10) - 3, 7) }}pt;
color: #9ca3af;
}
.card-footer .right {
text-align: right;
}
</style>
</head>
<body>
<div class="card">
{{-- Dark header --}}
<div class="card-header">
<h1>{{ $title }}</h1>
@if ($subtitle)
<div class="subtitle">{{ $subtitle }}</div>
@endif
</div>
{{-- Notes --}}
@if ($notes)
<div class="notes-bar">{{ $notes }}</div>
@endif
{{-- Data table --}}
<table>
<thead>
<tr>
<th class="row-num">#</th>
@foreach ($columns as $key => $header)
<th>{{ $header }}</th>
@endforeach
</tr>
</thead>
<tbody>
@forelse ($rows as $i => $row)
<tr>
<td class="row-num">{{ $i + 1 }}</td>
@foreach ($columns as $key => $header)
<td>
@if (($key === 'email') && !empty($row[$key]))
<a class="link" href="mailto:{{ $row[$key] }}">{{ $row[$key] }}</a>
@elseif (($key === 'phone') && !empty($row[$key]) && $row[$key] !== '')
<a class="link" href="tel:{{ $row[$key] }}">{{ $row[$key] }}</a>
@elseif (($row[$key] ?? '') === '')
<span class="empty-cell">&mdash;</span>
@else
{{ $row[$key] }}
@endif
</td>
@endforeach
</tr>
@empty
<tr>
<td colspan="{{ count($columns) + 1 }}" style="text-align: center; color: #9ca3af; padding: 20px;">
{{ __('admin.no_entries') }}
</td>
</tr>
@endforelse
</tbody>
</table>
{{-- Footer bar --}}
<div class="card-footer">
<table>
<tr>
<td>{{ count($rows) }} {{ __('admin.list_entries_count') }}</td>
<td class="right">{{ __('admin.list_generated_at') }}: {{ $generatedAt->translatedFormat('d.m.Y, H:i') }} Uhr</td>
</tr>
</table>
</div>
</div>
</body>
</html>