Cherrypick listenbrainz #52

Open
leah wants to merge 13 commits from cherrypick/listenbrainz into main
Showing only changes of commit 0a0edca5c6 - Show all commits

View file

@ -198,6 +198,9 @@ SPDX-License-Identifier: AGPL-3.0-only
<MkLazy>
<XActivity :key="user.id" :user="user"/>
</MkLazy>
<MkLazy v-if="user.listenbrainz && listenbrainzdata">
<XListenBrainz :key="user.id" :user="user" :collapsed="true"/>
</MkLazy>
</template>
<div v-if="!disableNotes">
<MkLazy>
@ -210,11 +213,11 @@ SPDX-License-Identifier: AGPL-3.0-only
<XFiles :key="user.id" :user="user"/>
<XActivity :key="user.id" :user="user"/>
<XListenBrainz
v-if="user.listenbrainz && listenbrainzdata"
:key="user.id"
:user="user"
style="margin-top: var(--margin)"
/>
v-if="user.listenbrainz && listenbrainzdata"
:key="user.id"
:user="user"
style="margin-top: var(--margin)"
/>
</div>
</div>
</MkSpacer>
@ -290,22 +293,24 @@ const moderationNote = ref(props.user.moderationNote);
const editModerationNote = ref(false);
const movedFromLog = ref<null | {movedFromId:string;}[]>(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 () => {