diff --git a/src/components/user_card_content/user_card_content.js b/src/components/user_card_content/user_card_content.js index 6e67a321..32d62ebb 100644 --- a/src/components/user_card_content/user_card_content.js +++ b/src/components/user_card_content/user_card_content.js @@ -22,6 +22,11 @@ export default { isOtherUser () { return this.user.id !== this.$store.state.users.currentUser.id }, + subscribeUrl () { + // eslint-disable-next-line no-undef + const serverUrl = new URL(this.user.statusnet_profile_url) + return `${serverUrl.protocol}//${serverUrl.host}/main/ostatus` + }, loggedIn () { return this.$store.state.users.currentUser }, diff --git a/src/components/user_card_content/user_card_content.vue b/src/components/user_card_content/user_card_content.vue index 4c40c55f..ef000c94 100644 --- a/src/components/user_card_content/user_card_content.vue +++ b/src/components/user_card_content/user_card_content.vue @@ -46,6 +46,15 @@ </button> </span> </div> + <div class="remote-follow" v-if='!loggedIn && user.is_local'> + <form method="POST" :action='subscribeUrl'> + <input type="hidden" name="nickname" :value="user.screen_name"> + <input type="hidden" name="profile" value=""> + <button click="submit" class="remote-button base05 base02-background"> + {{ $t('user_card.remote_follow') }} + </button> + </form> + </div> <div class='block' v-if='isOtherUser && loggedIn'> <span v-if='user.statusnet_blocking'> <button @click="unblockUser" class="base04 base00-background pressed"> @@ -182,6 +191,11 @@ min-height: 28px; } + .remote-follow { + max-width: 220px; + min-height: 28px; + } + .follow { max-width: 220px; min-height: 28px; @@ -191,6 +205,12 @@ width: 92%; height: 100%; } + + .remote-button { + height: 28px !important; + width: 92%; + } + .pressed { border-bottom-color: rgba(255, 255, 255, 0.2); border-top-color: rgba(0, 0, 0, 0.2); diff --git a/src/i18n/messages.js b/src/i18n/messages.js index d4128ab7..f3f1e2d4 100644 --- a/src/i18n/messages.js +++ b/src/i18n/messages.js @@ -208,7 +208,8 @@ const en = { muted: 'Muted', followers: 'Followers', followees: 'Following', - per_day: 'per day' + per_day: 'per day', + remote_follow: 'Remote follow' }, timeline: { show_new: 'Show new',