truncate music name if too long

This commit is contained in:
2025-04-27 23:02:01 -04:00
parent b21ebc79ef
commit af01392f20
2 changed files with 58 additions and 58 deletions
+2 -2
View File
@@ -142,8 +142,8 @@ export default function MouseFlashlight() {
</div>
</div>
<div className="border border-white border-solid rounded-lg w-full sm:w-[500px]">
<div className="grid grid-cols-1 xs:grid-cols-2 p-2">
<div className="border border-white border-solid rounded-lg w-full sm:w-[500px] p-2">
<div className="grid grid-cols-1 xs:grid-cols-2">
<div className="mx-auto">
<div>
<h1 className="text-2xl font-bold italic opacity-95 inline">
+26 -26
View File
@@ -1,18 +1,18 @@
import { useState, useEffect } from 'react';
import { useState, useEffect } from "react";
type MusicObject = {
artist: {
mbid: string,
"#text": string
},
name: string,
image: ImageObject[],
url: string
}
mbid: string;
"#text": string;
};
name: string;
image: ImageObject[];
url: string;
};
type ImageObject = {
size: "small" | "medium" | "large" | "extralarge",
"#text": string
}
size: "small" | "medium" | "large" | "extralarge";
"#text": string;
};
export default function MusicComponent() {
const [music, setMusic] = useState<MusicObject | null>(null);
@@ -20,29 +20,29 @@ export default function MusicComponent() {
useEffect(() => {
async function fetchMusic() {
const response = await fetch("https://api.alexav.gg/v4/social/music")
const response = await fetch("https://api.alexav.gg/v4/social/music");
if (response.ok) {
const data = await response.json()
setMusic(data.data.tracks[0] as MusicObject)
} else setFailedFetch(true)
const data = await response.json();
setMusic(data.data.tracks[0] as MusicObject);
} else setFailedFetch(true);
}
setTimeout(() => {
fetchMusic()
}, 60000)
fetchMusic()
}, [])
fetchMusic();
}, 60000);
fetchMusic();
}, []);
if (music) {
return (
<div className="flex align-middle">
<img width="50" src={music.image[1]['#text']} />
<div className="pl-2">
<h1>{music.name}</h1>
<p>{music.artist['#text']}</p>
<img width="50" src={music.image[1]["#text"]} />
<div className="pl-2 max-w-25">
<h1 className="truncate">{music.name}</h1>
<p className="truncate">{music.artist["#text"]}</p>
</div>
</div>
)
);
} else {
if (failedFetch) {
return (
@@ -50,14 +50,14 @@ export default function MusicComponent() {
<h1>uh oh!</h1>
<p>failed to get music :(</p>
</div>
)
);
} else {
return (
<div>
<h1>loading music..</h1>
<p>loading artist..</p>
</div>
)
);
}
}
}