Commits vergleichen

...

2 Commits

Autor SHA1 Nachricht Datum
bfa4d5fd78 Promote develop → main (2026-04-29 20:28 UTC) 2026-04-29 22:28:31 +02:00
AegisSight Dev
682828ea58 Update-Meldungen folgen Theme, korrekte Umlaute
Banner und Was-ist-neu-Modal nutzen jetzt CSS-Variablen
(--bg-card, --text-primary, --accent etc.) statt fester
Dark-Mode-Farben, damit sie sich automatisch dem Hell-/Dunkelmodus
anpassen. RELEASES.json: alte ae/oe/ue-Schreibweisen auf echte
Umlaute umgestellt + neuer Eintrag fuer diesen Fix.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-29 20:19:02 +00:00
2 geänderte Dateien mit 42 neuen und 26 gelöschten Zeilen

Datei anzeigen

@@ -1,4 +1,13 @@
[ [
{
"version": "2026-04-29T22:30Z",
"date": "2026-04-29",
"title": "Update-Meldungen folgen Hell-/Dunkelmodus, korrekte Umlaute",
"items": [
"Banner und „Was ist neu?“-Modal nutzen jetzt die Theme-Variablen und passen sich automatisch dem aktiven Hell- oder Dunkelmodus an",
"Ältere Release-Einträge mit ae/oe/ue-Schreibweise wurden auf korrekte Umlaute umgestellt"
]
},
{ {
"version": "2026-04-29T20:10Z", "version": "2026-04-29T20:10Z",
"date": "2026-04-29", "date": "2026-04-29",
@@ -12,8 +21,8 @@
"date": "2026-04-26", "date": "2026-04-26",
"title": "Update-Modal kommt jetzt auch beim ersten Besuch", "title": "Update-Modal kommt jetzt auch beim ersten Besuch",
"items": [ "items": [
"Beim ersten Login nach einer Aktualisierung erscheint die Was-ist-neu-Uebersicht jetzt automatisch", "Beim ersten Login nach einer Aktualisierung erscheint die Was-ist-neu-Übersicht jetzt automatisch",
"Fuer Kunden-Onboarding: erste Highlights werden direkt sichtbar" "Für Kunden-Onboarding: erste Highlights werden direkt sichtbar"
] ]
}, },
{ {
@@ -28,9 +37,9 @@
{ {
"version": "5473ba3", "version": "5473ba3",
"date": "2026-04-26", "date": "2026-04-26",
"title": "Update-System eingefuehrt", "title": "Update-System eingeführt",
"items": [ "items": [
"Updates beruehren ab jetzt nie mehr die Faelle oder Daten", "Updates berühren ab jetzt nie mehr die Fälle oder Daten",
"Beim Promote landet eine 'Was ist neu'-Info hier", "Beim Promote landet eine 'Was ist neu'-Info hier",
"Strukturelle Trennung von Live- und Staging-Datenbank" "Strukturelle Trennung von Live- und Staging-Datenbank"
] ]

Datei anzeigen

@@ -44,14 +44,19 @@
} }
// ---- Styles inline injecten (kein zusaetzlicher CSS-File noetig) ---- // ---- Styles inline injecten (kein zusaetzlicher CSS-File noetig) ----
// Nutzt die globalen Theme-Variablen aus style.css, damit Banner und
// Modal automatisch dem Hell-/Dunkelmodus folgen.
function injectStyles() { function injectStyles() {
if (document.getElementById('aegis-update-styles')) return; if (document.getElementById('aegis-update-styles')) return;
const css = ` const css = `
#aegis-update-banner { #aegis-update-banner {
position: fixed; bottom: 24px; right: 24px; z-index: 99999; position: fixed; bottom: 24px; right: 24px; z-index: 99999;
background: linear-gradient(135deg, #C8A851, #D4B96A); background: var(--bg-card);
color: #0A1832; padding: 14px 18px; border-radius: 10px; color: var(--text-primary);
box-shadow: 0 8px 32px rgba(10,24,50,0.4); border: 1px solid var(--border);
border-left: 4px solid var(--accent);
padding: 14px 18px; border-radius: 10px;
box-shadow: 0 8px 32px rgba(0,0,0,0.25);
font-family: 'Inter', -apple-system, sans-serif; font-size: 0.92rem; font-family: 'Inter', -apple-system, sans-serif; font-size: 0.92rem;
display: flex; align-items: center; gap: 12px; max-width: 380px; display: flex; align-items: center; gap: 12px; max-width: 380px;
animation: aegis-slide-in 0.4s cubic-bezier(0.4,0,0.2,1); animation: aegis-slide-in 0.4s cubic-bezier(0.4,0,0.2,1);
@@ -60,57 +65,59 @@
from { transform: translateX(420px); opacity: 0; } from { transform: translateX(420px); opacity: 0; }
to { transform: translateX(0); opacity: 1; } to { transform: translateX(0); opacity: 1; }
} }
#aegis-update-banner b { font-weight: 700; } #aegis-update-banner b { font-weight: 700; color: var(--accent); }
#aegis-update-banner button { #aegis-update-banner button {
background: #0A1832; color: #C8A851; border: 0; padding: 7px 14px; background: var(--accent); color: #fff; border: 0; padding: 7px 14px;
border-radius: 6px; font: inherit; font-size: 0.86rem; font-weight: 600; border-radius: 6px; font: inherit; font-size: 0.86rem; font-weight: 600;
cursor: pointer; flex-shrink: 0; cursor: pointer; flex-shrink: 0;
} }
#aegis-update-banner button:hover { background: #132844; } #aegis-update-banner button:hover { background: var(--accent-hover); }
#aegis-update-banner .close { #aegis-update-banner .close {
background: transparent; color: #0A1832; opacity: 0.6; padding: 0 4px; background: transparent; color: var(--text-secondary); padding: 0 4px;
font-size: 1.2rem; line-height: 1; font-size: 1.2rem; line-height: 1;
} }
#aegis-update-banner .close:hover { opacity: 1; background: transparent; } #aegis-update-banner .close:hover { color: var(--text-primary); background: transparent; }
#aegis-update-modal-overlay { #aegis-update-modal-overlay {
position: fixed; inset: 0; background: rgba(10,24,50,0.75); z-index: 99998; position: fixed; inset: 0; background: rgba(0,0,0,0.55); z-index: 99998;
backdrop-filter: blur(3px); backdrop-filter: blur(3px);
display: flex; align-items: center; justify-content: center; padding: 24px; display: flex; align-items: center; justify-content: center; padding: 24px;
animation: aegis-fade-in 0.25s ease; animation: aegis-fade-in 0.25s ease;
} }
@keyframes aegis-fade-in { from { opacity: 0; } to { opacity: 1; } } @keyframes aegis-fade-in { from { opacity: 0; } to { opacity: 1; } }
#aegis-update-modal { #aegis-update-modal {
background: #132844; color: #E8E8E8; border-radius: 14px; background: var(--bg-card);
border: 1px solid rgba(200,168,81,0.25); color: var(--text-primary);
box-shadow: 0 24px 80px rgba(0,0,0,0.5); border-radius: 14px;
border: 1px solid var(--border);
box-shadow: 0 24px 80px rgba(0,0,0,0.4);
font-family: 'Inter', -apple-system, sans-serif; font-family: 'Inter', -apple-system, sans-serif;
max-width: 540px; width: 100%; max-height: 80vh; overflow: hidden; max-width: 540px; width: 100%; max-height: 80vh; overflow: hidden;
display: flex; flex-direction: column; display: flex; flex-direction: column;
} }
#aegis-update-modal header { #aegis-update-modal header {
padding: 22px 28px 18px; border-bottom: 1px solid rgba(200,168,81,0.15); padding: 22px 28px 18px; border-bottom: 1px solid var(--border);
} }
#aegis-update-modal h2 { margin: 0 0 4px; color: #C8A851; font-size: 1.25rem; font-weight: 700; } #aegis-update-modal h2 { margin: 0 0 4px; color: var(--accent); font-size: 1.25rem; font-weight: 700; }
#aegis-update-modal header p { margin: 0; color: #A0A8B8; font-size: 0.88rem; } #aegis-update-modal header p { margin: 0; color: var(--text-secondary); font-size: 0.88rem; }
#aegis-update-modal .body { padding: 8px 28px; overflow-y: auto; } #aegis-update-modal .body { padding: 8px 28px; overflow-y: auto; }
.aegis-release { padding: 16px 0; border-bottom: 1px solid rgba(255,255,255,0.06); } .aegis-release { padding: 16px 0; border-bottom: 1px solid var(--border); }
.aegis-release:last-child { border: 0; } .aegis-release:last-child { border: 0; }
.aegis-release-head { display: flex; align-items: baseline; gap: 12px; margin-bottom: 8px; } .aegis-release-head { display: flex; align-items: baseline; gap: 12px; margin-bottom: 8px; }
.aegis-release-title { font-size: 1rem; font-weight: 600; color: #E8E8E8; } .aegis-release-title { font-size: 1rem; font-weight: 600; color: var(--text-primary); }
.aegis-release-date { font-size: 0.78rem; color: #5A6478; } .aegis-release-date { font-size: 0.78rem; color: var(--text-tertiary); }
.aegis-release-items { margin: 0; padding-left: 20px; color: #C0C8D8; font-size: 0.92rem; line-height: 1.6; } .aegis-release-items { margin: 0; padding-left: 20px; color: var(--text-secondary); font-size: 0.92rem; line-height: 1.6; }
.aegis-release-items li { margin-bottom: 4px; } .aegis-release-items li { margin-bottom: 4px; }
#aegis-update-modal footer { #aegis-update-modal footer {
padding: 16px 28px 20px; border-top: 1px solid rgba(200,168,81,0.15); padding: 16px 28px 20px; border-top: 1px solid var(--border);
display: flex; justify-content: flex-end; display: flex; justify-content: flex-end;
} }
#aegis-update-modal footer button { #aegis-update-modal footer button {
background: #C8A851; color: #0A1832; border: 0; padding: 10px 22px; background: var(--accent); color: #fff; border: 0; padding: 10px 22px;
border-radius: 6px; font: inherit; font-size: 0.92rem; font-weight: 600; border-radius: 6px; font: inherit; font-size: 0.92rem; font-weight: 600;
cursor: pointer; cursor: pointer;
} }
#aegis-update-modal footer button:hover { background: #D4B96A; } #aegis-update-modal footer button:hover { background: var(--accent-hover); }
@media (max-width: 600px) { @media (max-width: 600px) {
#aegis-update-banner { left: 12px; right: 12px; bottom: 12px; max-width: none; } #aegis-update-banner { left: 12px; right: 12px; bottom: 12px; max-width: none; }