aboutsummaryrefslogtreecommitdiff
path: root/src/components
diff options
context:
space:
mode:
Diffstat (limited to 'src/components')
-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/post_status_form/post_status_form.js9
-rw-r--r--src/components/post_status_form/post_status_form.vue5
-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.vue18
7 files changed, 34 insertions, 22 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/post_status_form/post_status_form.js b/src/components/post_status_form/post_status_form.js
index acc97c86..1f63de25 100644
--- a/src/components/post_status_form/post_status_form.js
+++ b/src/components/post_status_form/post_status_form.js
@@ -64,14 +64,15 @@ const PostStatusForm = {
img: profile_image_url_original
}))
} else if (firstchar === ':') {
- const matchedEmoji = filter(this.emoji, (emoji) => emoji.shortcode.match(this.textAtCaret.slice(1)))
+ const matchedEmoji = filter(this.emoji.concat(this.customEmoji), (emoji) => emoji.shortcode.match(this.textAtCaret.slice(1)))
if (matchedEmoji.length <= 0) {
return false
}
- return map(take(matchedEmoji, 5), ({shortcode, image_url}) => ({
+ return map(take(matchedEmoji, 5), ({shortcode, image_url, utf}) => ({
// eslint-disable-next-line camelcase
screen_name: `:${shortcode}:`,
name: '',
+ utf: utf || '',
img: image_url
}))
} else {
@@ -90,6 +91,9 @@ const PostStatusForm = {
},
emoji () {
return this.$store.state.config.emoji || []
+ },
+ customEmoji () {
+ return this.$store.state.config.customEmoji || []
}
},
methods: {
@@ -104,6 +108,7 @@ const PostStatusForm = {
},
postStatus (newStatus) {
if (this.posting) { return }
+ if (this.submitDisabled) { return }
if (this.newStatus.status === '') {
if (this.newStatus.files.length > 0) {
diff --git a/src/components/post_status_form/post_status_form.vue b/src/components/post_status_form/post_status_form.vue
index bb2329f3..8e436428 100644
--- a/src/components/post_status_form/post_status_form.vue
+++ b/src/components/post_status_form/post_status_form.vue
@@ -6,8 +6,9 @@
</div>
<div style="position:relative;" v-if="candidates">
<div class="autocomplete-panel base05-background">
- <div v-for="candidate in candidates" @click="replace(candidate.screen_name + ' ')" class="autocomplete base02">
- <img :src="candidate.img"></img>
+ <div v-for="candidate in candidates" @click="replace(candidate.utf || (candidate.screen_name + ' '))" class="autocomplete base02">
+ <span v-if="candidate.img"><img :src="candidate.img"></img></span>
+ <span v-else>{{candidate.utf}}</span>
<span>
{{candidate.screen_name}}
<small class="base02">{{candidate.name}}</small>
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 d5c904a2..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>