fix lint errors in home.vue / index.listenbrainz.vue

This commit is contained in:
Hazelnoot 2024-10-26 12:58:07 -04:00
parent 75fc3de405
commit d2a4d6d9e0
5 changed files with 101 additions and 71 deletions

View file

@ -215,9 +215,9 @@ import { getStaticImageUrl } from '@/scripts/media-proxy.js';
import { infoImageUrl } from '@/instance.js';
const MkNote = defineAsyncComponent(() =>
(defaultStore.state.noteDesign === 'misskey') ? import('@/components/MkNote.vue') :
(defaultStore.state.noteDesign === 'sharkey') ? import('@/components/SkNote.vue') :
null
defaultStore.state.noteDesign === 'sharkey'
? import('@/components/SkNote.vue')
: import('@/components/MkNote.vue'),
);
function calcAge(birthdate: string): number {
@ -237,7 +237,7 @@ function calcAge(birthdate: string): number {
const XFiles = defineAsyncComponent(() => import('./index.files.vue'));
const XActivity = defineAsyncComponent(() => import('./index.activity.vue'));
const XListenBrainz = defineAsyncComponent(() => import("./index.listenbrainz.vue"));
const XListenBrainz = defineAsyncComponent(() => import('./index.listenbrainz.vue'));
//const XTimeline = defineAsyncComponent(() => import('./index.timeline.vue'));
const props = withDefaults(defineProps<{
@ -269,7 +269,7 @@ if (props.user.listenbrainz) {
const response = await fetch(`https://api.listenbrainz.org/1/user/${props.user.listenbrainz}/playing-now`, {
method: 'GET',
headers: {
'Content-Type': 'application/json'
'Content-Type': 'application/json',
},
});
const data = await response.json();
@ -286,11 +286,11 @@ const background = computed(() => {
if (props.user.backgroundUrl == null) return {};
if (defaultStore.state.disableShowingAnimatedImages) {
return {
'--backgroundImageStatic': `url('${getStaticImageUrl(props.user.backgroundUrl)}')`
'--backgroundImageStatic': `url('${getStaticImageUrl(props.user.backgroundUrl)}')`,
};
} else {
return {
'--backgroundImageStatic': `url('${props.user.backgroundUrl}')`
'--backgroundImageStatic': `url('${props.user.backgroundUrl}')`,
};
}
});
@ -303,7 +303,7 @@ const pagination = {
endpoint: 'users/featured-notes' as const,
limit: 10,
params: computed(() => ({
userId: props.user.id
userId: props.user.id,
})),
};

View file

@ -4,42 +4,39 @@ SPDX-License-Identifier: AGPL-3.0-only
-->
<template>
<MkContainer :foldable="true" :expanded="!collapsed">
<template #header
><i
class="ph-headphones ph-bold ph-lg"
style="margin-right: 0.5em"
></i
>Music</template
>
<MkContainer :foldable="true" :expanded="!collapsed">
<template #header>
<i
class="ph-headphones ph-bold ph-lg"
style="margin-right: 0.5em"
></i>Music
</template>
<div style="padding: 8px">
<div class="flex">
<a :href="listenbrainz.musicbrainzurl">
<img class="image" :src="listenbrainz.img" :alt="listenbrainz.title" />
<div class="flex flex-col items-start">
<p class="text-sm font-bold">Now Playing: {{ listenbrainz.title }}</p>
<p class="text-xs font-medium">{{ listenbrainz.artist }}</p>
</div>
</a>
<a :href="listenbrainz.listenbrainzurl">
<div class="playicon">
<i class="ph-play ph-bold ph-lg"></i>
</div>
</a>
</div>
<div style="padding: 8px">
<div class="flex">
<a :href="listenbrainz.musicbrainzurl">
<img class="image" :src="listenbrainz.img" :alt="listenbrainz.title"/>
<div class="flex flex-col items-start">
<p class="text-sm font-bold">Now Playing: {{ listenbrainz.title }}</p>
<p class="text-xs font-medium">{{ listenbrainz.artist }}</p>
</div>
</a>
<a :href="listenbrainz.listenbrainzurl">
<div class="playicon">
<i class="ph-play ph-bold ph-lg"></i>
</div>
</a>
</div>
</MkContainer>
</div>
</MkContainer>
</template>
<script lang="ts" setup>
/* eslint-disable no-mixed-spaces-and-tabs */
import {} from "vue";
import * as misskey from "misskey-js";
import MkContainer from "@/components/MkContainer.vue";
import * as misskey from 'misskey-js';
import MkContainer from '@/components/MkContainer.vue';
const props = withDefaults(
defineProps<{
user: misskey.entities.User;
user: misskey.entities.UserDetailed;
collapsed?: boolean;
}>(), {
collapsed: false,
@ -51,12 +48,12 @@ if (props.user.listenbrainz) {
const response = await fetch(`https://api.listenbrainz.org/1/metadata/lookup/?artist_name=${artist}&recording_name=${title}`, {
method: 'GET',
headers: {
'Content-Type': 'application/json'
'Content-Type': 'application/json',
},
});
const data = await response.json();
if (!data.recording_name) {
return null;
return null;
}
const titler: string = data.recording_name;
const artistr: string = data.artist_credit_name;
@ -66,35 +63,33 @@ if (props.user.listenbrainz) {
return [titler, artistr, img, musicbrainzurl, listenbrainzurl];
};
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();
method: 'GET',
headers: {
'Content-Type': 'application/json',
},
});
const data = await response.json();
if (data.payload.listens && data.payload.listens.length !== 0) {
const title: string = data.payload.listens[0].track_metadata.track_name;
const artist: string = data.payload.listens[0].track_metadata.artist_name;
const lastlisten: string = data.payload.listens[0].playing_now;
const img: string = 'https://coverartarchive.org/img/big_logo.svg';
await getLMData(title, artist).then((data) => {
if (!data) {
listenbrainz.title = title;
listenbrainz.img = img;
listenbrainz.artist = artist;
listenbrainz.lastlisten = lastlisten;
return;
} else {
listenbrainz.title = data[0];
listenbrainz.img = data[2];
listenbrainz.artist = data[1];
listenbrainz.lastlisten = lastlisten;
listenbrainz.musicbrainzurl = data[3];
listenbrainz.listenbrainzurl = data[4];
return;
}
});
}
const title: string = data.payload.listens[0].track_metadata.track_name;
const artist: string = data.payload.listens[0].track_metadata.artist_name;
const lastlisten: string = data.payload.listens[0].playing_now;
const img = 'https://coverartarchive.org/img/big_logo.svg';
await getLMData(title, artist).then((lmData) => {
if (!lmData) {
listenbrainz.title = title;
listenbrainz.img = img;
listenbrainz.artist = artist;
listenbrainz.lastlisten = lastlisten;
} else {
listenbrainz.title = lmData[0];
listenbrainz.img = lmData[2];
listenbrainz.artist = lmData[1];
listenbrainz.lastlisten = lastlisten;
listenbrainz.musicbrainzurl = lmData[3];
listenbrainz.listenbrainzurl = lmData[4];
}
});
}
}
</script>
@ -121,8 +116,7 @@ if (props.user.listenbrainz) {
}
.text-sm {
font-size: 0.875rem;
margin: 0;
margin-bottom: 0.3rem;
margin: 0 0 0.3rem;
}
.font-bold {
font-weight: 700;