-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathutils.ts
31 lines (27 loc) · 1.19 KB
/
utils.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import favecon from "favecon";
export function setDarkMode() {
document.documentElement.style.setProperty("--body-bg-color", "#000");
document.documentElement.style.setProperty("--body-color", "#FFF");
document.documentElement.style.setProperty("--link-color", "#FFC400");
document.documentElement.style.setProperty("--link-visited-color", "#C27DC0");
document.documentElement.style.setProperty("--rss-orange", "#ee802f");
}
export function setLightMode() {
document.documentElement.style.setProperty("--body-bg-color", "#FFF");
document.documentElement.style.setProperty("--body-color", "#000");
document.documentElement.style.setProperty("--link-color", "#00E");
document.documentElement.style.setProperty("--link-visited-color", "#551A8B");
document.documentElement.style.setProperty("--rss-orange", "#ee802f");
}
export async function getFavicon(link?: string): Promise<string | undefined> {
try {
const feedFavicon =
(link && (await favecon.getBestIcons(link))[0]?.href) ??
(await fetch(`${link}/favicon.ico`, { method: "HEAD" }).then((res) =>
res.ok ? `${link}/favicon.ico` : undefined
));
return feedFavicon;
} catch {
return undefined;
}
}