diff options
| author | syuilo <syuilotan@yahoo.co.jp> | 2017-02-18 18:03:52 +0900 |
|---|---|---|
| committer | syuilo <syuilotan@yahoo.co.jp> | 2017-02-18 18:03:52 +0900 |
| commit | 6cd3c3e9ec8320af3220816f6cf4a896b0ff849b (patch) | |
| tree | 69cf5e06a8066df8baafcfbefc7972f95e0db249 /src/web/app/dev/router.js | |
| parent | :v: (diff) | |
| download | misskey-6cd3c3e9ec8320af3220816f6cf4a896b0ff849b.tar.gz misskey-6cd3c3e9ec8320af3220816f6cf4a896b0ff849b.tar.bz2 misskey-6cd3c3e9ec8320af3220816f6cf4a896b0ff849b.zip | |
:v:
Diffstat (limited to 'src/web/app/dev/router.js')
| -rw-r--r-- | src/web/app/dev/router.js | 42 |
1 files changed, 42 insertions, 0 deletions
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]; +} |