commit: a7ea9c519594f4516a3f159976159922a0193c91
parent: 7ba40ff7e21de4622671f7da1e9210f7380b9341
Author: Roger Braun <roger@rogerbraun.net>
Date: Thu, 27 Oct 2016 18:02:28 +0200
Add UserPanel.
Diffstat:
2 files changed, 57 insertions(+), 0 deletions(-)
diff --git a/src/components/user_panel/user_panel.js b/src/components/user_panel/user_panel.js
@@ -0,0 +1,18 @@
+import LoginForm from '../login_form/login_form.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})`
+ }
+ }
+ },
+ components: {
+ LoginForm
+ }
+}
+
+export default UserPanel
diff --git a/src/components/user_panel/user_panel.vue b/src/components/user_panel/user_panel.vue
@@ -0,0 +1,39 @@
+<template>
+ <div class="user-panel">
+ <div v-if='user' class="panel panel-default" v-bind:style="style">
+ <!-- Default panel contents -->
+ <div class="panel-heading text-center">
+ <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 class="panel-footer">
+ <post-status-form></post-status-form>
+ </div>
+ </div>
+ <login-form v-if='!user'></login-form>
+ </div>
+</template>
+
+<script src="./user_panel.js"></script>