summaryrefslogtreecommitdiff
path: root/src/client/app/common/views/components/github-setting.vue
diff options
context:
space:
mode:
authorAcid Chicken (硫酸鶏) <root@acid-chicken.com>2018-11-04 22:03:55 +0900
committersyuilo <Syuilotan@yahoo.co.jp>2018-11-04 22:03:55 +0900
commit8646a9c49c708cd502904b450e16b405118312e3 (patch)
treed616b6bf70be75b4095f2c215fa5e291b548e756 /src/client/app/common/views/components/github-setting.vue
parentClean up (diff)
downloadmisskey-8646a9c49c708cd502904b450e16b405118312e3.tar.gz
misskey-8646a9c49c708cd502904b450e16b405118312e3.tar.bz2
misskey-8646a9c49c708cd502904b450e16b405118312e3.zip
Add GitHub auth (#3095)
Diffstat (limited to 'src/client/app/common/views/components/github-setting.vue')
-rw-r--r--src/client/app/common/views/components/github-setting.vue63
1 files changed, 63 insertions, 0 deletions
diff --git a/src/client/app/common/views/components/github-setting.vue b/src/client/app/common/views/components/github-setting.vue
new file mode 100644
index 0000000000..f79a700a92
--- /dev/null
+++ b/src/client/app/common/views/components/github-setting.vue
@@ -0,0 +1,63 @@
+<template>
+<div class="mk-github-setting">
+ <p>%i18n:@description%<a :href="`${docsUrl}/link-to-github`" target="_blank">%i18n:@detail%</a></p>
+ <p class="account" v-if="$store.state.i.github" :title="`GitHub ID: ${$store.state.i.github.id}`">%i18n:@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 ? '%i18n:@reconnect%' : '%i18n:@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">%i18n:@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 { apiUrl, docsUrl } from '../../../config';
+
+export default Vue.extend({
+ data() {
+ return {
+ form: null,
+ apiUrl,
+ docsUrl
+ };
+ },
+ 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>