Chamilo is a learning management system focused on ease of use and accessibility
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
chamilo-lms/assets/vue/views/social/SocialLayout.vue

51 lines
1.3 KiB

<template>
<div class="flex flex-col md:flex-row gap-4">
<div class="md:basis-1/3 lg:basis-1/4 2xl:basis-1/6 flex flex-col">
<BaseCard plain>
<img
:src="user.illustrationUrl"
class="mb-2 p-3 rounded-full"
/>
<div class="flex flex-col text-center">
<div class="text-xl">{{ user.fullName }}</div>
<div class="text-lg">{{ user.username }}</div>
</div>
</BaseCard>
<SocialSideMenu />
</div>
<div class="md:basis-2/3 lg:basis-1/2 2xl:basis-4/6">
<SocialNetworkWall />
</div>
</div>
</template>
<script setup>
import { useStore } from "vuex"
import { onMounted, provide, readonly, ref, watch } from "vue"
import SocialNetworkWall from "./SocialWall.vue"
import { useRoute } from "vue-router"
import SocialSideMenu from "../../components/social/SocialSideMenu.vue"
//import AddFriendSidebar from "../../components/userreluser/AddFriendSidebar.vue";
const store = useStore()
const route = useRoute()
const user = ref({})
provide("social-user", readonly(user))
async function loadUser() {
try {
user.value = route.query.id ? await store.dispatch("user/load", route.query.id) : store.getters["security/getUser"]
} catch (e) {
user.value = {}
}
}
onMounted(loadUser)
watch(() => route.query, loadUser)
</script>