|
- {{template "head.html" .}}
- {{template "nav.html" .}}
-
- {{define "message-part-tree"}}
- {{/* nested templates can't access the parent's context */}}
- {{$ = index . 0}}
- {{with index . 1}}
- <a
- class="nav-link"
- {{if .IsText}}
- href="{{$.Message.URL}}?part={{.PathString}}"
- {{else}}
- href="{{$.Message.URL}}/raw?part={{.PathString}}"
- {{end}}
- >
- {{if eq $.Part.PathString .PathString}}<strong>{{end}}
- {{.String}}
- {{if eq $.Part.PathString .PathString}}</strong>{{end}}
- </a>
- {{if gt (len .Children) 0}}
- <ul class="nav flex-column">
- {{range .Children}}
- <li class="nav-item">{{template "message-part-tree" (tuple $ .)}}</li>
- {{end}}
- </ul>
- {{end}}
- {{end}}
- {{end}}
-
- <div class="page-wrap">
- {{$current := .Mailbox}}
- <aside>
- <!-- the logo image, dimensions 200x32 may be present or not -->
- <a href="/compose" class="new">Compose Mail</a>
- {{$current := .Mailbox}}
- {{range .Mailboxes}}
- <a href="{{.URL}}"
- {{ if eq $current.Name .Name }}class="active"{{ end }}>
- {{ if eq .Name "INBOX" }}
- Inbox
- {{else}}
- {{.Name}}
- {{end}}
- {{ if eq $current.Name .Name }}
- {{ if $current.Unseen }}({{ $current.Unseen }}){{ end }}
- {{ end }}
- </a>
- {{end}}
- </aside>
-
- <div class="container">
- <main class="message">
- <section class="actions">
- <div class="actions-wrap">
- <div class="actions-message">
- {{$back := printf "%v?page=%v" .Mailbox.URL .MailboxPage}}
- <a href="{{$back}}" class="button-link">« Back</a>
-
- {{ if and (ne .Mailbox.Name "Archive") (ne .Mailbox.Name "Drafts") (ne .Mailbox.Name "Sent") }}
- <form class="action-group" method="post" action="/message/{{.Mailbox.Name | pathescape}}/move">
- <input type="hidden" name="uids" value="{{.Message.Uid}}">
- <input type="hidden" name="to" value="Archive">
- <input type="hidden" name="next" value="{{$back}}">
- <button>Archive</button>
- </form>
- {{ end }}
-
- {{ if and (ne .Mailbox.Name "INBOX") (ne .Mailbox.Name "Sent") (ne .Mailbox.Name "Drafts") }}
- <form class="action-group" method="post" action="/message/{{.Mailbox.Name | pathescape}}/move">
- <input type="hidden" name="uids" value="{{.Message.Uid}}">
- <input type="hidden" name="to" value="INBOX">
- <button>
- {{ if (eq .Mailbox.Name "Junk") }}
- Not Spam
- {{ else }}
- Move to Inbox
- {{ end }}
- </button>
- </form>
- {{ end }}
-
- {{ if or (eq .Mailbox.Name "INBOX") (eq .Mailbox.Name "Trash") }}
- <form class="action-group" method="post" action="/message/{{.Mailbox.Name | pathescape}}/move">
- <input type="hidden" name="uids" value="{{.Message.Uid}}">
- <input type="hidden" name="next" value="{{$back}}">
- <input type="hidden" name="to" value="Junk">
- <button>Report Spam</button>
- </form>
- {{ end }}
-
- {{ if or (eq .Mailbox.Name "Trash") (eq .Mailbox.Name "Junk") }}
- <form class="action-group" method="post" action="/message/{{.Mailbox.Name | pathescape}}/delete">
- <input type="hidden" name="uids" value="{{.Message.Uid}}">
- <input type="hidden" name="next" value="{{$back}}">
- <button>Delete Permanently</button>
- </form>
- {{ else }}
- <form class="action-group" method="post" action="/message/{{.Mailbox.Name | pathescape}}/move">
- <input type="hidden" name="uids" value="{{.Message.Uid}}">
- <input type="hidden" name="next" value="{{$back}}">
- <input type="hidden" name="to" value="Trash">
- <button>Delete</button>
- </form>
- {{ end }}
-
- <form class="action-group" method="post" action="/message/{{.Mailbox.Name | pathescape}}/flag">
- <input type="hidden" name="uids" value="{{.Message.Uid}}">
- <input type="hidden" name="action" value="remove">
- <input type="hidden" name="flags" value="\Seen">
- <input type="hidden" name="next" value="{{$back}}">
- <button>Mark Unread</button>
- </form>
-
- <form class="action-group" method="post" action="/message/{{.Mailbox.Name | pathescape}}/move">
- <input type="hidden" name="uids" value="{{.Message.Uid}}">
- <select class="action-group" name="to">
- {{range .Mailboxes}}
- <option value="{{.Name}}" {{if eq .Name $.Mailbox.Name}}selected>Move to...{{else}}>{{.Name}}{{ end }}</option>
- {{end}}
- </select>
- <button class="action-group" type="submit">Move</button>
- </form>
-
- <span class="followups">
- {{if .Message.HasFlag "\\Draft"}}
- <a class="action-group button-link" href="{{.Message.URL}}/edit?part={{.Message.TextPartName}}">Edit draft</a>
- {{else}}
- <a class="action-group button-link" href="{{.Message.URL}}/reply?part={{.Message.TextPartName}}">Reply</a>
- <a class="action-group button-link" href="{{.Message.URL}}/forward?part={{.Message.TextPartName}}">Forward</a>
- {{end}}
- </span>
- </div>
- </div>
- </section>
-
- <div class="message-header">
- <table>
- <tr>
- <th colspan="2">
- <h1>
- {{if .Message.Envelope.Subject}}
- {{.Message.Envelope.Subject}}
- {{else}}
- (No subject)
- {{end}}
- </h1>
- </th>
- </tr>
- <tr>
- <th>From:</th>
- <td>{{template "addr-list" .Message.Envelope.From}}</td>
- </tr>
- <tr>
- <th>Date:</th>
- <td>{{.Message.Envelope.Date | formatdate}}</td>
- </tr>
- <tr>
- <th>To:</th><td>{{template "addr-list" .Message.Envelope.To}}</td>
- </tr>
- {{if .Message.Envelope.Cc}}
- <tr>
- <th>Cc:</th><td>{{template "addr-list" .Message.Envelope.Cc}}</td>
- </tr>
- {{end}}
- {{if .Message.Envelope.Bcc}}
- <tr>
- <th>Bcc:</th>
- <td>{{template "addr-list" .Message.Envelope.Bcc}}</td>
- </tr>
- {{ end }}
- </table>
- <section class="parts">
- {{template "message-part-tree" (tuple $ .Message.PartTree)}}
- </section>
- </div>
-
- {{define "addr-list"}}
- {{range $i, $addr := .}}
- {{if $i}},{{end}}
- <strong>{{.PersonalName}}</strong>
- <<a href="/compose?to={{.Address}}">{{.Address}}</a>>
- {{end}}
- {{end}}
-
- {{if .View}}
- {{.View}}
- {{else}}
- <p>Can't preview this message part.</p>
- <a href="{{.Message.Uid}}/raw?part={{.Part.PathString}}">Download</a>
- {{end}}
- </main>
- </div>
- </div>
-
- {{template "foot.html"}}
|