coryd.dev/src/data/nowPlaying.js

42 lines
1 KiB
JavaScript

import EleventyFetch from "@11ty/eleventy-fetch";
const { POSTGREST_URL, POSTGREST_API_KEY } = process.env;
const fetchLatestListen = async () => {
try {
const data = await EleventyFetch(
`${POSTGREST_URL}/optimized_latest_listen?select=*`,
{
duration: "1h",
type: "json",
fetchOptions: {
method: "GET",
headers: {
"Content-Type": "application/json",
Authorization: `Bearer ${POSTGREST_API_KEY}`,
},
},
},
);
const trackData = data[0];
if (!trackData) {
return { content: "🎧 No recent listens found" };
}
const emoji = trackData.artist_emoji || trackData.genre_emoji || "🎧";
return {
content: `${emoji} ${
trackData.track_name
} by <a href="https://www.coryd.dev${trackData.url}">${trackData.artist_name}</a>`,
};
} catch (error) {
console.error("Error fetching the latest listen:", error);
return {};
}
};
export default async function () {
return await fetchLatestListen();
}