summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorこぴなたみぽ <syuilotan@yahoo.co.jp>2018-02-21 12:27:01 +0900
committerこぴなたみぽ <syuilotan@yahoo.co.jp>2018-02-21 12:27:01 +0900
commit1eecc1fa3d273862b38cf1b51471ac559591597c (patch)
treeb722bd5401d12ce62e819f94b8d87229c27bd67a
parentwip (diff)
downloadmisskey-1eecc1fa3d273862b38cf1b51471ac559591597c.tar.gz
misskey-1eecc1fa3d273862b38cf1b51471ac559591597c.tar.bz2
misskey-1eecc1fa3d273862b38cf1b51471ac559591597c.zip
wip
-rw-r--r--src/web/app/common/-tags/twitter-setting.tag62
-rw-r--r--src/web/app/common/views/components/twitter-setting.vue64
2 files changed, 64 insertions, 62 deletions
diff --git a/src/web/app/common/-tags/twitter-setting.tag b/src/web/app/common/-tags/twitter-setting.tag
deleted file mode 100644
index a623290830..0000000000
--- a/src/web/app/common/-tags/twitter-setting.tag
+++ /dev/null
@@ -1,62 +0,0 @@
-<mk-twitter-setting>
- <p>%i18n:common.tags.mk-twitter-setting.description%<a href={ _DOCS_URL_ + '/link-to-twitter' } target="_blank">%i18n:common.tags.mk-twitter-setting.detail%</a></p>
- <p class="account" v-if="I.twitter" title={ 'Twitter ID: ' + I.twitter.user_id }>%i18n:common.tags.mk-twitter-setting.connected-to%: <a href={ 'https://twitter.com/' + I.twitter.screen_name } target="_blank">@{ I.twitter.screen_name }</a></p>
- <p>
- <a href={ _API_URL_ + '/connect/twitter' } target="_blank" @click="connect">{ I.twitter ? '%i18n:common.tags.mk-twitter-setting.reconnect%' : '%i18n:common.tags.mk-twitter-setting.connect%' }</a>
- <span v-if="I.twitter"> or </span>
- <a href={ _API_URL_ + '/disconnect/twitter' } target="_blank" v-if="I.twitter" @click="disconnect">%i18n:common.tags.mk-twitter-setting.disconnect%</a>
- </p>
- <p class="id" v-if="I.twitter">Twitter ID: { I.twitter.user_id }</p>
- <style lang="stylus" scoped>
- :scope
- display block
- color #4a535a
-
- .account
- border solid 1px #e1e8ed
- border-radius 4px
- padding 16px
-
- a
- font-weight bold
- color inherit
-
- .id
- color #8899a6
- </style>
- <script lang="typescript">
- this.mixin('i');
-
- this.form = null;
-
- this.on('mount', () => {
- this.$root.$data.os.i.on('updated', this.onMeUpdated);
- });
-
- this.on('unmount', () => {
- this.$root.$data.os.i.off('updated', this.onMeUpdated);
- });
-
- this.onMeUpdated = () => {
- if (this.$root.$data.os.i.twitter) {
- if (this.form) this.form.close();
- }
- };
-
- this.connect = e => {
- e.preventDefault();
- this.form = window.open(_API_URL_ + '/connect/twitter',
- 'twitter_connect_window',
- 'height=570,width=520');
- return false;
- };
-
- this.disconnect = e => {
- e.preventDefault();
- window.open(_API_URL_ + '/disconnect/twitter',
- 'twitter_disconnect_window',
- 'height=570,width=520');
- return false;
- };
- </script>
-</mk-twitter-setting>
diff --git a/src/web/app/common/views/components/twitter-setting.vue b/src/web/app/common/views/components/twitter-setting.vue
new file mode 100644
index 0000000000..996f34fb77
--- /dev/null
+++ b/src/web/app/common/views/components/twitter-setting.vue
@@ -0,0 +1,64 @@
+<template>
+<div class="mk-twitter-setting">
+ <p>%i18n:common.tags.mk-twitter-setting.description%<a :href="`${docsUrl}/link-to-twitter`" target="_blank">%i18n:common.tags.mk-twitter-setting.detail%</a></p>
+ <p class="account" v-if="os.i.twitter" :title="`Twitter ID: ${os.i.twitter.user_id}`">%i18n:common.tags.mk-twitter-setting.connected-to%: <a :href="`https://twitter.com/${os.i.twitter.screen_name}`" target="_blank">@{{ I.twitter.screen_name }}</a></p>
+ <p>
+ <a :href="`${apiUrl}/connect/twitter`" target="_blank" @click.prevent="connect">{{ os.i.twitter ? '%i18n:common.tags.mk-twitter-setting.reconnect%' : '%i18n:common.tags.mk-twitter-setting.connect%' }}</a>
+ <span v-if="os.i.twitter"> or </span>
+ <a :href="`${apiUrl}/disconnect/twitter`" target="_blank" v-if="os.i.twitter" @click.prevent="disconnect">%i18n:common.tags.mk-twitter-setting.disconnect%</a>
+ </p>
+ <p class="id" v-if="os.i.twitter">Twitter ID: {{ os.i.twitter.user_id }}</p>
+</div>
+</template>
+
+<script lang="ts">
+import Vue from 'vue';
+import { apiUrl, docsUrl } from '../../../config';
+
+export default Vue.extend({
+ data() {
+ return {
+ form: null,
+ apiUrl,
+ docsUrl
+ };
+ },
+ watch: {
+ 'os.i'() {
+ if ((this as any).os.i.twitter) {
+ if (this.form) this.form.close();
+ }
+ }
+ },
+ methods: {
+ connect() {
+ this.form = window.open(apiUrl + '/connect/twitter',
+ 'twitter_connect_window',
+ 'height=570, width=520');
+ },
+
+ disconnect() {
+ window.open(apiUrl + '/disconnect/twitter',
+ 'twitter_disconnect_window',
+ 'height=570, width=520');
+ }
+ }
+});
+</script>
+
+<style lang="stylus" scoped>
+.mk-twitter-setting
+ color #4a535a
+
+ .account
+ border solid 1px #e1e8ed
+ border-radius 4px
+ padding 16px
+
+ a
+ font-weight bold
+ color inherit
+
+ .id
+ color #8899a6
+</style>