summaryrefslogtreecommitdiff
path: root/src/server/web/app/mobile/script.ts
diff options
context:
space:
mode:
authorAkihiko Odaki <nekomanma@pixiv.co.jp>2018-03-29 01:20:40 +0900
committerAkihiko Odaki <nekomanma@pixiv.co.jp>2018-03-29 01:54:41 +0900
commit90f8fe7e538bb7e52d2558152a0390e693f39b11 (patch)
tree0f830887053c8f352b1cd0c13ca715fd14c1f030 /src/server/web/app/mobile/script.ts
parentImplement remote account resolution (diff)
downloadsharkey-90f8fe7e538bb7e52d2558152a0390e693f39b11.tar.gz
sharkey-90f8fe7e538bb7e52d2558152a0390e693f39b11.tar.bz2
sharkey-90f8fe7e538bb7e52d2558152a0390e693f39b11.zip
Introduce processor
Diffstat (limited to 'src/server/web/app/mobile/script.ts')
-rw-r--r--src/server/web/app/mobile/script.ts84
1 files changed, 84 insertions, 0 deletions
diff --git a/src/server/web/app/mobile/script.ts b/src/server/web/app/mobile/script.ts
new file mode 100644
index 0000000000..4776fccddb
--- /dev/null
+++ b/src/server/web/app/mobile/script.ts
@@ -0,0 +1,84 @@
+/**
+ * Mobile Client
+ */
+
+import VueRouter from 'vue-router';
+
+// Style
+import './style.styl';
+import '../../element.scss';
+
+import init from '../init';
+
+import chooseDriveFolder from './api/choose-drive-folder';
+import chooseDriveFile from './api/choose-drive-file';
+import dialog from './api/dialog';
+import input from './api/input';
+import post from './api/post';
+import notify from './api/notify';
+
+import MkIndex from './views/pages/index.vue';
+import MkSignup from './views/pages/signup.vue';
+import MkUser from './views/pages/user.vue';
+import MkSelectDrive from './views/pages/selectdrive.vue';
+import MkDrive from './views/pages/drive.vue';
+import MkNotifications from './views/pages/notifications.vue';
+import MkMessaging from './views/pages/messaging.vue';
+import MkMessagingRoom from './views/pages/messaging-room.vue';
+import MkPost from './views/pages/post.vue';
+import MkSearch from './views/pages/search.vue';
+import MkFollowers from './views/pages/followers.vue';
+import MkFollowing from './views/pages/following.vue';
+import MkSettings from './views/pages/settings.vue';
+import MkProfileSetting from './views/pages/profile-setting.vue';
+import MkOthello from './views/pages/othello.vue';
+
+/**
+ * init
+ */
+init((launch) => {
+ // Register directives
+ require('./views/directives');
+
+ // Register components
+ require('./views/components');
+ require('./views/widgets');
+
+ // http://qiita.com/junya/items/3ff380878f26ca447f85
+ document.body.setAttribute('ontouchstart', '');
+
+ // Init router
+ const router = new VueRouter({
+ mode: 'history',
+ routes: [
+ { path: '/', name: 'index', component: MkIndex },
+ { path: '/signup', name: 'signup', component: MkSignup },
+ { path: '/i/settings', component: MkSettings },
+ { path: '/i/settings/profile', component: MkProfileSetting },
+ { path: '/i/notifications', component: MkNotifications },
+ { path: '/i/messaging', component: MkMessaging },
+ { path: '/i/messaging/:user', component: MkMessagingRoom },
+ { path: '/i/drive', component: MkDrive },
+ { path: '/i/drive/folder/:folder', component: MkDrive },
+ { path: '/i/drive/file/:file', component: MkDrive },
+ { path: '/selectdrive', component: MkSelectDrive },
+ { path: '/search', component: MkSearch },
+ { path: '/othello', component: MkOthello },
+ { path: '/othello/:game', component: MkOthello },
+ { path: '/@:user', component: MkUser },
+ { path: '/@:user/followers', component: MkFollowers },
+ { path: '/@:user/following', component: MkFollowing },
+ { path: '/@:user/:post', component: MkPost }
+ ]
+ });
+
+ // Launch the app
+ launch(router, os => ({
+ chooseDriveFolder,
+ chooseDriveFile,
+ dialog,
+ input,
+ post: post(os),
+ notify
+ }));
+}, true);