example-mailbox: v2

This commit is contained in:
Yoshua Wuyts
2016-05-12 15:42:44 +07:00
parent 53a1e6026a
commit 1d14f9f26b
6 changed files with 70 additions and 23 deletions
+18 -3
View File
@@ -1,14 +1,29 @@
const choo = require('../../../')
const mailboxes = [ 'inbox', 'spam', 'sent' ]
module.exports = function (params, state, send) {
const mailbox = params.mailbox
return choo.view`
<aside>
<ul>
<li><h2>Mailboxes</h2></li>
<li>Inbox <span>${state.inboxCount}</span></li>
<li>Spam <span>${state.spamCount}</span></li>
<li>Sent Mail <span>${state.SentMailCount}</span></li>
${mailboxes.map(function (name) {
return createLi(name, state[name + ':messages'], mailbox)
})}
</ul>
</aside>
`
}
function createLi (mailbox, messages) {
return choo.view`
<li>
<a href="/${mailbox}">
${mailbox.charAt(0).toUpperCase() + mailbox.slice(1)}
<span>${messages}</span>
</a>
</li>
`
}