summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorsyuilo <Syuilotan@yahoo.co.jp>2020-02-15 08:42:21 +0900
committersyuilo <Syuilotan@yahoo.co.jp>2020-02-15 08:42:21 +0900
commit2a04f2ca4d1c89d9d54a1bcf75dd51f3a1594dfa (patch)
tree9e1bb2d8d060fc5c91876cc951b457bb7ebfc064 /src
parentImprove wallpaper feature (diff)
downloadsharkey-2a04f2ca4d1c89d9d54a1bcf75dd51f3a1594dfa.tar.gz
sharkey-2a04f2ca4d1c89d9d54a1bcf75dd51f3a1594dfa.tar.bz2
sharkey-2a04f2ca4d1c89d9d54a1bcf75dd51f3a1594dfa.zip
Improve follow-requests page
Diffstat (limited to 'src')
-rw-r--r--src/client/app.vue6
-rw-r--r--src/client/pages/follow-requests.vue61
2 files changed, 46 insertions, 21 deletions
diff --git a/src/client/app.vue b/src/client/app.vue
index fdd050c714..fb69e742ae 100644
--- a/src/client/app.vue
+++ b/src/client/app.vue
@@ -58,13 +58,13 @@
<fa :icon="faComments" fixed-width/><span class="text">{{ $t('messaging') }}</span>
<i v-if="$store.state.i.hasUnreadMessagingMessage"><fa :icon="faCircle"/></i>
</router-link>
+ <router-link class="item" active-class="active" to="/my/drive" v-if="$store.getters.isSignedIn">
+ <fa :icon="faCloud" fixed-width/><span class="text">{{ $t('drive') }}</span>
+ </router-link>
<router-link class="item" active-class="active" to="/my/follow-requests" v-if="$store.getters.isSignedIn && $store.state.i.isLocked">
<fa :icon="faUserClock" fixed-width/><span class="text">{{ $t('followRequests') }}</span>
<i v-if="$store.state.i.pendingReceivedFollowRequestsCount"><fa :icon="faCircle"/></i>
</router-link>
- <router-link class="item" active-class="active" to="/my/drive" v-if="$store.getters.isSignedIn">
- <fa :icon="faCloud" fixed-width/><span class="text">{{ $t('drive') }}</span>
- </router-link>
<div class="divider"></div>
<router-link class="item" active-class="active" to="/featured">
<fa :icon="faFireAlt" fixed-width/><span class="text">{{ $t('featured') }}</span>
diff --git a/src/client/pages/follow-requests.vue b/src/client/pages/follow-requests.vue
index 1038e89d6e..a212cd0e37 100644
--- a/src/client/pages/follow-requests.vue
+++ b/src/client/pages/follow-requests.vue
@@ -1,27 +1,40 @@
<template>
-<mk-pagination :pagination="pagination" #default="{items}" class="mk-follow-requests" ref="list">
- <div class="user _panel" v-for="(req, i) in items" :key="req.id">
- <mk-avatar class="avatar" :user="req.follower"/>
- <div class="body">
- <div class="name">
- <router-link class="name" :to="req.follower | userPage" v-user-preview="req.follower.id"><mk-user-name :user="req.follower"/></router-link>
- <p class="acct">@{{ req.follower | acct }}</p>
- </div>
- <div class="description" v-if="req.follower.description" :title="req.follower.description">
- <mfm :text="req.follower.description" :is-note="false" :author="req.follower" :i="$store.state.i" :custom-emojis="req.follower.emojis" :plain="true" :nowrap="true"/>
+<div>
+ <portal to="icon"><fa :icon="faUserClock"/></portal>
+ <portal to="title">{{ $t('followRequests') }}</portal>
+
+ <mk-pagination :pagination="pagination" class="mk-follow-requests" ref="list">
+ <template #empty>
+ <div class="tkdrhpxr">
+ <img src="https://xn--931a.moe/assets/info.png" alt="" class="_ghost"/>
+ <div>{{ $t('noFollowRequests') }}</div>
</div>
- <div class="actions">
- <button class="_button" @click="accept(req.follower)"><fa :icon="faCheck"/></button>
- <button class="_button" @click="reject(req.follower)"><fa :icon="faTimes"/></button>
+ </template>
+ <template #default="{items}">
+ <div class="user _panel" v-for="req in items" :key="req.id">
+ <mk-avatar class="avatar" :user="req.follower"/>
+ <div class="body">
+ <div class="name">
+ <router-link class="name" :to="req.follower | userPage" v-user-preview="req.follower.id"><mk-user-name :user="req.follower"/></router-link>
+ <p class="acct">@{{ req.follower | acct }}</p>
+ </div>
+ <div class="description" v-if="req.follower.description" :title="req.follower.description">
+ <mfm :text="req.follower.description" :is-note="false" :author="req.follower" :i="$store.state.i" :custom-emojis="req.follower.emojis" :plain="true" :nowrap="true"/>
+ </div>
+ <div class="actions">
+ <button class="_button" @click="accept(req.follower)"><fa :icon="faCheck"/></button>
+ <button class="_button" @click="reject(req.follower)"><fa :icon="faTimes"/></button>
+ </div>
+ </div>
</div>
- </div>
- </div>
-</mk-pagination>
+ </template>
+ </mk-pagination>
+</div>
</template>
<script lang="ts">
import Vue from 'vue';
-import { faCheck, faTimes } from '@fortawesome/free-solid-svg-icons';
+import { faUserClock, faCheck, faTimes } from '@fortawesome/free-solid-svg-icons';
import MkPagination from '../components/ui/pagination.vue';
export default Vue.extend({
@@ -41,7 +54,7 @@ export default Vue.extend({
endpoint: 'following/requests/list',
limit: 10,
},
- faCheck, faTimes
+ faCheck, faTimes, faUserClock
};
},
@@ -62,6 +75,18 @@ export default Vue.extend({
<style lang="scss" scoped>
.mk-follow-requests {
+ .tkdrhpxr {
+ padding: 32px;
+ text-align: center;
+
+ > img {
+ vertical-align: bottom;
+ height: 128px;
+ margin-bottom: 16px;
+ border-radius: 16px;
+ }
+ }
+
> .user {
display: flex;
padding: 16px;