example-mailbox: v5

This commit is contained in:
Yoshua Wuyts
2016-05-13 16:48:46 +07:00
parent ac73adb4bf
commit 32ae62d655
11 changed files with 169 additions and 39 deletions
+40
View File
@@ -0,0 +1,40 @@
const dateformat = require('dateformat')
const choo = require('../../../')
module.exports = function (params, state, send) {
const mailbox = params.mailbox
return choo.view`
<div>
${createHeader()}
${state[mailbox + ':messages'].map(function (msg) {
return createMessage(msg, mailbox)
})}
</div>
`
}
function createHeader () {
return choo.view`
<div class="db cf w-100">
<div class="fl mb3 w-25 mt0 b">Date</th>
<div class="fl mb3 w-25 mt0 b">Subject</th>
<div class="fl mb3 w-25 mt0 b">From</th>
<div class="fl mb3 w-25 mt0 b">To</th>
</div>
`
}
function createMessage (message, mailbox) {
return choo.view`
<div class="db cf w-100">
<a href="${'/' + mailbox + '/' + message.id}">
<div class="fl mb3 w-25 f6 link">
${dateformat(message.date, 'mmmm dS')}
</div>
<div class="fl mb3 w-25 f6 link">${message.subject}</div>
<div class="fl mb3 w-25 f6 link">${message.from}</div>
<div class="fl mb3 w-25 f6 link">${message.to}</div>
</a>
</div>
`
}