+
{{ user.name }}
-
+
@{{user.screen_name}}
@@ -26,7 +26,7 @@
diff --git a/src/components/user_card_content/user_card_content.js b/src/components/user_card_content/user_card_content.js
deleted file mode 100644
index 96c6036c..00000000
--- a/src/components/user_card_content/user_card_content.js
+++ /dev/null
@@ -1,148 +0,0 @@
-import UserAvatar from '../user_avatar/user_avatar.vue'
-import { hex2rgb } from '../../services/color_convert/color_convert.js'
-import { requestFollow, requestUnfollow } from '../../services/follow_manipulate/follow_manipulate'
-import generateProfileLink from 'src/services/user_profile_link_generator/user_profile_link_generator'
-
-export default {
- props: [ 'user', 'switcher', 'selected', 'hideBio', 'rounded', 'bordered' ],
- data () {
- return {
- followRequestInProgress: false,
- followRequestSent: false,
- hideUserStatsLocal: typeof this.$store.state.config.hideUserStats === 'undefined'
- ? this.$store.state.instance.hideUserStats
- : this.$store.state.config.hideUserStats,
- betterShadow: this.$store.state.interface.browserSupport.cssFilter
- }
- },
- computed: {
- classes () {
- return [{
- 'user-card-content-rt': this.rounded === 'top', // set border-top-left-radius and border-top-right-radius
- 'user-card-content-r': this.rounded === true, // set border-radius for all sides
- 'user-card-content-b': this.bordered === true // set border for all sides
- }]
- },
- style () {
- const color = this.$store.state.config.customTheme.colors
- ? this.$store.state.config.customTheme.colors.bg // v2
- : this.$store.state.config.colors.bg // v1
-
- if (color) {
- const rgb = (typeof color === 'string') ? hex2rgb(color) : color
- const tintColor = `rgba(${Math.floor(rgb.r)}, ${Math.floor(rgb.g)}, ${Math.floor(rgb.b)}, .5)`
-
- const gradient = [
- [tintColor, this.hideBio ? '60%' : ''],
- this.hideBio ? [
- color, '100%'
- ] : [
- tintColor, ''
- ]
- ].map(_ => _.join(' ')).join(', ')
-
- return {
- backgroundColor: `rgb(${Math.floor(rgb.r * 0.53)}, ${Math.floor(rgb.g * 0.56)}, ${Math.floor(rgb.b * 0.59)})`,
- backgroundImage: [
- `linear-gradient(to bottom, ${gradient})`,
- `url(${this.user.cover_photo})`
- ].join(', ')
- }
- }
- },
- 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
- },
- dailyAvg () {
- const days = Math.ceil((new Date() - new Date(this.user.created_at)) / (60 * 60 * 24 * 1000))
- return Math.round(this.user.statuses_count / days)
- },
- userHighlightType: {
- get () {
- const data = this.$store.state.config.highlight[this.user.screen_name]
- return data && data.type || 'disabled'
- },
- set (type) {
- const data = this.$store.state.config.highlight[this.user.screen_name]
- if (type !== 'disabled') {
- this.$store.dispatch('setHighlight', { user: this.user.screen_name, color: data && data.color || '#FFFFFF', type })
- } else {
- this.$store.dispatch('setHighlight', { user: this.user.screen_name, color: undefined })
- }
- }
- },
- userHighlightColor: {
- get () {
- const data = this.$store.state.config.highlight[this.user.screen_name]
- return data && data.color
- },
- set (color) {
- this.$store.dispatch('setHighlight', { user: this.user.screen_name, color })
- }
- },
- visibleRole () {
- const validRole = (this.user.role === 'admin' || this.user.role === 'moderator')
- const showRole = this.isOtherUser || this.user.show_role
-
- return validRole && showRole && this.user.role
- }
- },
- components: {
- UserAvatar
- },
- methods: {
- followUser () {
- this.followRequestInProgress = true
- requestFollow(this.user, this.$store).then(({sent}) => {
- this.followRequestInProgress = false
- this.followRequestSent = sent
- })
- },
- unfollowUser () {
- this.followRequestInProgress = true
- requestUnfollow(this.user, this.$store).then(() => {
- this.followRequestInProgress = false
- })
- },
- blockUser () {
- const store = this.$store
- store.state.api.backendInteractor.blockUser(this.user.id)
- .then((blockedUser) => store.commit('addNewUsers', [blockedUser]))
- },
- unblockUser () {
- const store = this.$store
- store.state.api.backendInteractor.unblockUser(this.user.id)
- .then((unblockedUser) => store.commit('addNewUsers', [unblockedUser]))
- },
- toggleMute () {
- const store = this.$store
- store.commit('setMuted', {user: this.user, muted: !this.user.muted})
- store.state.api.backendInteractor.setUserMute(this.user)
- },
- setProfileView (v) {
- if (this.switcher) {
- const store = this.$store
- store.commit('setProfileView', { v })
- }
- },
- linkClicked ({target}) {
- if (target.tagName === 'SPAN') {
- target = target.parentNode
- }
- if (target.tagName === 'A') {
- window.open(target.href, '_blank')
- }
- },
- userProfileLink (user) {
- return generateProfileLink(user.id, user.screen_name, this.$store.state.instance.restrictedNicknames)
- }
- }
-}
diff --git a/src/components/user_card_content/user_card_content.vue b/src/components/user_card_content/user_card_content.vue
deleted file mode 100644
index e003e850..00000000
--- a/src/components/user_card_content/user_card_content.vue
+++ /dev/null
@@ -1,420 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
{{user.name}}
-
-
-
-
-
-
-
-
-
- @{{user.screen_name}}
- {{visibleRole}}
-
- {{dailyAvg}} {{ $t('user_card.per_day') }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
{{ $t('user_card.statuses') }}
- {{user.statuses_count}}
-
-
-
{{ $t('user_card.followees') }}
- {{user.friends_count}}
-
-
-
{{ $t('user_card.followers') }}
- {{user.followers_count}}
-
-
-
-
{{ user.description }}
-
-
-
-
-
-
-
diff --git a/src/components/user_panel/user_panel.js b/src/components/user_panel/user_panel.js
index 15804b88..d4478290 100644
--- a/src/components/user_panel/user_panel.js
+++ b/src/components/user_panel/user_panel.js
@@ -1,6 +1,6 @@
import LoginForm from '../login_form/login_form.vue'
import PostStatusForm from '../post_status_form/post_status_form.vue'
-import UserCardContent from '../user_card_content/user_card_content.vue'
+import UserCard from '../user_card/user_card.vue'
const UserPanel = {
computed: {
@@ -9,7 +9,7 @@ const UserPanel = {
components: {
LoginForm,
PostStatusForm,
- UserCardContent
+ UserCard
}
}
diff --git a/src/components/user_panel/user_panel.vue b/src/components/user_panel/user_panel.vue
index 4b3d8971..8310f30e 100644
--- a/src/components/user_panel/user_panel.vue
+++ b/src/components/user_panel/user_panel.vue
@@ -1,7 +1,7 @@
-
+
diff --git a/src/components/user_profile/user_profile.js b/src/components/user_profile/user_profile.js
index cdf1cee9..54126514 100644
--- a/src/components/user_profile/user_profile.js
+++ b/src/components/user_profile/user_profile.js
@@ -1,6 +1,6 @@
import { compose } from 'vue-compose'
import get from 'lodash/get'
-import UserCardContent from '../user_card_content/user_card_content.vue'
+import UserCard from '../user_card/user_card.vue'
import FollowCard from '../follow_card/follow_card.vue'
import Timeline from '../timeline/timeline.vue'
import withLoadMore from '../../hocs/with_load_more/with_load_more'
@@ -147,7 +147,7 @@ const UserProfile = {
}
},
components: {
- UserCardContent,
+ UserCard,
Timeline,
FollowerList,
FriendList
diff --git a/src/components/user_profile/user_profile.vue b/src/components/user_profile/user_profile.vue
index c57d3409..7d4a8b1f 100644
--- a/src/components/user_profile/user_profile.vue
+++ b/src/components/user_profile/user_profile.vue
@@ -1,7 +1,7 @@