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> <MkLazy>
<XActivity :key="user.id" :user="user"/> <XActivity :key="user.id" :user="user"/>
</MkLazy> </MkLazy>
<MkLazy v-if="user.listenbrainz && listenbrainzdata">
<XListenBrainz :key="user.id" :user="user" :collapsed="true"/>
</MkLazy>
</template> </template>
<div v-if="!disableNotes"> <div v-if="!disableNotes">
<MkLazy> <MkLazy>
@ -290,22 +293,24 @@ const moderationNote = ref(props.user.moderationNote);
const editModerationNote = ref(false); const editModerationNote = ref(false);
const movedFromLog = ref<null | {movedFromId:string;}[]>(null); const movedFromLog = ref<null | {movedFromId:string;}[]>(null);
let listenbrainzdata = false; let listenbrainzdata = ref(false);
if (props.user.listenbrainz) { if (props.user.listenbrainz) {
(async function() {
try { try {
const response = await fetch(`https://api.listenbrainz.org/1/user/${props.user.listenbrainz}/playing-now`, { const response = await fetch(`https://api.listenbrainz.org/1/user/${props.user.listenbrainz}/playing-now`, {
method: 'GET', method: 'GET',
headers: { headers: {
'Content-Type': 'application/json' 'Content-Type': 'application/json',
}, },
}); });
const data = await response.json(); const data = await response.json();
if (data.payload.listens && data.payload.listens.length !== 0) { if (data.payload.listens && data.payload.listens.length !== 0) {
listenbrainzdata = true; listenbrainzdata.value = true;
} }
} catch (err) { } catch (err) {
listenbrainzdata = false; listenbrainzdata.value = false;
} }
})();
} }
watch(moderationNote, async () => { watch(moderationNote, async () => {