diff options
| -rw-r--r-- | src/components/favorite_button/favorite_button.js | 2 | ||||
| -rw-r--r-- | src/components/favorite_button/favorite_button.vue | 10 | ||||
| -rw-r--r-- | src/components/retweet_button/retweet_button.js | 2 | ||||
| -rw-r--r-- | src/components/retweet_button/retweet_button.vue | 10 | ||||
| -rw-r--r-- | src/components/status/status.vue | 19 | ||||
| -rw-r--r-- | src/components/user_card_content/user_card_content.js | 5 | ||||
| -rw-r--r-- | src/components/user_card_content/user_card_content.vue | 20 | ||||
| -rw-r--r-- | src/i18n/messages.js | 3 |
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', |
