aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/components/favorite_button/favorite_button.js2
-rw-r--r--src/components/favorite_button/favorite_button.vue10
-rw-r--r--src/components/retweet_button/retweet_button.js2
-rw-r--r--src/components/retweet_button/retweet_button.vue10
-rw-r--r--src/components/status/status.vue19
-rw-r--r--src/components/user_card_content/user_card_content.js5
-rw-r--r--src/components/user_card_content/user_card_content.vue20
-rw-r--r--src/i18n/messages.js3
8 files changed, 52 insertions, 19 deletions
diff --git a/src/components/favorite_button/favorite_button.js b/src/components/favorite_button/favorite_button.js
index 466e9b84..1266be90 100644
--- a/src/components/favorite_button/favorite_button.js
+++ b/src/components/favorite_button/favorite_button.js
@@ -1,5 +1,5 @@
const FavoriteButton = {
- props: ['status'],
+ props: ['status', 'loggedIn'],
data () {
return {
animated: false
diff --git a/src/components/favorite_button/favorite_button.vue b/src/components/favorite_button/favorite_button.vue
index dcf28e35..65d368c7 100644
--- a/src/components/favorite_button/favorite_button.vue
+++ b/src/components/favorite_button/favorite_button.vue
@@ -1,6 +1,10 @@
<template>
- <div>
- <i :class='classes' class='favorite-button base09' @click.prevent='favorite()'/>
+ <div v-if="loggedIn">
+ <i :class='classes' class='favorite-button fav-active base09' @click.prevent='favorite()'/>
+ <span v-if='status.fave_num > 0'>{{status.fave_num}}</span>
+ </div>
+ <div v-else>
+ <i :class='classes' class='favorite-button base09'/>
<span v-if='status.fave_num > 0'>{{status.fave_num}}</span>
</div>
</template>
@@ -8,7 +12,7 @@
<script src="./favorite_button.js" ></script>
<style lang='scss'>
- .favorite-button {
+ .fav-active {
cursor: pointer;
animation-duration: 0.6s;
&:hover {
diff --git a/src/components/retweet_button/retweet_button.js b/src/components/retweet_button/retweet_button.js
index 2280f315..4a43542d 100644
--- a/src/components/retweet_button/retweet_button.js
+++ b/src/components/retweet_button/retweet_button.js
@@ -1,5 +1,5 @@
const RetweetButton = {
- props: ['status'],
+ props: ['status', 'loggedIn'],
data () {
return {
animated: false
diff --git a/src/components/retweet_button/retweet_button.vue b/src/components/retweet_button/retweet_button.vue
index edbfef32..7a7ea763 100644
--- a/src/components/retweet_button/retweet_button.vue
+++ b/src/components/retweet_button/retweet_button.vue
@@ -1,6 +1,10 @@
<template>
- <div>
- <i :class='classes' class='icon-retweet base09' v-on:click.prevent='retweet()'></i>
+ <div v-if="loggedIn">
+ <i :class='classes' class='icon-retweet rt-active base09' v-on:click.prevent='retweet()'></i>
+ <span v-if='status.repeat_num > 0'>{{status.repeat_num}}</span>
+ </div>
+ <div v-else>
+ <i :class='classes' class='icon-retweet base09'></i>
<span v-if='status.repeat_num > 0'>{{status.repeat_num}}</span>
</div>
</template>
@@ -9,7 +13,7 @@
<style lang='scss'>
@import '../../_variables.scss';
- .icon-retweet {
+ .rt-active {
cursor: pointer;
animation-duration: 0.6s;
&:hover {
diff --git a/src/components/status/status.vue b/src/components/status/status.vue
index d6c8cdb3..3a8d164d 100644
--- a/src/components/status/status.vue
+++ b/src/components/status/status.vue
@@ -105,17 +105,15 @@
</div>
</div>
- <div v-if="loggedIn">
- <div class='status-actions'>
- <div>
- <a href="#" v-on:click.prevent="toggleReplying">
- <i class="base09 icon-reply" :class="{'icon-reply-active': replying}"></i>
- </a>
- </div>
- <retweet-button :status=status></retweet-button>
- <favorite-button :status=status></favorite-button>
- <delete-button :status=status></delete-button>
+ <div class='status-actions'>
+ <div v-if="loggedIn">
+ <a href="#" v-on:click.prevent="toggleReplying">
+ <i class="base09 icon-reply" :class="{'icon-reply-active': replying}"></i>
+ </a>
</div>
+ <retweet-button :loggedIn="loggedIn" :status=status></retweet-button>
+ <favorite-button :loggedIn="loggedIn" :status=status></favorite-button>
+ <delete-button :status=status></delete-button>
</div>
</div>
</div>
@@ -248,6 +246,7 @@
img, video {
max-width: 100%;
max-height: 400px;
+ vertical-align: middle;
object-fit: contain;
}
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',