<template> <div id="page-content-wrapper" class="main"> <fetch-profile> <template slot-scope="{response, loading}"> <slot :response="response" :loading="loading"> <div v-if="loading || response === null"></div> <div v-else> <!-- {{response}}--> <h4 class="round">General Information</h4> <div class="panel panel-default"> <div class="panel-body"> <div class="container-fluid col-md-12"> <div class="row"> <div class="text col-sm-3">User Name</div> <div class="col-sm-9"> <b>{{response.username}}</b> </div> </div> <div class="row"> <div class="text col-sm-3">Email</div> <div class="col-sm-9"> {{response.email}} </div> </div> <div class="row"> <div class="text col-sm-3">Role</div> <div class="col-sm-9"> {{response.role.name}} </div> </div> <div class="row"> <div class="text col-sm-3">Affiliation</div> <div class="col-sm-9"> {{response.Affiliation}} </div> </div> <div class="row"> <div class="text col-sm-3">Link</div> <div class="col-sm-9"> {{response.ProfileLink}} </div> </div> <div class="row"> <div class="text col-sm-3">Joined</div> <div class="col-sm-9"> {{response.createdAt}} </div> </div> <div class="row"> <div class="text col-sm-3">Updated</div> <div class="col-sm-9"> {{response.updatedAt}} </div> </div> </div> </div> </div> </div> </slot> </template> </fetch-profile> </div> </template> <script> import FetchProfile from "@/components/CMS/fetchProfile"; const _ = require('lodash') export default { name: 'ProfilePage', components: { FetchProfile }, props: { msg: String }, data() { return { isDev: process.env.NODE_ENV === 'development' } }, computed: { }, methods: { }, mounted: function () { const vm = this vm.userData = window.localStorage.getItem('userData') if(vm.userData === null) { this.$router.push('/login') } } } </script> <!-- Add "scoped" attribute to limit CSS to this component only --> <style> @import url('~@/assets/bootstrap.css'); .main { margin: 1.5rem; } h3 { margin: 40px 0 0; } a { color: #42b983; } .panel { font-size: 1.2rem; } ul.a { list-style-type: disc; list-style-position: inside; } </style>