summaryrefslogtreecommitdiff
path: root/src/web/app/dev/router.ts
diff options
context:
space:
mode:
authorsyuilo <syuilotan@yahoo.co.jp>2017-11-13 18:05:35 +0900
committersyuilo <syuilotan@yahoo.co.jp>2017-11-13 18:05:35 +0900
commitbc9a8283c66d7588f931d4b802f7ab1fa7aa3226 (patch)
treecac529d136737c95b1656564756da8c4ae84df32 /src/web/app/dev/router.ts
parent:v: (diff)
downloadmisskey-bc9a8283c66d7588f931d4b802f7ab1fa7aa3226.tar.gz
misskey-bc9a8283c66d7588f931d4b802f7ab1fa7aa3226.tar.bz2
misskey-bc9a8283c66d7588f931d4b802f7ab1fa7aa3226.zip
なんかもうめっちゃ変えた
Diffstat (limited to 'src/web/app/dev/router.ts')
-rw-r--r--src/web/app/dev/router.ts42
1 files changed, 42 insertions, 0 deletions
diff --git a/src/web/app/dev/router.ts b/src/web/app/dev/router.ts
new file mode 100644
index 0000000000..532ec23c73
--- /dev/null
+++ b/src/web/app/dev/router.ts
@@ -0,0 +1,42 @@
+import * as riot from 'riot';
+import * as route from 'page';
+let page = null;
+
+export default 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 as any)();
+};
+
+function mount(content) {
+ if (page) page.unmount();
+ const body = document.getElementById('app');
+ page = riot.mount(body.appendChild(content))[0];
+}