diff options
-rw-r--r-- | public/compose.html | 24 | ||||
-rw-r--r-- | public/mailbox.html | 4 | ||||
-rw-r--r-- | public/message.html | 4 | ||||
-rw-r--r-- | server.go | 8 |
4 files changed, 38 insertions, 2 deletions
diff --git a/public/compose.html b/public/compose.html new file mode 100644 index 0000000..8253eeb --- /dev/null +++ b/public/compose.html @@ -0,0 +1,24 @@ +{{template "head"}} + +<h1>koushin</h1> + +<p> + <a href="/mailbox/INBOX">Back</a> +</p> + +<h2>Compose new message</h2> + +<form method="post" action="/compose"> + <p>From:</p> + <input type="text" name="from"> + <p>To:</p> + <input type="text" name="to"> + <p>Subject:</p> + <input type="text" name="subject"> + <p>Body:</p> + <textarea name="text" cols="80" rows="20"></textarea> + <br><br> + <input type="submit" value="Send"> +</form> + +{{template "foot"}} diff --git a/public/mailbox.html b/public/mailbox.html index c4ff097..303bdb4 100644 --- a/public/mailbox.html +++ b/public/mailbox.html @@ -2,7 +2,9 @@ <h1>koushin</h1> -<a href="/logout">Logout</a> +<p> + <a href="/logout">Logout</a> ยท <a href="/compose">Compose</a> +</p> <h2>{{.Mailbox.Name}}</h2> diff --git a/public/message.html b/public/message.html index 09e56ac..cb9518b 100644 --- a/public/message.html +++ b/public/message.html @@ -2,7 +2,9 @@ <h1>koushin</h1> -<a href="/mailbox/{{.Mailbox.Name}}">Back</a> +<p> + <a href="/mailbox/{{.Mailbox.Name}}">Back</a> +</p> <h2>{{.Message.Envelope.Subject}}</h2> @@ -154,6 +154,11 @@ func handleGetPart(ctx *context, raw bool) error { }) } +func handleCompose(ectx echo.Context) error { + ctx := ectx.(*context) + return ctx.Render(http.StatusOK, "compose.html", nil) +} + func New(imapURL string) *echo.Echo { e := echo.New() @@ -247,6 +252,9 @@ func New(imapURL string) *echo.Echo { return ctx.Redirect(http.StatusFound, "/login") }) + e.GET("/compose", handleCompose) + e.POST("/compose", handleCompose) + e.Static("/assets", "public/assets") return e |