From 9a4aade072f77f88f635ee68f4125332851c3b6a Mon Sep 17 00:00:00 2001 From: DonVoo Date: Mon, 13 Jul 2026 11:55:52 +0200 Subject: [PATCH] Add secondary mail action bar --- backend/00-router.go | 32 ++++++++--------- frontend-js/dist/app.js | 33 ++++++++++++++++++ frontend-js/dist/style.css | 71 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 120 insertions(+), 16 deletions(-) diff --git a/backend/00-router.go b/backend/00-router.go index dab5922..c3bee26 100644 --- a/backend/00-router.go +++ b/backend/00-router.go @@ -73,8 +73,8 @@ func renderStartPage(w http.ResponseWriter, r *http.Request) { fmt.Fprintf(w, ` Mail-Graveyard - - + +
@@ -121,9 +121,9 @@ func renderShell(w http.ResponseWriter, r *http.Request, active, readingPane str fmt.Fprintf(w, ` Mail-Graveyard - + - +
@@ -697,9 +697,9 @@ func renderAccountsPage(w http.ResponseWriter, r *http.Request, accounts []Accou fmt.Fprintf(w, ` Konten-Verwaltung - Mail-Graveyard - + - +
@@ -743,9 +743,9 @@ func renderArchivesPage(w http.ResponseWriter, r *http.Request, archives []strin fmt.Fprintf(w, ` Archiv-mbox Verwaltung - Mail-Graveyard - + - +
@@ -791,9 +791,9 @@ func renderUsersPage(w http.ResponseWriter, r *http.Request, users []AppUser, ed fmt.Fprintf(w, ` Benutzerverwaltung - Mail-Graveyard - + - +
@@ -865,9 +865,9 @@ func renderTransferPage(w http.ResponseWriter, r *http.Request, mode transferMod fmt.Fprintf(w, ` %s - Mail-Graveyard - + - +
@@ -1317,9 +1317,9 @@ func renderSourceEmailBoxPage(w http.ResponseWriter, r *http.Request, accounts [ fmt.Fprintf(w, ` Quell-Postfach - Mail-Graveyard - + - +
@@ -1361,9 +1361,9 @@ func renderTargetEmailBoxPage(w http.ResponseWriter, r *http.Request, accounts [ fmt.Fprintf(w, ` Ziel-Postfach - Mail-Graveyard - + - +
diff --git a/frontend-js/dist/app.js b/frontend-js/dist/app.js index 9da997a..dffa2e4 100644 --- a/frontend-js/dist/app.js +++ b/frontend-js/dist/app.js @@ -1,3 +1,36 @@ +(function () { + function ensureActionBar() { + const ribbon = document.querySelector(".ribbon"); + if (!ribbon || document.querySelector(".mail-actionbar")) return; + + const bar = document.createElement("div"); + bar.className = "mail-actionbar"; + bar.innerHTML = ` + + + + + + + + + + + + + `; + ribbon.insertAdjacentElement("afterend", bar); + } + + document.addEventListener("DOMContentLoaded", ensureActionBar); + document.addEventListener("click", (event) => { + if (event.target.closest("[data-action-refresh]")) window.location.reload(); + }); +})(); + (function () { const handleWidth = 6; diff --git a/frontend-js/dist/style.css b/frontend-js/dist/style.css index 2ff9bdc..3a84f72 100644 --- a/frontend-js/dist/style.css +++ b/frontend-js/dist/style.css @@ -167,6 +167,77 @@ body.ol2013 { border-left-color: var(--ol-blue); font-weight: 600; } +.mail-actionbar { + height: 38px; + flex: 0 0 auto; + background: #2f343a; + color: #f3f5f7; + display: flex; + align-items: center; + gap: 8px; + padding: 0 10px; + border-bottom: 1px solid #20242a; + box-shadow: inset 0 -1px 0 rgba(255, 255, 255, .04); + overflow-x: auto; + overflow-y: hidden; + white-space: nowrap; +} +.action-search { + width: min(340px, 26vw); + min-width: 210px; + height: 30px; + display: inline-flex; + align-items: center; + gap: 8px; + padding: 0 10px; + color: #b8c0ca; + background: #3b4148; + border: 1px solid #5b626b; +} +.action-search input { + min-width: 0; + width: 100%; + border: 0; + outline: 0; + color: #fff; + background: transparent; + font: inherit; +} +.action-search input::placeholder { color: #c2c8d0; } +.action-btn { + height: 30px; + display: inline-flex; + align-items: center; + gap: 8px; + padding: 0 10px; + border: 1px solid transparent; + color: #f6f8fb; + background: transparent; + font: inherit; + cursor: pointer; +} +.action-btn:hover { + background: #454b53; + border-color: #5b626b; +} +.action-btn.primary { + background: #f28c22; + border-color: #f28c22; + color: #fff; + font-weight: 600; +} +.action-btn.primary:hover { + background: #ff9d34; + border-color: #ff9d34; +} +.action-btn.muted { color: #aeb6c0; } +.action-separator { + width: 1px; + height: 26px; + background: #555c65; + margin: 0 4px; + flex: 0 0 auto; +} .mail-logo { position: relative; width: 17px;