diff --git a/webui-src/app/mail/mail_inbox.js b/webui-src/app/mail/mail_inbox.js new file mode 100644 index 0000000..2418081 --- /dev/null +++ b/webui-src/app/mail/mail_inbox.js @@ -0,0 +1,22 @@ +const m = require('mithril'); +const rs = require('rswebui'); +const util = require('mail_util'); + + +const Layout = () => { + return { + view: (vnode) => [ + m('.widget', m('table', [ + m('thead', m('tr', [ + m('th'), + ])), + m('tbody', [ + m('tr') + ]), + ])), + ] + }; +}; + +module.exports = Layout; + diff --git a/webui-src/app/mail/mail_outbox.js b/webui-src/app/mail/mail_outbox.js new file mode 100644 index 0000000..b5fe8de --- /dev/null +++ b/webui-src/app/mail/mail_outbox.js @@ -0,0 +1,14 @@ +const m = require('mithril'); +const rs = require('rswebui'); + + +const Layout = () => { + return { + view: (vnode) => [ + m('.widget'), + ] + }; +}; + +module.exports = Layout; + diff --git a/webui-src/app/mail/mail_resolver.js b/webui-src/app/mail/mail_resolver.js new file mode 100644 index 0000000..03fdbc3 --- /dev/null +++ b/webui-src/app/mail/mail_resolver.js @@ -0,0 +1,42 @@ +let m = require('mithril'); +let rs = require('rswebui'); + + +let sections = { + inbox: require('mail_inbox'), + outbox: require('mail_outbox'), +}; + +const sidebar = () => { + let active = 0; + const tabs = Object.keys(sections); + return { + view: () => m('.sidebar', + tabs.map((panelName, index) => m('a', { + href: '/mail/' + panelName, + oncreate: m.route.link, + class: index === active ? + 'selected-sidebar-link' : '', + onclick: function() { + active = index; + }, + }, + panelName)), + ), + }; +}; + +const Layout = { + view: vnode => m('.tab-page', [ + m(sidebar), + m('.node-panel', vnode.children), + ]) +}; + +module.exports = { + view: (vnode) => { + const tab = vnode.attrs.section; + return m(Layout, m(sections[tab])); + }, +}; + diff --git a/webui-src/app/mail/mail_util.js b/webui-src/app/mail/mail_util.js new file mode 100644 index 0000000..0a7da50 --- /dev/null +++ b/webui-src/app/mail/mail_util.js @@ -0,0 +1,4 @@ +const m = require('mithril'); +const rs = require('rswebui'); + +module.exports = {};