example-mailbox: v6

This commit is contained in:
Yoshua Wuyts
2016-05-14 10:44:44 +07:00
parent 32ae62d655
commit 1481cb0f6c
5 changed files with 38 additions and 54 deletions
+3 -7
View File
@@ -4,10 +4,6 @@ const sf = require('sheetify')
sf('css-wipe/dest/bundle') sf('css-wipe/dest/bundle')
sf('tachyons') sf('tachyons')
const mailboxView = require('./views/mailbox')
const emailView = require('./views/email')
const emptyView = require('./views/empty')
const app = choo() const app = choo()
app.model('inbox', require('./models/inbox')) app.model('inbox', require('./models/inbox'))
@@ -15,10 +11,10 @@ app.model('spam', require('./models/spam'))
app.model('sent', require('./models/sent')) app.model('sent', require('./models/sent'))
app.router((route) => [ app.router((route) => [
route('/', emptyView()), route('/', require('./views/empty')),
route('/:mailbox', [ route('/:mailbox', [
route('/', mailboxView()), route('/', require('./views/mailbox')),
route('/:message', emailView()) route('/:message', require('./views/email'))
]) ])
]) ])
+4 -10
View File
@@ -5,22 +5,16 @@ module.exports = function (params, state, send) {
const mailbox = params.mailbox const mailbox = params.mailbox
return choo.view` return choo.view`
<div> <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="db cf w-100">
<div class="fl mb3 w-25 mt0 b">Date</th> <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">Subject</th>
<div class="fl mb3 w-25 mt0 b">From</th> <div class="fl mb3 w-25 mt0 b">From</th>
<div class="fl mb3 w-25 mt0 b">To</th> <div class="fl mb3 w-25 mt0 b">To</th>
</div> </div>
${state[mailbox + ':messages'].map(function (msg) {
return createMessage(msg, mailbox)
})}
</div>
` `
} }
+1 -3
View File
@@ -5,8 +5,7 @@ const pathname = require('../elements/pathname')
const email = require('../elements/email') const email = require('../elements/email')
const nav = require('../elements/nav') const nav = require('../elements/nav')
module.exports = function () { module.exports = function (params, state, send) {
return function (params, state, send) {
return choo.view` return choo.view`
<main class="mw5 mw7-ns center cf"> <main class="mw5 mw7-ns center cf">
${pathname(params, state, send)} ${pathname(params, state, send)}
@@ -17,5 +16,4 @@ module.exports = function () {
</section> </section>
</main> </main>
` `
}
} }
+1 -3
View File
@@ -4,8 +4,7 @@ const empty = require('../elements/empty-mailbox')
const pathname = require('../elements/pathname') const pathname = require('../elements/pathname')
const nav = require('../elements/nav') const nav = require('../elements/nav')
module.exports = function () { module.exports = function (params, state, send) {
return function (params, state, send) {
return choo.view` return choo.view`
<main class="mw5 mw7-ns center cf"> <main class="mw5 mw7-ns center cf">
${pathname(params, state, send)} ${pathname(params, state, send)}
@@ -13,5 +12,4 @@ module.exports = function () {
${empty(params, state, send)} ${empty(params, state, send)}
</main> </main>
` `
}
} }
+1 -3
View File
@@ -4,8 +4,7 @@ const emailList = require('../elements/email-list')
const pathname = require('../elements/pathname') const pathname = require('../elements/pathname')
const nav = require('../elements/nav') const nav = require('../elements/nav')
module.exports = function () { module.exports = function (params, state, send) {
return function (params, state, send) {
return choo.view` return choo.view`
<main class="mw5 mw7-ns center cf"> <main class="mw5 mw7-ns center cf">
${pathname(params, state, send)} ${pathname(params, state, send)}
@@ -15,5 +14,4 @@ module.exports = function () {
</section> </section>
</main> </main>
` `
}
} }