From 02bc8f68c92e7a3a559d9716c7689840e6c2a306 Mon Sep 17 00:00:00 2001 From: Drew DeVault Date: Wed, 13 May 2020 13:01:20 -0400 Subject: message view: add part switcher This also makes the appearance of HTML emails more consistent with plaintext ones. --- themes/alps/assets/style.css | 32 +++++++++++++- themes/alps/message.html | 101 ++++++++++++++++++++++++++++--------------- 2 files changed, 97 insertions(+), 36 deletions(-) diff --git a/themes/alps/assets/style.css b/themes/alps/assets/style.css index 4ef8661..9b885ad 100644 --- a/themes/alps/assets/style.css +++ b/themes/alps/assets/style.css @@ -152,11 +152,41 @@ main table td a { text-decoration: none; } main table td a:hover { text-decoration: underline; } -main.message pre { flex: 1 auto; padding: 1rem; white-space: pre-wrap; word-break: break-all; background-color: white; border: 1px solid #eee; max-width: 100% } main.message table { background-color: white; } main.message th { width: 5%;} main.message h1 { font-size: 1.2rem; padding: 0.5rem;} +main.message pre, +main.message iframe { + flex: 1 auto; + padding: 1rem; + margin: 1rem 0; + background-color: white; + border: 1px solid #eee; + max-width: 100%; +} + +main.message pre { + white-space: pre-wrap; + word-break: break-all; +} + +main.message .message-header { + display: flex; + flex-direction: row; +} + +main.message .message-header .parts { + margin-left: 0.3rem; + padding: 0.3rem 1rem; + background: white; + border-top: 1px solid #f2f2f2; +} + +main.message .message-header .parts ul { + margin-left: 1rem; +} + main.compose .actions { display: flex; flex-direction: row; diff --git a/themes/alps/message.html b/themes/alps/message.html index da4cb9e..7fbbd41 100644 --- a/themes/alps/message.html +++ b/themes/alps/message.html @@ -1,6 +1,32 @@ {{template "head.html" .}} {{template "nav.html" .}} +{{define "message-part-tree"}} + {{/* nested templates can't access the parent's context */}} + {{$ = index . 0}} + {{with index . 1}} + + {{if eq $.Part.PathString .PathString}}{{end}} + {{.String}} + {{if eq $.Part.PathString .PathString}}{{end}} + + {{if gt (len .Children) 0}} + + {{end}} + {{end}} +{{end}} +
{{$current := .Mailbox}}
- - - - - - - - - - - - - - - - {{if .Message.Envelope.Cc}} - - - - {{end}} - {{if .Message.Envelope.Bcc}} - - - - - {{ end }} -
-

- {{if .Message.Envelope.Subject}} - {{.Message.Envelope.Subject}} - {{else}} - (No subject) - {{end}} -

-
From:{{template "addr-list" .Message.Envelope.From}}
Date:{{.Message.Envelope.Date | formatdate}}
To:{{template "addr-list" .Message.Envelope.To}}
Cc:{{template "addr-list" .Message.Envelope.Cc}}
Bcc:{{template "addr-list" .Message.Envelope.Bcc}}
+
+ + + + + + + + + + + + + + + + {{if .Message.Envelope.Cc}} + + + + {{end}} + {{if .Message.Envelope.Bcc}} + + + + + {{ end }} +
+

+ {{if .Message.Envelope.Subject}} + {{.Message.Envelope.Subject}} + {{else}} + (No subject) + {{end}} +

+
From:{{template "addr-list" .Message.Envelope.From}}
Date:{{.Message.Envelope.Date | formatdate}}
To:{{template "addr-list" .Message.Envelope.To}}
Cc:{{template "addr-list" .Message.Envelope.Cc}}
Bcc:{{template "addr-list" .Message.Envelope.Bcc}}
+
+ {{template "message-part-tree" (tuple $ .Message.PartTree)}} +
+
{{define "addr-list"}} {{range $i, $addr := .}} -- cgit v1.2.3