From 1c7bffb3d77c0f0799e8f727d9988dcb8a7ecf1f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20G=C3=B6bel?= <dgoebel@techfak.uni-bielefeld.de> Date: Tue, 18 Jun 2024 13:48:33 +0000 Subject: [PATCH] Fix profile picture when missing gravatar url #128 --- src/components/AppHeader.vue | 7 +++++++ src/views/admin/AdminUsersView.vue | 11 +++++++++-- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/src/components/AppHeader.vue b/src/components/AppHeader.vue index 331c790..97d73da 100644 --- a/src/components/AppHeader.vue +++ b/src/components/AppHeader.vue @@ -3,6 +3,7 @@ import { useUserStore } from "@/stores/users"; import { useRoute, useRouter } from "vue-router"; import { watch, ref, computed } from "vue"; import { OpenAPI } from "@/client"; +import FontAwesomeIcon from "@/components/FontAwesomeIcon.vue"; const userRepository = useUserStore(); const route = useRoute(); @@ -265,12 +266,18 @@ watch( > <strong class="me-2">{{ userRepository.user.display_name }}</strong> <img + v-if="userRepository.user.gravatar_url" :src="userRepository.user.gravatar_url + '?d=mp&s=32'" class="rounded-circle" height="32" width="32" alt="profile picture" /> + <font-awesome-icon + v-else + icon="fa-solid fa-circle-user" + class="text-secondary fs-4" + /> </a> <ul class="dropdown-menu text-small shadow" diff --git a/src/views/admin/AdminUsersView.vue b/src/views/admin/AdminUsersView.vue index 693fed2..69fa6ea 100644 --- a/src/views/admin/AdminUsersView.vue +++ b/src/views/admin/AdminUsersView.vue @@ -213,12 +213,19 @@ onMounted(() => { <tr v-for="(user, index) in userState.users" :key="user.uid"> <th scope="row"> <img + v-if="user.gravatar_url" :src="user.gravatar_url + '?d=mp&s=32'" - class="rounded-circle me-2" + class="rounded-circle" height="32" width="32" alt="profile picture" - />{{ user.display_name }} + /> + <font-awesome-icon + v-else + icon="fa-solid fa-circle-user" + class="text-secondary fs-4" + /> + <span class="ms-2">{{ user.display_name }}</span> </th> <td>{{ user.uid }}</td> <td -- GitLab