aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/components/user_panel/user_panel.js18
-rw-r--r--src/components/user_panel/user_panel.vue39
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
new file mode 100644
index 00000000..fed42fca
--- /dev/null
+++ 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
new file mode 100644
index 00000000..9fcb4856
--- /dev/null
+++ 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>