From c9d993b83849cab7599fac3948f76c8f5f196899 Mon Sep 17 00:00:00 2001 From: syuilo <syuilotan@yahoo.co.jp> Date: Sat, 16 Jun 2018 07:40:07 +0900 Subject: [PATCH] :v: --- .../app/common/views/components/signin.vue | 9 ++- .../app/desktop/views/pages/welcome.vue | 4 -- src/client/app/mobile/views/pages/welcome.vue | 71 ++++++------------- 3 files changed, 28 insertions(+), 56 deletions(-) diff --git a/src/client/app/common/views/components/signin.vue b/src/client/app/common/views/components/signin.vue index 3473d313c8..58241cef09 100644 --- a/src/client/app/common/views/components/signin.vue +++ b/src/client/app/common/views/components/signin.vue @@ -1,6 +1,6 @@ <template> <form class="mk-signin" :class="{ signing }" @submit.prevent="onSubmit"> - <div class="avatar" :style="{ backgroundImage: user ? `url('${ user.avatarUrl }')` : null }"></div> + <div class="avatar" :style="{ backgroundImage: user ? `url('${ user.avatarUrl }')` : null }" v-show="withAvatar"></div> <ui-input v-model="username" type="text" pattern="^[a-zA-Z0-9_]+$" spellcheck="false" autofocus required @input="onUsernameChange"> <span>%i18n:@username%</span> <span slot="prefix">@</span> @@ -21,6 +21,13 @@ import Vue from 'vue'; import { apiUrl, host } from '../../../config'; export default Vue.extend({ + props: { + withAvatar: { + type: Boolean, + required: false, + default: true + } + }, data() { return { signing: false, diff --git a/src/client/app/desktop/views/pages/welcome.vue b/src/client/app/desktop/views/pages/welcome.vue index e7b09331be..70fa0123af 100644 --- a/src/client/app/desktop/views/pages/welcome.vue +++ b/src/client/app/desktop/views/pages/welcome.vue @@ -38,10 +38,6 @@ <header :class="$style.signupFormHeader">%i18n:@signup%</header> <mk-signup :class="$style.signupForm"/> </modal> - <modal name="signin" width="500px" height="auto" scrollable> - <header :class="$style.signinFormHeader">%i18n:@signin%</header> - <mk-signin :class="$style.signinForm"/> - </modal> </div> </template> diff --git a/src/client/app/mobile/views/pages/welcome.vue b/src/client/app/mobile/views/pages/welcome.vue index 79648ac425..cd8f5841e7 100644 --- a/src/client/app/mobile/views/pages/welcome.vue +++ b/src/client/app/mobile/views/pages/welcome.vue @@ -9,26 +9,15 @@ <router-link class="signup" to="/signup">新規登録</router-link> </div> <div class="login"> - <form @submit.prevent="onSubmit"> - <ui-input v-model="username" type="text" pattern="^[a-zA-Z0-9_]+$" autofocus required @change="onUsernameChange"> - <span>ユーザー名</span> - <span slot="prefix">@</span> - <span slot="suffix">@{{ host }}</span> - </ui-input> - <ui-input v-model="password" type="password" required> - <span>パスワード</span> - <span slot="prefix">%fa:lock%</span> - </ui-input> - <ui-input v-if="user && user.twoFactorEnabled" v-model="token" type="number" required/> - <ui-button type="submit" :disabled="signing">{{ signing ? 'ログインしています' : 'ログイン' }}</ui-button> - </form> - <div style="margin: 8px 0;"> - <a :href="`${apiUrl}/signin/twitter`">Twitterでログイン</a> - </div> + <mk-signin :with-avatar="false"/> </div> <div class="tl"> <mk-welcome-timeline/> </div> + <div class="stats" v-if="stats"> + <span>%fa:user% {{ stats.originalUsersCount | number }}</span> + <span>%fa:pencil-alt% {{ stats.originalNotesCount | number }}</span> + </div> <footer> <small>{{ copyright }}</small> </footer> @@ -43,49 +32,18 @@ import { apiUrl, copyright, host, name, description } from '../../../config'; export default Vue.extend({ data() { return { - signing: false, - user: null, - username: '', - password: '', - token: '', apiUrl, copyright, - users: [], + stats: null, host, name, description }; }, - mounted() { - (this as any).api('users', { - sort: '+follower', - limit: 20 - }).then(users => { - this.users = users; + created() { + (this as any).api('stats').then(stats => { + this.stats = stats; }); - }, - methods: { - onUsernameChange() { - (this as any).api('users/show', { - username: this.username - }).then(user => { - this.user = user; - }); - }, - onSubmit() { - this.signing = true; - - (this as any).api('signin', { - username: this.username, - password: this.password, - token: this.user && this.user.twoFactorEnabled ? this.token : undefined - }).then(() => { - location.reload(); - }).catch(() => { - alert('something happened'); - this.signing = false; - }); - } } }); </script> @@ -164,6 +122,17 @@ export default Vue.extend({ overflow auto -webkit-overflow-scrolling touch + > .stats + margin 16px 0 + padding 8px + font-size 14px + color #444 + background rgba(#000, 0.1) + border-radius 6px + + > * + margin 0 8px + > footer text-align center color #444