diff --git a/backend/00-router.go b/backend/00-router.go
index ec04817..13c0c42 100644
--- a/backend/00-router.go
+++ b/backend/00-router.go
@@ -6,6 +6,7 @@ import (
"errors"
"fmt"
"html"
+ "io"
"net/http"
"net/mail"
"net/url"
@@ -306,8 +307,10 @@ func emailBoxHandler(w http.ResponseWriter, r *http.Request) {
switch kind {
case "source":
if r.Header.Get("HX-Request") == "true" {
+ selected := selectedSourceAccount(accounts, r.URL.Query().Get("source"))
w.Header().Set("Content-Type", "text/html; charset=utf-8")
- fmt.Fprint(w, renderEmailBoxSourcePane(accounts, r.URL.Query().Get("source")))
+ fmt.Fprint(w, renderEmailBoxSourcePane(accounts, selected.Name))
+ fmt.Fprintf(w, `
%s
`, renderInitialSourceMailboxList(selected))
return
}
renderSourceEmailBoxPage(w, r, accounts, r.URL.Query().Get("source"))
@@ -847,6 +850,7 @@ func renderTransferPage(w http.ResponseWriter, r *http.Request, mode transferMod
func renderSourceEmailBoxPage(w http.ResponseWriter, r *http.Request, accounts []Account, selected string) {
user := CurrentUser(r)
+ selectedAccount := selectedSourceAccount(accounts, selected)
w.Header().Set("Content-Type", "text/html; charset=utf-8")
fmt.Fprintf(w, `
@@ -879,12 +883,12 @@ func renderSourceEmailBoxPage(w http.ResponseWriter, r *http.Request, accounts [
-
Nachrichten
Quell-Postfach waehlen.
+
`,
- renderRibbonEmailBoxMenu("source"), renderRibbonTransferMenu(""), renderRibbonActions(false, user), renderEmailBoxSourcePane(accounts, selected))
+ renderRibbonEmailBoxMenu("source"), renderRibbonTransferMenu(""), renderRibbonActions(false, user), renderEmailBoxSourcePane(accounts, selectedAccount.Name), renderInitialSourceMailboxList(selectedAccount))
}
func renderTargetEmailBoxPage(w http.ResponseWriter, r *http.Request, accounts []Account) {
@@ -936,15 +940,7 @@ func renderEmailBoxSourcePane(accounts []Account, selected string) string {
b.WriteString(`Quell-Postfach
Keine Quell-Postfaecher eingetragen.
`)
return b.String()
}
- selectedAccount := sourceAccounts[0]
- if selected != "" {
- for _, a := range sourceAccounts {
- if a.Name == selected {
- selectedAccount = a
- break
- }
- }
- }
+ selectedAccount := selectedSourceAccount(accounts, selected)
b.WriteString(`