feat: Sync/Clone-Modus, Rotation, --setup Deployment, Scheduler-Fix, Dashboard-Updates, README
This commit is contained in:
@@ -101,7 +101,21 @@
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.messages { display: grid; gap: 10px; }
|
||||
.flash-overlay {
|
||||
position: fixed;
|
||||
top: 18px;
|
||||
right: 18px;
|
||||
z-index: 1200;
|
||||
display: grid;
|
||||
gap: 10px;
|
||||
max-width: min(92vw, 360px);
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.flash-overlay.hidden {
|
||||
opacity: 0;
|
||||
transition: opacity 220ms ease;
|
||||
}
|
||||
|
||||
.msg {
|
||||
margin: 0;
|
||||
@@ -109,6 +123,8 @@
|
||||
border-radius: 12px;
|
||||
font-weight: 600;
|
||||
font-size: 14px;
|
||||
box-shadow: 0 10px 24px rgba(30, 42, 59, 0.16);
|
||||
pointer-events: auto;
|
||||
}
|
||||
|
||||
.msg.success {
|
||||
@@ -240,11 +256,18 @@
|
||||
|
||||
{% with messages = get_flashed_messages(with_categories=true) %}
|
||||
{% if messages %}
|
||||
<section class="panel content messages">
|
||||
<div id="flash-overlay" class="flash-overlay" role="status" aria-live="polite">
|
||||
{% for category, message in messages %}
|
||||
<p class="msg {{ category }}">{{ message }}</p>
|
||||
{% endfor %}
|
||||
</section>
|
||||
</div>
|
||||
<script>
|
||||
window.addEventListener('DOMContentLoaded', () => {
|
||||
const overlay = document.getElementById('flash-overlay');
|
||||
if (!overlay) return;
|
||||
window.setTimeout(() => overlay.classList.add('hidden'), 3000);
|
||||
});
|
||||
</script>
|
||||
{% endif %}
|
||||
{% endwith %}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user