import { $, sleep } from "bun";
import { albumStuffF, fetchAlbumStuff } from "../lib/CiderV2Playing";
import { execFile } from "child_process";
import { rmSync } from "fs";
let x: albumStuffF | any = false;
try {
x = (await fetchAlbumStuff()) as albumStuffF;
} catch {}
function notifyWithImage(
song: string,
artUrl: string,
artist: string,
album: string,
) {
execFile("dunstify", [
"-t",
process.argv[3] === "rel" ? "1" : "2000",
"-r",
"67676767",
"-a",
"ocbwoy3-whatsplaying",
"-I",
artUrl,
song,
`${artist}
`, //${album !== "" ? `${album}` : ""}`
]);
}
console.log(process.argv[3]);
function notifyBasic(song: string, artist: string, album: string) {
execFile("dunstify", [
"-t",
process.argv[3] === "rel" ? "1" : "2000",
"-r",
"67676767",
"-a",
"ocbwoy3-whatsplaying",
song,
`${artist}`, //
${album !== "" ? `${album}` : ""}`
]);
}
if (process.argv[2] === "waybar") {
if (!x) {
process.stdout.write(
JSON.stringify({
class: "hidden",
}),
);
process.exit(0);
}
const y = x as albumStuffF;
process.stdout.write(
JSON.stringify({
// text: ` ${y.artist} — ${y.song}`.replaceAll("&", "&").replaceAll("<", "<").replaceAll(">", ">"),
text: ` ${y.artist} — ${y.song}`
.replaceAll("&", "&")
.replaceAll("<", "<")
.replaceAll(">", ">"),
tooltip: `${y.album}`
.replaceAll("&", "&")
.replaceAll("<", "<")
.replaceAll(">", ">"),
}),
);
}
if (process.argv[2] === "notif") {
const y = x as albumStuffF;
if (!x || !y.artUrl) process.exit(1);
try {
console.log(y.song, y.artUrl, y.artist, y.album);
notifyWithImage(y.song, y.artUrl, y.artist, y.album);
} catch {
notifyBasic(y.song, y.artist, y.album);
try {
rmSync(y.artUrl);
} catch {}
}
}