summaryrefslogtreecommitdiff
path: root/src/web/app/dev
diff options
context:
space:
mode:
Diffstat (limited to 'src/web/app/dev')
-rw-r--r--src/web/app/dev/router.ts42
-rw-r--r--src/web/app/dev/script.ts18
-rw-r--r--src/web/app/dev/style.styl5
-rw-r--r--src/web/app/dev/tags/index.ts5
-rw-r--r--src/web/app/dev/tags/new-app-form.tag252
-rw-r--r--src/web/app/dev/tags/pages/app.tag32
-rw-r--r--src/web/app/dev/tags/pages/apps.tag33
-rw-r--r--src/web/app/dev/tags/pages/index.tag6
-rw-r--r--src/web/app/dev/tags/pages/new-app.tag42
9 files changed, 0 insertions, 435 deletions
diff --git a/src/web/app/dev/router.ts b/src/web/app/dev/router.ts
deleted file mode 100644
index fcd2b1f76b..0000000000
--- a/src/web/app/dev/router.ts
+++ /dev/null
@@ -1,42 +0,0 @@
-import * as riot from 'riot';
-import * as route from 'page';
-let page = null;
-
-export default () => {
- 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];
-}
diff --git a/src/web/app/dev/script.ts b/src/web/app/dev/script.ts
deleted file mode 100644
index b115c5be48..0000000000
--- a/src/web/app/dev/script.ts
+++ /dev/null
@@ -1,18 +0,0 @@
-/**
- * Developer Center
- */
-
-// Style
-import './style.styl';
-
-require('./tags');
-import init from '../init';
-import route from './router';
-
-/**
- * init
- */
-init(() => {
- // Start routing
- route();
-});
diff --git a/src/web/app/dev/style.styl b/src/web/app/dev/style.styl
deleted file mode 100644
index cdbcb0e261..0000000000
--- a/src/web/app/dev/style.styl
+++ /dev/null
@@ -1,5 +0,0 @@
-@import "../app"
-@import "../reset"
-
-html
- background-color #fff
diff --git a/src/web/app/dev/tags/index.ts b/src/web/app/dev/tags/index.ts
deleted file mode 100644
index 1e0c73697e..0000000000
--- a/src/web/app/dev/tags/index.ts
+++ /dev/null
@@ -1,5 +0,0 @@
-require('./pages/index.tag');
-require('./pages/apps.tag');
-require('./pages/app.tag');
-require('./pages/new-app.tag');
-require('./new-app-form.tag');
diff --git a/src/web/app/dev/tags/new-app-form.tag b/src/web/app/dev/tags/new-app-form.tag
deleted file mode 100644
index fdd442a836..0000000000
--- a/src/web/app/dev/tags/new-app-form.tag
+++ /dev/null
@@ -1,252 +0,0 @@
-<mk-new-app-form>
- <form onsubmit={ onsubmit } autocomplete="off">
- <section class="name">
- <label>
- <p class="caption">アプリケーション名</p>
- <input ref="name" type="text" placeholder="ex) Misskey for iOS" autocomplete="off" required="required"/>
- </label>
- </section>
- <section class="nid">
- <label>
- <p class="caption">Named ID</p>
- <input ref="nid" type="text" pattern="^[a-zA-Z0-9-]{3,30}$" placeholder="ex) misskey-for-ios" autocomplete="off" required="required" onkeyup={ onChangeNid }/>
- <p class="info" if={ nidState == 'wait' } style="color:#999">%fa:spinner .pulse .fw%確認しています...</p>
- <p class="info" if={ nidState == 'ok' } style="color:#3CB7B5">%fa:fw check%利用できます</p>
- <p class="info" if={ nidState == 'unavailable' } style="color:#FF1161">%fa:fw exclamation-triangle%既に利用されています</p>
- <p class="info" if={ nidState == 'error' } style="color:#FF1161">%fa:fw exclamation-triangle%通信エラー</p>
- <p class="info" if={ nidState == 'invalid-format' } style="color:#FF1161">%fa:fw exclamation-triangle%a~z、A~Z、0~9、-(ハイフン)が使えます</p>
- <p class="info" if={ nidState == 'min-range' } style="color:#FF1161">%fa:fw exclamation-triangle%3文字以上でお願いします!</p>
- <p class="info" if={ nidState == 'max-range' } style="color:#FF1161">%fa:fw exclamation-triangle%30文字以内でお願いします</p>
- </label>
- </section>
- <section class="description">
- <label>
- <p class="caption">アプリの概要</p>
- <textarea ref="description" placeholder="ex) Misskey iOSクライアント。" autocomplete="off" required="required"></textarea>
- </label>
- </section>
- <section class="callback">
- <label>
- <p class="caption">コールバックURL (オプション)</p>
- <input ref="cb" type="url" placeholder="ex) https://your.app.example.com/callback.php" autocomplete="off"/>
- </label>
- </section>
- <section class="permission">
- <p class="caption">権限</p>
- <div ref="permission">
- <label>
- <input type="checkbox" value="account-read"/>
- <p>アカウントの情報を見る。</p>
- </label>
- <label>
- <input type="checkbox" value="account-write"/>
- <p>アカウントの情報を操作する。</p>
- </label>
- <label>
- <input type="checkbox" value="post-write"/>
- <p>投稿する。</p>
- </label>
- <label>
- <input type="checkbox" value="reaction-write"/>
- <p>リアクションしたりリアクションをキャンセルする。</p>
- </label>
- <label>
- <input type="checkbox" value="following-write"/>
- <p>フォローしたりフォロー解除する。</p>
- </label>
- <label>
- <input type="checkbox" value="drive-read"/>
- <p>ドライブを見る。</p>
- </label>
- <label>
- <input type="checkbox" value="drive-write"/>
- <p>ドライブを操作する。</p>
- </label>
- <label>
- <input type="checkbox" value="notification-read"/>
- <p>通知を見る。</p>
- </label>
- <label>
- <input type="checkbox" value="notification-write"/>
- <p>通知を操作する。</p>
- </label>
- </div>
- <p>%fa:exclamation-triangle%アプリ作成後も変更できますが、新たな権限を付与する場合、その時点で関連付けられているユーザーキーはすべて無効になります。</p>
- </section>
- <button onclick={ onsubmit }>アプリ作成</button>
- </form>
- <style>
- :scope
- display block
- overflow hidden
-
- > form
-
- section
- display block
- margin 16px 0
-
- .caption
- margin 0 0 4px 0
- color #616161
- font-size 0.95em
-
- > [data-fa]
- margin-right 0.25em
- color #96adac
-
- .info
- display block
- margin 4px 0
- font-size 0.8em
-
- > [data-fa]
- margin-right 0.3em
-
- section.permission
- div
- padding 8px 0
- max-height 160px
- overflow auto
- background #fff
- border solid 1px #cecece
- border-radius 4px
-
- label
- display block
- padding 0 12px
- line-height 32px
- cursor pointer
-
- &:hover
- > p
- color #999
-
- [type='checkbox']:checked + p
- color #000
-
- [type='checkbox']
- margin-right 4px
-
- [type='checkbox']:checked + p
- color #111
-
- > p
- display inline
- color #aaa
- user-select none
-
- > p:last-child
- margin 6px
- font-size 0.8em
- color #999
-
- > [data-fa]
- margin-right 4px
-
- [type=text]
- [type=url]
- textarea
- user-select text
- display inline-block
- cursor auto
- padding 8px 12px
- margin 0
- width 100%
- font-size 1em
- color #333
- background #fff
- outline none
- border solid 1px #cecece
- border-radius 4px
-
- &:hover
- border-color #bbb
-
- &:focus
- border-color $theme-color
-
- &:disabled
- opacity 0.5
-
- > button
- margin 20px 0 32px 0
- width 100%
- font-size 1em
- color #111
- border-radius 3px
-
- </style>
- <script>
- this.mixin('api');
-
- this.nidState = null;
-
- this.onChangeNid = () => {
- const nid = this.refs.nid.value;
-
- if (nid == '') {
- this.update({
- nidState: null
- });
- return;
- }
-
- const err =
- !nid.match(/^[a-zA-Z0-9\-]+$/) ? 'invalid-format' :
- nid.length < 3 ? 'min-range' :
- nid.length > 30 ? 'max-range' :
- null;
-
- if (err) {
- this.update({
- nidState: err
- });
- return;
- }
-
- this.update({
- nidState: 'wait'
- });
-
- this.api('app/name_id/available', {
- name_id: nid
- }).then(result => {
- this.update({
- nidState: result.available ? 'ok' : 'unavailable'
- });
- }).catch(err => {
- this.update({
- nidState: 'error'
- });
- });
- };
-
- this.onsubmit = () => {
- const name = this.refs.name.value;
- const nid = this.refs.nid.value;
- const description = this.refs.description.value;
- const cb = this.refs.cb.value;
- const permission = [];
-
- this.refs.permission.querySelectorAll('input').forEach(el => {
- if (el.checked) permission.push(el.value);
- });
-
- const locker = document.body.appendChild(document.createElement('mk-locker'));
-
- this.api('app/create', {
- name: name,
- name_id: nid,
- description: description,
- callback_url: cb,
- permission: permission
- }).then(() => {
- location.href = '/apps';
- }).catch(() => {
- alert('アプリの作成に失敗しました。再度お試しください。');
- locker.parentNode.removeChild(locker);
- });
- };
- </script>
-</mk-new-app-form>
diff --git a/src/web/app/dev/tags/pages/app.tag b/src/web/app/dev/tags/pages/app.tag
deleted file mode 100644
index b25e0d8595..0000000000
--- a/src/web/app/dev/tags/pages/app.tag
+++ /dev/null
@@ -1,32 +0,0 @@
-<mk-app-page>
- <p if={ fetching }>読み込み中</p>
- <main if={ !fetching }>
- <header>
- <h1>{ app.name }</h1>
- </header>
- <div class="body">
- <p>App Secret</p>
- <input value={ app.secret } readonly="readonly"/>
- </div>
- </main>
- <style>
- :scope
- display block
- </style>
- <script>
- this.mixin('api');
-
- this.fetching = true;
-
- this.on('mount', () => {
- this.api('app/show', {
- app_id: this.opts.app
- }).then(app => {
- this.update({
- fetching: false,
- app: app
- });
- });
- });
- </script>
-</mk-app-page>
diff --git a/src/web/app/dev/tags/pages/apps.tag b/src/web/app/dev/tags/pages/apps.tag
deleted file mode 100644
index 43db70fcf2..0000000000
--- a/src/web/app/dev/tags/pages/apps.tag
+++ /dev/null
@@ -1,33 +0,0 @@
-<mk-apps-page>
- <h1>アプリを管理</h1><a href="/app/new">アプリ作成</a>
- <div class="apps">
- <p if={ fetching }>読み込み中</p>
- <virtual if={ !fetching }>
- <p if={ apps.length == 0 }>アプリなし</p>
- <ul if={ apps.length > 0 }>
- <li each={ app in apps }><a href={ '/app/' + app.id }>
- <p class="name">{ app.name }</p></a></li>
- </ul>
- </virtual>
- </div>
- <style>
- :scope
- display block
- </style>
- <script>
- this.mixin('api');
-
- this.fetching = true;
-
- this.on('mount', () => {
- this.api('my/apps').then(apps => {
- this.fetching = false
- this.apps = apps
- this.update({
- fetching: false,
- apps: apps
- });
- });
- });
- </script>
-</mk-apps-page>
diff --git a/src/web/app/dev/tags/pages/index.tag b/src/web/app/dev/tags/pages/index.tag
deleted file mode 100644
index f863876fa7..0000000000
--- a/src/web/app/dev/tags/pages/index.tag
+++ /dev/null
@@ -1,6 +0,0 @@
-<mk-index><a href="/apps">アプリ</a>
- <style>
- :scope
- display block
- </style>
-</mk-index>
diff --git a/src/web/app/dev/tags/pages/new-app.tag b/src/web/app/dev/tags/pages/new-app.tag
deleted file mode 100644
index 238b6865e1..0000000000
--- a/src/web/app/dev/tags/pages/new-app.tag
+++ /dev/null
@@ -1,42 +0,0 @@
-<mk-new-app-page>
- <main>
- <header>
- <h1>新しいアプリを作成</h1>
- <p>MisskeyのAPIを利用したアプリケーションを作成できます。</p>
- </header>
- <mk-new-app-form/>
- </main>
- <style>
- :scope
- display block
- padding 64px 0
-
- > main
- width 100%
- max-width 700px
- margin 0 auto
-
- > header
- margin 0 0 16px 0
- padding 0 0 16px 0
- border-bottom solid 1px #282827
-
- > h1
- margin 0 0 12px 0
- padding 0
- line-height 32px
- font-size 32px
- font-weight normal
- color #000
-
- > p
- margin 0
- line-height 16px
- color #9a9894
-
-
-
-
-
- </style>
-</mk-new-app-page>