diff options
| author | syuilo <syuilotan@yahoo.co.jp> | 2018-08-17 19:17:23 +0900 |
|---|---|---|
| committer | syuilo <syuilotan@yahoo.co.jp> | 2018-08-17 19:17:23 +0900 |
| commit | 2c8f962889f9231238dbdaa5990f00646e8060f3 (patch) | |
| tree | 73e2fb3d84cbd0e372c950b9e6482deeafa26ec2 /src/client | |
| parent | Merge pull request #2270 from syuilo/l10n_master (diff) | |
| download | sharkey-2c8f962889f9231238dbdaa5990f00646e8060f3.tar.gz sharkey-2c8f962889f9231238dbdaa5990f00646e8060f3.tar.bz2 sharkey-2c8f962889f9231238dbdaa5990f00646e8060f3.zip | |
#2214 #2155
Diffstat (limited to 'src/client')
| -rw-r--r-- | src/client/app/common/views/components/signup.vue | 15 | ||||
| -rw-r--r-- | src/client/app/desktop/views/pages/admin/admin.dashboard.vue | 14 |
2 files changed, 27 insertions, 2 deletions
diff --git a/src/client/app/common/views/components/signup.vue b/src/client/app/common/views/components/signup.vue index 45a183e144..1d33702159 100644 --- a/src/client/app/common/views/components/signup.vue +++ b/src/client/app/common/views/components/signup.vue @@ -1,5 +1,10 @@ <template> <form class="mk-signup" @submit.prevent="onSubmit" :autocomplete="Math.random()"> + <ui-input v-if="meta.disableRegistration" v-model="invitationCode" type="text" :autocomplete="Math.random()" spellcheck="false" required> + <span>%i18n:@invitation-code%</span> + <span slot="prefix">%fa:id-card-alt%</span> + <p slot="text" v-html="'%i18n:@invitation-info%'.replace('{}', meta.maintainer.url)"></p> + </ui-input> <ui-input v-model="username" type="text" pattern="^[a-zA-Z0-9_]{1,20}$" :autocomplete="Math.random()" spellcheck="false" required @input="onChangeUsername"> <span>%i18n:@username%</span> <span slot="prefix">@</span> @@ -46,11 +51,13 @@ export default Vue.extend({ username: '', password: '', retypedPassword: '', + invitationCode: '', url, recaptchaSitekey, usernameState: null, passwordStrength: '', - passwordRetypeState: null + passwordRetypeState: null, + meta: null } }, computed: { @@ -61,6 +68,11 @@ export default Vue.extend({ this.usernameState != 'max-range'); } }, + created() { + (this as any).os.getMeta().then(meta => { + this.meta = meta; + }); + }, methods: { onChangeUsername() { if (this.username == '') { @@ -110,6 +122,7 @@ export default Vue.extend({ (this as any).api('signup', { username: this.username, password: this.password, + invitationCode: this.invitationCode, 'g-recaptcha-response': recaptchaSitekey != null ? (window as any).grecaptcha.getResponse() : null }).then(() => { (this as any).api('signin', { diff --git a/src/client/app/desktop/views/pages/admin/admin.dashboard.vue b/src/client/app/desktop/views/pages/admin/admin.dashboard.vue index b10e829965..d0f11e73b6 100644 --- a/src/client/app/desktop/views/pages/admin/admin.dashboard.vue +++ b/src/client/app/desktop/views/pages/admin/admin.dashboard.vue @@ -7,6 +7,10 @@ <p><b>%i18n:@all-notes%</b>: <span>{{ stats.notesCount | number }}</span></p> <p><b>%i18n:@original-notes%</b>: <span>{{ stats.originalNotesCount | number }}</span></p> </div> + <div> + <button class="ui" @click="invite">%i18n:@invite%</button> + <p v-if="inviteCode">Code: <code>{{ inviteCode }}</code></p> + </div> </div> </template> @@ -16,13 +20,21 @@ import Vue from "vue"; export default Vue.extend({ data() { return { - stats: null + stats: null, + inviteCode: null }; }, created() { (this as any).api('stats').then(stats => { this.stats = stats; }); + }, + methods: { + invite() { + (this as any).api('admin/invite').then(x => { + this.inviteCode = x.code; + }); + } } }); </script> |