Fix: 503-Seite zeigt immer Update-Ansicht — PHP-FPM Neustart erzeugt keinen Maintenance-Context
parent
b48c74b676
commit
e23d9058ee
|
|
@ -3,15 +3,8 @@
|
|||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
@php
|
||||
$isMaintenance = file_exists(storage_path('framework/maintenance.php'))
|
||||
|| file_exists(storage_path('framework/down'))
|
||||
|| (isset($exception) && str_contains(strtolower(get_class($exception)), 'maintenance'));
|
||||
@endphp
|
||||
@if($isMaintenance)
|
||||
<meta http-equiv="refresh" content="3">
|
||||
@endif
|
||||
<title>{{ $isMaintenance ? 'Update läuft' : 'Nicht verfügbar' }} · CluBird</title>
|
||||
<title>Update läuft · CluBird</title>
|
||||
<style>
|
||||
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
|
||||
html, body {
|
||||
|
|
@ -45,20 +38,14 @@ $isMaintenance = file_exists(storage_path('framework/maintenance.php'))
|
|||
position: relative;
|
||||
width: 38px;
|
||||
height: 38px;
|
||||
background: linear-gradient(135deg, #6366f1, #4338ca);
|
||||
border-radius: 11px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
.logo-icon.update {
|
||||
background: linear-gradient(135deg, #6366f1, #4338ca);
|
||||
box-shadow: 0 0 20px rgba(99,102,241,.4);
|
||||
}
|
||||
.logo-icon.error {
|
||||
background: linear-gradient(135deg, #dc2626, #991b1b);
|
||||
box-shadow: 0 0 20px rgba(220,38,38,.3);
|
||||
}
|
||||
.logo-icon.update::after {
|
||||
.logo-icon::after {
|
||||
content: '';
|
||||
position: absolute;
|
||||
inset: -4px;
|
||||
|
|
@ -77,16 +64,6 @@ $isMaintenance = file_exists(storage_path('framework/maintenance.php'))
|
|||
border-top-color: #6366f1;
|
||||
animation: spin 1s linear infinite;
|
||||
}
|
||||
.error-icon {
|
||||
width: 44px; height: 44px;
|
||||
margin: 0 auto 24px;
|
||||
border-radius: 50%;
|
||||
background: rgba(220,38,38,.1);
|
||||
border: 1px solid rgba(220,38,38,.25);
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
@keyframes spin { to { transform: rotate(360deg); } }
|
||||
h1 { font-size: 17px; font-weight: 600; color: #e2e4ea; margin-bottom: 8px; letter-spacing: -.2px; }
|
||||
p { font-size: 13px; color: #4b5563; line-height: 1.65; }
|
||||
|
|
@ -114,62 +91,32 @@ $isMaintenance = file_exists(storage_path('framework/maintenance.php'))
|
|||
.dot:nth-child(2) { animation-delay: .2s; }
|
||||
.dot:nth-child(3) { animation-delay: .4s; }
|
||||
@keyframes pulse { 0%, 80%, 100% { opacity: .25; } 40% { opacity: 1; } }
|
||||
.code {
|
||||
display: inline-block;
|
||||
margin-top: 20px;
|
||||
font-size: 11px;
|
||||
color: #374151;
|
||||
background: #13151d;
|
||||
border: 1px solid #1e2130;
|
||||
border-radius: 6px;
|
||||
padding: 4px 10px;
|
||||
font-family: monospace;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="card">
|
||||
<div class="logo">
|
||||
<div class="logo-icon {{ $isMaintenance ? 'update' : 'error' }}">
|
||||
@if($isMaintenance)
|
||||
<div class="logo-icon">
|
||||
<svg viewBox="0 0 28 28" width="20" height="20" fill="none">
|
||||
<path d="M5 19 C5 19 8 10 15 9 C19 8 23 11 24 15" stroke="white" stroke-width="2.5" stroke-linecap="round"/>
|
||||
<path d="M5 19 C6.5 22 9 23.5 12 23.5 C15 23.5 18 22 19.5 19" stroke="white" stroke-width="2.5" stroke-linecap="round"/>
|
||||
<circle cx="19" cy="8" r="2" fill="white"/>
|
||||
</svg>
|
||||
@else
|
||||
<svg viewBox="0 0 28 28" width="20" height="20" fill="none">
|
||||
<path d="M5 19 C5 19 8 10 15 9 C19 8 23 11 24 15" stroke="white" stroke-width="2.5" stroke-linecap="round"/>
|
||||
<path d="M5 19 C6.5 22 9 23.5 12 23.5 C15 23.5 18 22 19.5 19" stroke="white" stroke-width="2.5" stroke-linecap="round"/>
|
||||
<circle cx="19" cy="8" r="2" fill="white"/>
|
||||
</svg>
|
||||
@endif
|
||||
</div>
|
||||
<span class="logo-text">Clu<span>Bird</span></span>
|
||||
</div>
|
||||
|
||||
@if($isMaintenance)
|
||||
<div class="spinner"></div>
|
||||
<h1>Update wird durchgeführt</h1>
|
||||
<p>Das System wird aktualisiert.<br>Diese Seite lädt automatisch neu.</p>
|
||||
|
||||
<div class="bar-track"><div class="bar-fill"></div></div>
|
||||
|
||||
<div class="dot-row">
|
||||
<div class="dot"></div>
|
||||
<div class="dot"></div>
|
||||
<div class="dot"></div>
|
||||
</div>
|
||||
@else
|
||||
<div class="error-icon">
|
||||
<svg width="20" height="20" viewBox="0 0 20 20" fill="none">
|
||||
<path d="M10 6v5" stroke="#f87171" stroke-width="1.8" stroke-linecap="round"/>
|
||||
<circle cx="10" cy="14" r="1" fill="#f87171"/>
|
||||
<path d="M10 2a8 8 0 1 1 0 16A8 8 0 0 1 10 2Z" stroke="#f87171" stroke-width="1.3"/>
|
||||
</svg>
|
||||
</div>
|
||||
<h1>Service nicht verfügbar</h1>
|
||||
<p>Der Server ist vorübergehend nicht erreichbar.<br>Bitte versuche es in Kürze erneut.</p>
|
||||
<div class="code">HTTP 503 · Service Unavailable</div>
|
||||
@endif
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
|||
Loading…
Reference in New Issue