wip(app): open button

This commit is contained in:
Adam 2026-02-04 05:05:02 -06:00
commit 2264c93b6b
13 changed files with 183 additions and 31 deletions

View file

@ -0,0 +1,24 @@
import type { Component, JSX } from "solid-js"
import { splitProps } from "solid-js"
import sprite from "./file-icons/sprite.svg"
import type { IconName } from "./file-icons/types"
export type FileTypeIconProps = JSX.SVGElementTags["svg"] & {
id: IconName
}
export const FileTypeIcon: Component<FileTypeIconProps> = (props) => {
const [local, rest] = splitProps(props, ["id", "class", "classList"])
return (
<svg
data-component="file-type-icon"
{...rest}
classList={{
...(local.classList ?? {}),
[local.class ?? ""]: !!local.class,
}}
>
<use href={`${sprite}#${local.id}`} />
</svg>
)
}