presseportale/resources/views/press-release-preview.blade.php
Kevin Adametz 5b8bdf4182
Some checks are pending
linter / quality (push) Waiting to run
tests / ci (push) Waiting to run
12-05-2026 Frontend dev
2026-05-12 18:32:33 +02:00

136 lines
4.5 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="{{ 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>