diff --git a/packages/frontend/src/pages/user/home.vue b/packages/frontend/src/pages/user/home.vue
index 1f1c72e53..cf42f96c1 100644
--- a/packages/frontend/src/pages/user/home.vue
+++ b/packages/frontend/src/pages/user/home.vue
@@ -198,6 +198,9 @@ SPDX-License-Identifier: AGPL-3.0-only
+
+
+
@@ -210,11 +213,11 @@ SPDX-License-Identifier: AGPL-3.0-only
+ v-if="user.listenbrainz && listenbrainzdata"
+ :key="user.id"
+ :user="user"
+ style="margin-top: var(--margin)"
+ />
@@ -290,22 +293,24 @@ const moderationNote = ref(props.user.moderationNote);
const editModerationNote = ref(false);
const movedFromLog = ref(null);
-let listenbrainzdata = false;
+let listenbrainzdata = ref(false);
if (props.user.listenbrainz) {
- try {
- const response = await fetch(`https://api.listenbrainz.org/1/user/${props.user.listenbrainz}/playing-now`, {
- method: 'GET',
- headers: {
- 'Content-Type': 'application/json'
- },
- });
- const data = await response.json();
- if (data.payload.listens && data.payload.listens.length !== 0) {
- listenbrainzdata = true;
+ (async function() {
+ try {
+ const response = await fetch(`https://api.listenbrainz.org/1/user/${props.user.listenbrainz}/playing-now`, {
+ method: 'GET',
+ headers: {
+ 'Content-Type': 'application/json',
+ },
+ });
+ const data = await response.json();
+ if (data.payload.listens && data.payload.listens.length !== 0) {
+ listenbrainzdata.value = true;
+ }
+ } catch (err) {
+ listenbrainzdata.value = false;
}
- } catch (err) {
- listenbrainzdata = false;
- }
+ })();
}
watch(moderationNote, async () => {