presseportale/resources/views/press-release-preview.blade.php
Kevin Adametz d2ba22c0cf
Some checks failed
linter / quality (push) Has been cancelled
tests / ci (push) Has been cancelled
create PM v0.5
2026-05-20 19:14:39 +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">{!! $pressRelease->renderedText() !!}</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>