summaryrefslogtreecommitdiff
path: root/src/client/app/common
diff options
context:
space:
mode:
authorsyuilo <syuilotan@yahoo.co.jp>2018-12-03 19:44:03 +0900
committersyuilo <syuilotan@yahoo.co.jp>2018-12-03 19:44:03 +0900
commit1c86a4bc26720682f0e75cdffaeb082e30016915 (patch)
treece25d2a82be7ac5aa43ce2b3f85983cfc6e44425 /src/client/app/common
parent10.60.3 (diff)
downloadsharkey-1c86a4bc26720682f0e75cdffaeb082e30016915.tar.gz
sharkey-1c86a4bc26720682f0e75cdffaeb082e30016915.tar.bz2
sharkey-1c86a4bc26720682f0e75cdffaeb082e30016915.zip
Refactor
Diffstat (limited to 'src/client/app/common')
-rw-r--r--src/client/app/common/views/components/discord-setting.vue64
-rw-r--r--src/client/app/common/views/components/github-setting.vue64
-rw-r--r--src/client/app/common/views/components/integration-settings.vue96
-rw-r--r--src/client/app/common/views/components/twitter-setting.vue65
4 files changed, 96 insertions, 193 deletions
diff --git a/src/client/app/common/views/components/discord-setting.vue b/src/client/app/common/views/components/discord-setting.vue
deleted file mode 100644
index 113df9b0ae..0000000000
--- a/src/client/app/common/views/components/discord-setting.vue
+++ /dev/null
@@ -1,64 +0,0 @@
-<template>
-<div class="mk-discord-setting">
- <p>{{ $t('description') }}</p>
- <p class="account" v-if="$store.state.i.discord" :title="`Discord ID: ${$store.state.i.discord.id}`">{{ $t('connected-to') }}: <a :href="`https://discordapp.com/users/${$store.state.i.discord.id}`" target="_blank">@{{ $store.state.i.discord.username }}#{{ $store.state.i.discord.discriminator }}</a></p>
- <p>
- <a :href="`${apiUrl}/connect/discord`" target="_blank" @click.prevent="connect">{{ $store.state.i.discord ? this.$t('reconnect') : this.$t('connect') }}</a>
- <span v-if="$store.state.i.discord"> or </span>
- <a :href="`${apiUrl}/disconnect/discord`" target="_blank" v-if="$store.state.i.discord" @click.prevent="disconnect">{{ $t('disconnect') }}</a>
- </p>
- <p class="id" v-if="$store.state.i.discord">Discord ID: {{ $store.state.i.discord.id }}</p>
-</div>
-</template>
-
-<script lang="ts">
-import Vue from 'vue';
-import i18n from '../../../i18n';
-import { apiUrl } from '../../../config';
-
-export default Vue.extend({
- i18n: i18n('common/views/components/discord-setting.vue'),
- data() {
- return {
- form: null,
- apiUrl
- };
- },
- mounted() {
- this.$watch('$store.state.i', () => {
- if (this.$store.state.i.discord && this.form)
- this.form.close();
- }, {
- deep: true
- });
- },
- methods: {
- connect() {
- this.form = window.open(apiUrl + '/connect/discord',
- 'discord_connect_window',
- 'height=570, width=520');
- },
-
- disconnect() {
- window.open(apiUrl + '/disconnect/discord',
- 'discord_disconnect_window',
- 'height=570, width=520');
- }
- }
-});
-</script>
-
-<style lang="stylus" scoped>
-.mk-discord-setting
- .account
- border solid 1px #e1e8ed
- border-radius 4px
- padding 16px
-
- a
- font-weight bold
- color inherit
-
- .id
- color #8899a6
-</style>
diff --git a/src/client/app/common/views/components/github-setting.vue b/src/client/app/common/views/components/github-setting.vue
deleted file mode 100644
index 93d7f406f8..0000000000
--- a/src/client/app/common/views/components/github-setting.vue
+++ /dev/null
@@ -1,64 +0,0 @@
-<template>
-<div class="mk-github-setting">
- <p>{{ $t('description') }}</p>
- <p class="account" v-if="$store.state.i.github" :title="`GitHub ID: ${$store.state.i.github.id}`">{{ $t('connected-to') }}: <a :href="`https://github.com/${$store.state.i.github.login}`" target="_blank">@{{ $store.state.i.github.login }}</a></p>
- <p>
- <a :href="`${apiUrl}/connect/github`" target="_blank" @click.prevent="connect">{{ $store.state.i.github ? this.$t('reconnect') : this.$t('connect') }}</a>
- <span v-if="$store.state.i.github"> or </span>
- <a :href="`${apiUrl}/disconnect/github`" target="_blank" v-if="$store.state.i.github" @click.prevent="disconnect">{{ $t('disconnect') }}</a>
- </p>
- <p class="id" v-if="$store.state.i.github">GitHub ID: {{ $store.state.i.github.id }}</p>
-</div>
-</template>
-
-<script lang="ts">
-import Vue from 'vue';
-import i18n from '../../../i18n';
-import { apiUrl } from '../../../config';
-
-export default Vue.extend({
- i18n: i18n('common/views/components/github-setting.vue'),
- data() {
- return {
- form: null,
- apiUrl
- };
- },
- mounted() {
- this.$watch('$store.state.i', () => {
- if (this.$store.state.i.github && this.form)
- this.form.close();
- }, {
- deep: true
- });
- },
- methods: {
- connect() {
- this.form = window.open(apiUrl + '/connect/github',
- 'github_connect_window',
- 'height=570, width=520');
- },
-
- disconnect() {
- window.open(apiUrl + '/disconnect/github',
- 'github_disconnect_window',
- 'height=570, width=520');
- }
- }
-});
-</script>
-
-<style lang="stylus" scoped>
-.mk-github-setting
- .account
- border solid 1px #e1e8ed
- border-radius 4px
- padding 16px
-
- a
- font-weight bold
- color inherit
-
- .id
- color #8899a6
-</style>
diff --git a/src/client/app/common/views/components/integration-settings.vue b/src/client/app/common/views/components/integration-settings.vue
new file mode 100644
index 0000000000..1a0af799a0
--- /dev/null
+++ b/src/client/app/common/views/components/integration-settings.vue
@@ -0,0 +1,96 @@
+<template>
+<ui-card>
+ <div slot="title"><fa icon="share-alt"/> {{ $t('title') }}</div>
+
+ <section>
+ <header><fa :icon="['fab', 'twitter']"/> Twitter</header>
+ <p v-if="$store.state.i.twitter">{{ $t('connected-to') }}: <a :href="`https://twitter.com/${$store.state.i.twitter.screenName}`" target="_blank">@{{ $store.state.i.twitter.screenName }}</a></p>
+ <ui-button v-if="$store.state.i.twitter" @click="disconnectTwitter">{{ $t('disconnect') }}</ui-button>
+ <ui-button v-else @click="connectTwitter">{{ $t('connect') }}</ui-button>
+ </section>
+
+ <section>
+ <header><fa :icon="['fab', 'discord']"/> Discord</header>
+ <p v-if="$store.state.i.discord">{{ $t('connected-to') }}: <a :href="`https://discord.com/${$store.state.i.discord.screenName}`" target="_blank">@{{ $store.state.i.discord.screenName }}</a></p>
+ <ui-button v-if="$store.state.i.discord" @click="disconnectDiscord">{{ $t('disconnect') }}</ui-button>
+ <ui-button v-else @click="connectDiscord">{{ $t('connect') }}</ui-button>
+ </section>
+
+ <section>
+ <header><fa :icon="['fab', 'github']"/> GitHub</header>
+ <p v-if="$store.state.i.github">{{ $t('connected-to') }}: <a :href="`https://github.com/${$store.state.i.github.screenName}`" target="_blank">@{{ $store.state.i.github.screenName }}</a></p>
+ <ui-button v-if="$store.state.i.github" @click="disconnectGithub">{{ $t('disconnect') }}</ui-button>
+ <ui-button v-else @click="connectGithub">{{ $t('connect') }}</ui-button>
+ </section>
+</ui-card>
+</template>
+
+<script lang="ts">
+import Vue from 'vue';
+import i18n from '../../../i18n';
+import { apiUrl } from '../../../config';
+
+export default Vue.extend({
+ i18n: i18n('common/views/components/integration-settings.vue'),
+
+ data() {
+ return {
+ apiUrl,
+ twitterForm: null,
+ discordForm: null,
+ githubForm: null,
+ };
+ },
+
+ mounted() {
+ this.$watch('$store.state.i', () => {
+ if (this.$store.state.i.twitter) {
+ if (this.twitterForm) this.twitterForm.close();
+ }
+ }, {
+ deep: true
+ });
+ },
+
+ methods: {
+ connectTwitter() {
+ this.twitterForm = window.open(apiUrl + '/connect/twitter',
+ 'twitter_connect_window',
+ 'height=570, width=520');
+ },
+
+ disconnectTwitter() {
+ window.open(apiUrl + '/disconnect/twitter',
+ 'twitter_disconnect_window',
+ 'height=570, width=520');
+ },
+
+ connectDiscord() {
+ this.discordForm = window.open(apiUrl + '/connect/discord',
+ 'discord_connect_window',
+ 'height=570, width=520');
+ },
+
+ disconnectDiscord() {
+ window.open(apiUrl + '/disconnect/discord',
+ 'discord_disconnect_window',
+ 'height=570, width=520');
+ },
+
+ connectGithub() {
+ this.githubForm = window.open(apiUrl + '/connect/github',
+ 'github_connect_window',
+ 'height=570, width=520');
+ },
+
+ disconnectGithub() {
+ window.open(apiUrl + '/disconnect/github',
+ 'github_disconnect_window',
+ 'height=570, width=520');
+ },
+ }
+});
+</script>
+
+<style lang="stylus" scoped>
+</style>
diff --git a/src/client/app/common/views/components/twitter-setting.vue b/src/client/app/common/views/components/twitter-setting.vue
deleted file mode 100644
index f75bbb7fbf..0000000000
--- a/src/client/app/common/views/components/twitter-setting.vue
+++ /dev/null
@@ -1,65 +0,0 @@
-<template>
-<div class="mk-twitter-setting">
- <p>{{ $t('description') }}</p>
- <p class="account" v-if="$store.state.i.twitter" :title="`Twitter ID: ${$store.state.i.twitter.userId}`">{{ $t('connected-to') }}: <a :href="`https://twitter.com/${$store.state.i.twitter.screenName}`" target="_blank">@{{ $store.state.i.twitter.screenName }}</a></p>
- <p>
- <a :href="`${apiUrl}/connect/twitter`" target="_blank" @click.prevent="connect">{{ $store.state.i.twitter ? this.$t('reconnect') : this.$t('connect') }}</a>
- <span v-if="$store.state.i.twitter"> or </span>
- <a :href="`${apiUrl}/disconnect/twitter`" target="_blank" v-if="$store.state.i.twitter" @click.prevent="disconnect">{{ $t('disconnect') }}</a>
- </p>
- <p class="id" v-if="$store.state.i.twitter">Twitter ID: {{ $store.state.i.twitter.userId }}</p>
-</div>
-</template>
-
-<script lang="ts">
-import Vue from 'vue';
-import i18n from '../../../i18n';
-import { apiUrl } from '../../../config';
-
-export default Vue.extend({
- i18n: i18n('common/views/components/twitter-setting.vue'),
- data() {
- return {
- form: null,
- apiUrl
- };
- },
- mounted() {
- this.$watch('$store.state.i', () => {
- if (this.$store.state.i.twitter) {
- if (this.form) this.form.close();
- }
- }, {
- deep: true
- });
- },
- 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
- .account
- border solid 1px #e1e8ed
- border-radius 4px
- padding 16px
-
- a
- font-weight bold
- color inherit
-
- .id
- color #8899a6
-</style>