A webmail client. Forked from https://git.sr.ht/~migadu/alps
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

44 lines
799 B

  1. package alpsbase
  2. import (
  3. "html/template"
  4. "net/url"
  5. "time"
  6. "github.com/emersion/go-imap"
  7. )
  8. var templateFuncs = template.FuncMap{
  9. "tuple": func(values ...interface{}) []interface{} {
  10. return values
  11. },
  12. "pathescape": func(s string) string {
  13. return url.PathEscape(s)
  14. },
  15. "formatdate": func(t time.Time) string {
  16. return t.Format("Mon Jan 02 15:04")
  17. },
  18. "formatflag": func(flag string) string {
  19. switch flag {
  20. case imap.SeenFlag:
  21. return "Seen"
  22. case imap.AnsweredFlag:
  23. return "Answered"
  24. case imap.FlaggedFlag:
  25. return "Starred"
  26. case imap.DraftFlag:
  27. return "Draft"
  28. default:
  29. return flag
  30. }
  31. },
  32. "ismutableflag": func(flag string) bool {
  33. switch flag {
  34. case imap.AnsweredFlag, imap.DeletedFlag, imap.DraftFlag:
  35. return false
  36. default:
  37. return true
  38. }
  39. },
  40. }