forked from AkkomaGang/akkoma-fe
Extract user card from user content.
This commit is contained in:
parent
dcb9a5fa17
commit
83a376a254
3 changed files with 49 additions and 34 deletions
43
src/components/user_card_content/user_card_content.vue
Normal file
43
src/components/user_card_content/user_card_content.vue
Normal file
|
@ -0,0 +1,43 @@
|
|||
<template>
|
||||
<div>
|
||||
<div class="panel-heading text-center" v-bind:style="style">
|
||||
<div class='user-info'>
|
||||
<img :src="user.profile_image_url">
|
||||
<span class="glyphicon glyphicon-user"></span>
|
||||
<div class='user-name'>{{user.name}}</div>
|
||||
<div class='user-screen-name'>@{{user.screen_name}}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<div class="user-counts">
|
||||
<div class="user-count">
|
||||
<h5>Statuses</h5>
|
||||
<span>{{user.statuses_count}}</span>
|
||||
</div>
|
||||
<div class="user-count">
|
||||
<h5>Following</h5>
|
||||
<span>{{user.friends_count}}</span>
|
||||
</div>
|
||||
<div class="user-count">
|
||||
<h5>Followers</h5>
|
||||
<span>{{user.followers_count}}</span>
|
||||
</div>
|
||||
</div>
|
||||
<p>{{user.description}}</p>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
props: [ 'user' ],
|
||||
computed: {
|
||||
style () {
|
||||
return {
|
||||
color: `#${this.user.profile_link_color}`,
|
||||
'background-image': `url(${this.user.cover_photo})`
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
|
@ -1,19 +1,15 @@
|
|||
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'
|
||||
|
||||
const UserPanel = {
|
||||
computed: {
|
||||
user () { return this.$store.state.users.currentUser },
|
||||
style () {
|
||||
return {
|
||||
color: `#${this.user.profile_link_color}`,
|
||||
'background-image': `url(${this.user.cover_photo})`
|
||||
}
|
||||
}
|
||||
user () { return this.$store.state.users.currentUser }
|
||||
},
|
||||
components: {
|
||||
LoginForm,
|
||||
PostStatusForm
|
||||
PostStatusForm,
|
||||
UserCardContent
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,32 +1,8 @@
|
|||
<template>
|
||||
<div class="user-panel">
|
||||
<div v-if='user' class="panel panel-default">
|
||||
<!-- Default panel contents -->
|
||||
<div class="panel-heading text-center" v-bind:style="style">
|
||||
<div class='user-info'>
|
||||
<img :src="user.profile_image_url">
|
||||
<span class="glyphicon glyphicon-user"></span>
|
||||
<div class='user-name'>{{user.name}}</div>
|
||||
<div class='user-screen-name'>@{{user.screen_name}}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<div class="user-counts">
|
||||
<div class="user-count">
|
||||
<h5>Statuses</h5>
|
||||
<span>{{user.statuses_count}}</span>
|
||||
</div>
|
||||
<div class="user-count">
|
||||
<h5>Following</h5>
|
||||
<span>{{user.friends_count}}</span>
|
||||
</div>
|
||||
<div class="user-count">
|
||||
<h5>Followers</h5>
|
||||
<span>{{user.followers_count}}</span>
|
||||
</div>
|
||||
</div>
|
||||
<p>{{user.description}}</p>
|
||||
</div>
|
||||
|
||||
<user-card-content :user="user"></user-card-content>
|
||||
|
||||
<div class="panel-footer">
|
||||
<post-status-form v-if='user'></post-status-form>
|
||||
|
|
Loading…
Reference in a new issue