136 lines
4.5 KiB
PHP
136 lines
4.5 KiB
PHP
<!DOCTYPE html>
|
||
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
|
||
<head>
|
||
<meta charset="utf-8">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||
<meta name="robots" content="noindex,nofollow">
|
||
<title>{{ $pressRelease->title }} – Vorschau</title>
|
||
<style>
|
||
:root {
|
||
--bg: #f8fafc;
|
||
--surface: #ffffff;
|
||
--border: #e2e8f0;
|
||
--text: #0f172a;
|
||
--muted: #64748b;
|
||
--accent: #2563eb;
|
||
}
|
||
@media (prefers-color-scheme: dark) {
|
||
:root {
|
||
--bg: #0f172a;
|
||
--surface: #1e293b;
|
||
--border: #334155;
|
||
--text: #f1f5f9;
|
||
--muted: #94a3b8;
|
||
--accent: #60a5fa;
|
||
}
|
||
}
|
||
* { box-sizing: border-box; }
|
||
body {
|
||
margin: 0;
|
||
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;
|
||
background: var(--bg);
|
||
color: var(--text);
|
||
line-height: 1.6;
|
||
}
|
||
.preview-banner {
|
||
background: #fef3c7;
|
||
color: #78350f;
|
||
padding: 12px 16px;
|
||
text-align: center;
|
||
font-size: 14px;
|
||
border-bottom: 1px solid #fde68a;
|
||
}
|
||
@media (prefers-color-scheme: dark) {
|
||
.preview-banner {
|
||
background: #78350f;
|
||
color: #fef3c7;
|
||
border-bottom-color: #fcd34d;
|
||
}
|
||
}
|
||
.container {
|
||
max-width: 800px;
|
||
margin: 32px auto;
|
||
padding: 32px;
|
||
background: var(--surface);
|
||
border: 1px solid var(--border);
|
||
border-radius: 12px;
|
||
box-shadow: 0 1px 3px rgba(0,0,0,0.05);
|
||
}
|
||
h1 { margin: 0 0 8px; font-size: 28px; line-height: 1.25; }
|
||
.meta {
|
||
color: var(--muted);
|
||
font-size: 14px;
|
||
margin-bottom: 24px;
|
||
padding-bottom: 16px;
|
||
border-bottom: 1px solid var(--border);
|
||
}
|
||
.body { white-space: pre-wrap; }
|
||
.images {
|
||
display: grid;
|
||
grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
|
||
gap: 12px;
|
||
margin: 24px 0;
|
||
}
|
||
.images img {
|
||
width: 100%;
|
||
height: 200px;
|
||
object-fit: cover;
|
||
border-radius: 6px;
|
||
border: 1px solid var(--border);
|
||
}
|
||
.footer {
|
||
margin-top: 32px;
|
||
padding-top: 16px;
|
||
border-top: 1px solid var(--border);
|
||
color: var(--muted);
|
||
font-size: 13px;
|
||
}
|
||
.keywords { font-size: 13px; color: var(--muted); margin-top: 16px; }
|
||
a { color: var(--accent); }
|
||
</style>
|
||
</head>
|
||
<body>
|
||
<div class="preview-banner">
|
||
{{ __('Private Vorschau – Link gültig bis :date', ['date' => $expiresAt?->format('d.m.Y H:i')]) }}
|
||
</div>
|
||
|
||
<main class="container">
|
||
<h1>{{ $pressRelease->title }}</h1>
|
||
|
||
<div class="meta">
|
||
@if($pressRelease->company)
|
||
<strong>{{ $pressRelease->company->name }}</strong>
|
||
·
|
||
@endif
|
||
@if($pressRelease->category)
|
||
{{ $pressRelease->category->translations->firstWhere('locale', $pressRelease->language)?->name ?? '–' }}
|
||
·
|
||
@endif
|
||
{{ $pressRelease->created_at?->format('d.m.Y') }}
|
||
</div>
|
||
|
||
@if($pressRelease->images->isNotEmpty())
|
||
<div class="images">
|
||
@foreach($pressRelease->images as $image)
|
||
@if($image->variantUrl('medium') ?? $image->url())
|
||
<img src="{{ $image->variantUrl('medium') ?? $image->url() }}" alt="{{ $image->title ?? $pressRelease->title }}" loading="lazy">
|
||
@endif
|
||
@endforeach
|
||
</div>
|
||
@endif
|
||
|
||
<div class="body">{!! nl2br(e($pressRelease->text)) !!}</div>
|
||
|
||
@if($pressRelease->keywords)
|
||
<p class="keywords"><strong>{{ __('Stichwörter') }}:</strong> {{ $pressRelease->keywords }}</p>
|
||
@endif
|
||
|
||
<div class="footer">
|
||
{{ __('Status') }}: {{ $pressRelease->status->label() }}
|
||
@if($pressRelease->backlink_url)
|
||
· <a href="{{ $pressRelease->backlink_url }}" rel="nofollow noopener" target="_blank">{{ $pressRelease->backlink_url }}</a>
|
||
@endif
|
||
</div>
|
||
</main>
|
||
</body>
|
||
</html>
|