From 6cd3c3e9ec8320af3220816f6cf4a896b0ff849b Mon Sep 17 00:00:00 2001 From: syuilo Date: Sat, 18 Feb 2017 18:03:52 +0900 Subject: :v: --- src/web/app/dev/router.js | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 src/web/app/dev/router.js (limited to 'src/web/app/dev/router.js') diff --git a/src/web/app/dev/router.js b/src/web/app/dev/router.js new file mode 100644 index 0000000000..71c098463b --- /dev/null +++ b/src/web/app/dev/router.js @@ -0,0 +1,42 @@ +const route = require('page'); +let page = null; + +module.exports = me => { + route('/', index); + route('/apps', apps); + route('/app/new', newApp); + route('/app/:app', app); + route('*', notFound); + + function index() { + mount(document.createElement('mk-index')); + } + + function apps() { + mount(document.createElement('mk-apps-page')); + } + + function newApp() { + mount(document.createElement('mk-new-app-page')); + } + + function app(ctx) { + const el = document.createElement('mk-app-page'); + el.setAttribute('app', ctx.params.app); + mount(el); + } + + function notFound() { + mount(document.createElement('mk-not-found')); + } + + // EXEC + route(); +}; + +const riot = require('riot'); +function mount(content) { + if (page) page.unmount(); + const body = document.getElementById('app'); + page = riot.mount(body.appendChild(content))[0]; +} -- cgit v1.3.1-freya