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