diff options
Diffstat (limited to 'src/server/web/app/dev')
| -rw-r--r-- | src/server/web/app/dev/script.ts | 44 | ||||
| -rw-r--r-- | src/server/web/app/dev/style.styl | 10 | ||||
| -rw-r--r-- | src/server/web/app/dev/views/app.vue | 39 | ||||
| -rw-r--r-- | src/server/web/app/dev/views/apps.vue | 37 | ||||
| -rw-r--r-- | src/server/web/app/dev/views/index.vue | 10 | ||||
| -rw-r--r-- | src/server/web/app/dev/views/new-app.vue | 105 | ||||
| -rw-r--r-- | src/server/web/app/dev/views/ui.vue | 20 |
7 files changed, 0 insertions, 265 deletions
diff --git a/src/server/web/app/dev/script.ts b/src/server/web/app/dev/script.ts deleted file mode 100644 index c043813b40..0000000000 --- a/src/server/web/app/dev/script.ts +++ /dev/null @@ -1,44 +0,0 @@ -/** - * Developer Center - */ - -import Vue from 'vue'; -import VueRouter from 'vue-router'; -import BootstrapVue from 'bootstrap-vue'; -import 'bootstrap/dist/css/bootstrap.css'; -import 'bootstrap-vue/dist/bootstrap-vue.css'; - -// Style -import './style.styl'; - -import init from '../init'; - -import Index from './views/index.vue'; -import Apps from './views/apps.vue'; -import AppNew from './views/new-app.vue'; -import App from './views/app.vue'; -import ui from './views/ui.vue'; - -Vue.use(BootstrapVue); - -Vue.component('mk-ui', ui); - -/** - * init - */ -init(launch => { - // Init router - const router = new VueRouter({ - mode: 'history', - base: '/dev/', - routes: [ - { path: '/', component: Index }, - { path: '/apps', component: Apps }, - { path: '/app/new', component: AppNew }, - { path: '/app/:id', component: App }, - ] - }); - - // Launch the app - launch(router); -}); diff --git a/src/server/web/app/dev/style.styl b/src/server/web/app/dev/style.styl deleted file mode 100644 index e635897b17..0000000000 --- a/src/server/web/app/dev/style.styl +++ /dev/null @@ -1,10 +0,0 @@ -@import "../app" -@import "../reset" - -// Bootstrapのデザインを崩すので: -* - position initial - background-clip initial !important - -html - background-color #fff diff --git a/src/server/web/app/dev/views/app.vue b/src/server/web/app/dev/views/app.vue deleted file mode 100644 index a35b032b73..0000000000 --- a/src/server/web/app/dev/views/app.vue +++ /dev/null @@ -1,39 +0,0 @@ -<template> -<mk-ui> - <p v-if="fetching">読み込み中</p> - <b-card v-if="!fetching" :header="app.name"> - <b-form-group label="App Secret"> - <b-input :value="app.secret" readonly/> - </b-form-group> - </b-card> -</mk-ui> -</template> - -<script lang="ts"> -import Vue from 'vue'; -export default Vue.extend({ - data() { - return { - fetching: true, - app: null - }; - }, - watch: { - $route: 'fetch' - }, - mounted() { - this.fetch(); - }, - methods: { - fetch() { - this.fetching = true; - (this as any).api('app/show', { - appId: this.$route.params.id - }).then(app => { - this.app = app; - this.fetching = false; - }); - } - } -}); -</script> diff --git a/src/server/web/app/dev/views/apps.vue b/src/server/web/app/dev/views/apps.vue deleted file mode 100644 index 7e0b107a30..0000000000 --- a/src/server/web/app/dev/views/apps.vue +++ /dev/null @@ -1,37 +0,0 @@ -<template> -<mk-ui> - <b-card header="アプリを管理"> - <b-button to="/app/new" variant="primary">アプリ作成</b-button> - <hr> - <div class="apps"> - <p v-if="fetching">読み込み中</p> - <template v-if="!fetching"> - <b-alert v-if="apps.length == 0">アプリなし</b-alert> - <b-list-group v-else> - <b-list-group-item v-for="app in apps" :key="app.id" :to="`/app/${app.id}`"> - {{ app.name }} - </b-list-group-item> - </b-list-group> - </template> - </div> - </b-card> -</mk-ui> -</template> - -<script lang="ts"> -import Vue from 'vue'; -export default Vue.extend({ - data() { - return { - fetching: true, - apps: [] - }; - }, - mounted() { - (this as any).api('my/apps').then(apps => { - this.apps = apps; - this.fetching = false; - }); - } -}); -</script> diff --git a/src/server/web/app/dev/views/index.vue b/src/server/web/app/dev/views/index.vue deleted file mode 100644 index 3f572b3907..0000000000 --- a/src/server/web/app/dev/views/index.vue +++ /dev/null @@ -1,10 +0,0 @@ -<template> -<mk-ui> - <b-button to="/apps" variant="primary">アプリの管理</b-button> -</mk-ui> -</template> - -<script lang="ts"> -import Vue from 'vue'; -export default Vue.extend(); -</script> diff --git a/src/server/web/app/dev/views/new-app.vue b/src/server/web/app/dev/views/new-app.vue deleted file mode 100644 index e407ca00d7..0000000000 --- a/src/server/web/app/dev/views/new-app.vue +++ /dev/null @@ -1,105 +0,0 @@ -<template> -<mk-ui> - <b-card header="アプリケーションの作成"> - <b-form @submit.prevent="onSubmit" autocomplete="off"> - <b-form-group label="アプリケーション名" description="あなたのアプリの名称。"> - <b-form-input v-model="name" type="text" placeholder="ex) Misskey for iOS" autocomplete="off" required/> - </b-form-group> - <b-form-group label="ID" description="あなたのアプリのID。"> - <b-input v-model="nid" type="text" pattern="^[a-zA-Z0-9_]{3,30}$" placeholder="ex) misskey-for-ios" autocomplete="off" required/> - <p class="info" v-if="nidState == 'wait'" style="color:#999">%fa:spinner .pulse .fw%確認しています...</p> - <p class="info" v-if="nidState == 'ok'" style="color:#3CB7B5">%fa:fw check%利用できます</p> - <p class="info" v-if="nidState == 'unavailable'" style="color:#FF1161">%fa:fw exclamation-triangle%既に利用されています</p> - <p class="info" v-if="nidState == 'error'" style="color:#FF1161">%fa:fw exclamation-triangle%通信エラー</p> - <p class="info" v-if="nidState == 'invalid-format'" style="color:#FF1161">%fa:fw exclamation-triangle%a~z、A~Z、0~9、_が使えます</p> - <p class="info" v-if="nidState == 'min-range'" style="color:#FF1161">%fa:fw exclamation-triangle%3文字以上でお願いします!</p> - <p class="info" v-if="nidState == 'max-range'" style="color:#FF1161">%fa:fw exclamation-triangle%30文字以内でお願いします</p> - </b-form-group> - <b-form-group label="アプリの概要" description="あなたのアプリの簡単な説明や紹介。"> - <b-textarea v-model="description" placeholder="ex) Misskey iOSクライアント。" autocomplete="off" required></b-textarea> - </b-form-group> - <b-form-group label="コールバックURL (オプション)" description="ユーザーが認証フォームで認証した際にリダイレクトするURLを設定できます。"> - <b-input v-model="cb" type="url" placeholder="ex) https://your.app.example.com/callback.php" autocomplete="off"/> - </b-form-group> - <b-card header="権限"> - <b-form-group description="ここで要求した機能だけがAPIからアクセスできます。"> - <b-alert show variant="warning">%fa:exclamation-triangle%アプリ作成後も変更できますが、新たな権限を付与する場合、その時点で関連付けられているユーザーキーはすべて無効になります。</b-alert> - <b-form-checkbox-group v-model="permission" stacked> - <b-form-checkbox value="account-read">アカウントの情報を見る。</b-form-checkbox> - <b-form-checkbox value="account-write">アカウントの情報を操作する。</b-form-checkbox> - <b-form-checkbox value="post-write">投稿する。</b-form-checkbox> - <b-form-checkbox value="reaction-write">リアクションしたりリアクションをキャンセルする。</b-form-checkbox> - <b-form-checkbox value="following-write">フォローしたりフォロー解除する。</b-form-checkbox> - <b-form-checkbox value="drive-read">ドライブを見る。</b-form-checkbox> - <b-form-checkbox value="drive-write">ドライブを操作する。</b-form-checkbox> - <b-form-checkbox value="notification-read">通知を見る。</b-form-checkbox> - <b-form-checkbox value="notification-write">通知を操作する。</b-form-checkbox> - </b-form-checkbox-group> - </b-form-group> - </b-card> - <hr> - <b-button type="submit" variant="primary">アプリ作成</b-button> - </b-form> - </b-card> -</mk-ui> -</template> - -<script lang="ts"> -import Vue from 'vue'; -export default Vue.extend({ - data() { - return { - name: '', - nid: '', - description: '', - cb: '', - nidState: null, - permission: [] - }; - }, - watch: { - nid() { - if (this.nid == null || this.nid == '') { - this.nidState = null; - return; - } - - const err = - !this.nid.match(/^[a-zA-Z0-9\-]+$/) ? 'invalid-format' : - this.nid.length < 3 ? 'min-range' : - this.nid.length > 30 ? 'max-range' : - null; - - if (err) { - this.nidState = err; - return; - } - - this.nidState = 'wait'; - - (this as any).api('app/nameId/available', { - nameId: this.nid - }).then(result => { - this.nidState = result.available ? 'ok' : 'unavailable'; - }).catch(err => { - this.nidState = 'error'; - }); - } - }, - methods: { - onSubmit() { - (this as any).api('app/create', { - name: this.name, - nameId: this.nid, - description: this.description, - callbackUrl: this.cb, - permission: this.permission - }).then(() => { - location.href = '/apps'; - }).catch(() => { - alert('アプリの作成に失敗しました。再度お試しください。'); - }); - } - } -}); -</script> diff --git a/src/server/web/app/dev/views/ui.vue b/src/server/web/app/dev/views/ui.vue deleted file mode 100644 index 4a0fcee635..0000000000 --- a/src/server/web/app/dev/views/ui.vue +++ /dev/null @@ -1,20 +0,0 @@ -<template> -<div> - <b-navbar toggleable="md" type="dark" variant="info"> - <b-navbar-brand>Misskey Developers</b-navbar-brand> - <b-navbar-nav> - <b-nav-item to="/">Home</b-nav-item> - <b-nav-item to="/apps">Apps</b-nav-item> - </b-navbar-nav> - </b-navbar> - <main> - <slot></slot> - </main> -</div> -</template> - -<style lang="stylus" scoped> -main - padding 32px - max-width 700px -</style> |