119 lines
3.5 KiB
HTML
119 lines
3.5 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="de">
|
||
<head>
|
||
<meta charset="UTF-8">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover">
|
||
<title>Link nicht mehr gültig – Mein Kochbuch</title>
|
||
<link rel="stylesheet" href="/static/cookbook.css?v=4.7.1">
|
||
<link rel="icon" href="data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 100 100%22><text y=%22.9em%22 font-size=%2290%22>⏳</text></svg>">
|
||
<style>
|
||
.expired-page-wrapper {
|
||
min-height: 80vh;
|
||
display: flex;
|
||
align-items: center;
|
||
justify-content: center;
|
||
padding: 24px 16px;
|
||
}
|
||
.expired-card {
|
||
background: var(--creme, #faf6f0);
|
||
border: 2.5px solid var(--schwarz, #2a2a2a);
|
||
border-radius: 16px;
|
||
box-shadow: 6px 6px 0px rgba(30, 77, 59, 0.4);
|
||
max-width: 520px;
|
||
width: 100%;
|
||
padding: 36px 28px;
|
||
text-align: center;
|
||
position: relative;
|
||
}
|
||
.expired-icon {
|
||
font-size: 3.5rem;
|
||
margin-bottom: 16px;
|
||
display: inline-block;
|
||
animation: float-gentle 3s ease-in-out infinite;
|
||
}
|
||
.expired-title {
|
||
font-family: var(--font-hand, 'Caveat', cursive);
|
||
font-size: 2.2rem;
|
||
color: var(--tannengruen, #1e4d3b);
|
||
margin: 0 0 14px 0;
|
||
line-height: 1.2;
|
||
}
|
||
.expired-desc {
|
||
font-size: 1.05rem;
|
||
color: #4a4a4a;
|
||
line-height: 1.6;
|
||
margin-bottom: 20px;
|
||
}
|
||
.expired-meta-box {
|
||
background: rgba(30, 77, 59, 0.07);
|
||
border: 1.5px dashed var(--tannengruen, #1e4d3b);
|
||
border-radius: 10px;
|
||
padding: 12px 16px;
|
||
font-size: 0.92rem;
|
||
color: var(--tannengruen, #1e4d3b);
|
||
margin-bottom: 24px;
|
||
}
|
||
.expired-actions {
|
||
display: flex;
|
||
justify-content: center;
|
||
gap: 12px;
|
||
flex-wrap: wrap;
|
||
}
|
||
@keyframes float-gentle {
|
||
0%, 100% { transform: translateY(0); }
|
||
50% { transform: translateY(-6px); }
|
||
}
|
||
</style>
|
||
</head>
|
||
<body class="cookbook-body">
|
||
|
||
<header class="cb-nav">
|
||
<div class="cb-nav-brand">
|
||
<span class="cb-brand-icon">📖</span>
|
||
<h1 class="cb-nav-title">Mein Kochbuch</h1>
|
||
</div>
|
||
</header>
|
||
|
||
<main class="expired-page-wrapper">
|
||
<div class="expired-card">
|
||
<div class="expired-icon">
|
||
{% if reason == 'revoked' %}🔒{% else %}⏳{% endif %}
|
||
</div>
|
||
|
||
<h2 class="expired-title">
|
||
{% if reason == 'revoked' %}
|
||
Freigabe wurde deaktiviert
|
||
{% elif reason == 'expired' %}
|
||
Rezept-Link ist abgelaufen
|
||
{% else %}
|
||
Link nicht gefunden
|
||
{% endif %}
|
||
</h2>
|
||
|
||
<p class="expired-desc">
|
||
{% if reason == 'revoked' %}
|
||
Dieser Share-Link wurde vom Ersteller des Rezepts vorzeitig zurückgezogen.
|
||
{% elif reason == 'expired' %}
|
||
Die zeitliche Gültigkeit für diesen geteilten Rezept-Link ist leider abgelaufen. Bitte frage die Person, die das Rezept geteilt hat, nach einem neuen Link.
|
||
{% else %}
|
||
Der aufgerufene Share-Link ist ungültig oder existiert nicht mehr.
|
||
{% endif %}
|
||
</p>
|
||
|
||
{% if share and share.expires_at_formatted and reason == 'expired' %}
|
||
<div class="expired-meta-box">
|
||
Ablaufzeitpunkt: <strong>{{ share.expires_at_formatted }} Uhr</strong>
|
||
</div>
|
||
{% endif %}
|
||
|
||
<div class="expired-actions">
|
||
<a href="/login" class="cb-btn cb-btn-green">
|
||
<span>📖</span> <span>Zum Kochbuch / Anmelden</span>
|
||
</a>
|
||
</div>
|
||
</div>
|
||
</main>
|
||
|
||
</body>
|
||
</html>
|