mirror of
https://github.com/karl0ss/homepage.git
synced 2025-04-29 12:03:41 +01:00
better handle the full selfh.st icon set
This commit is contained in:
parent
dc67024be2
commit
1e9e911877
@ -7,7 +7,6 @@ import { ThemeContext } from "utils/contexts/theme";
|
|||||||
const iconSetURLs = {
|
const iconSetURLs = {
|
||||||
mdi: "https://cdn.jsdelivr.net/npm/@mdi/svg@latest/svg/",
|
mdi: "https://cdn.jsdelivr.net/npm/@mdi/svg@latest/svg/",
|
||||||
si: "https://cdn.jsdelivr.net/npm/simple-icons@latest/icons/",
|
si: "https://cdn.jsdelivr.net/npm/simple-icons@latest/icons/",
|
||||||
sh: "https://cdn.jsdelivr.net/gh/selfhst/icons@main/svg/", // or via GH's CDN https://icons.selfh.st/svg/
|
|
||||||
};
|
};
|
||||||
|
|
||||||
export default function ResolvedIcon({ icon, width = 32, height = 32, alt = "logo" }) {
|
export default function ResolvedIcon({ icon, width = 32, height = 32, alt = "logo" }) {
|
||||||
@ -36,6 +35,26 @@ export default function ResolvedIcon({ icon, width = 32, height = 32, alt = "log
|
|||||||
// check mdi- or si- prefixed icons
|
// check mdi- or si- prefixed icons
|
||||||
const prefix = icon.split("-")[0];
|
const prefix = icon.split("-")[0];
|
||||||
|
|
||||||
|
if (prefix === "sh") {
|
||||||
|
const iconName = icon.replace("sh-", "").replace(".svg", "").replace(".png", "").replace(".webp", "");
|
||||||
|
const extension = icon.endsWith(".svg") ? "svg" : icon.endsWith(".webp") ? "webp" : "png";
|
||||||
|
return (
|
||||||
|
<Image
|
||||||
|
src={`https://cdn.jsdelivr.net/gh/selfhst/icons@main/${extension}/${iconName}.${extension}`}
|
||||||
|
width={width}
|
||||||
|
height={height}
|
||||||
|
style={{
|
||||||
|
width,
|
||||||
|
height,
|
||||||
|
objectFit: "contain",
|
||||||
|
maxHeight: "100%",
|
||||||
|
maxWidth: "100%",
|
||||||
|
}}
|
||||||
|
alt={alt}
|
||||||
|
/>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
if (prefix in iconSetURLs) {
|
if (prefix in iconSetURLs) {
|
||||||
// default to theme setting
|
// default to theme setting
|
||||||
let iconName = icon.replace(`${prefix}-`, "").replace(".svg", "");
|
let iconName = icon.replace(`${prefix}-`, "").replace(".svg", "");
|
||||||
|
Loading…
x
Reference in New Issue
Block a user