OneLauncher-Cracked/apps/desktop/src/ui/components/game/LoaderIcon.tsx
2024-07-13 02:24:38 +02:00

33 lines
824 B
TypeScript

import { type JSX, splitProps } from 'solid-js';
import fabric from '~assets/logos/fabric.png';
import forge from '~assets/logos/forge.png';
import quilt from '~assets/logos/quilt.png';
import vanilla from '~assets/logos/vanilla.png';
import type { Loader } from '~bindings';
export function getLoaderIcon(loader: Loader): string {
switch (loader) {
case 'forge':
return forge;
case 'fabric':
return fabric;
case 'quilt':
return quilt;
case 'vanilla':
default:
return vanilla;
}
}
type LoaderIconProp = JSX.HTMLAttributes<HTMLImageElement> & {
loader: Loader | undefined;
};
function LoaderIcon(props: LoaderIconProp) {
const [{ loader = 'vanilla' }, rest] = splitProps(props, ['loader']);
return (
<img {...rest} src={getLoaderIcon(loader)} alt={loader} />
);
}
export default LoaderIcon;