quickshell-web/src/components/type/Variants.astro

45 lines
1.2 KiB
Text

---
import type { QuickshellVariant } from "@config/io/types";
import { FourDiamonds } from "../icons";
import TypeDetails from "./TypeDetails.astro";
import TypeTitle from "./TypeTitle.astro";
export interface Props {
variantKeys: string[];
variantsData: QuickshellVariant;
}
const { variantKeys, variantsData } = Astro.props;
---
<ul class="typedata typevariants">
{
variantKeys.map(item => {
const variantData = variantsData[item];
const paramKeys = variantData.params && variantData.params.length > 0
? variantData.params.map(param => param.name)
: [];
return (
<li id={ item } class="typedata-root typevariant-root">
<TypeTitle
typekind="variant"
typename={item}
typelink=""
typelink_text=""
/>
{
paramKeys ? (
<div class="typedata-params typevariant-params">
{paramKeys.map(paramKey => (
<span class="typedata-param typevariant-param">{paramKey}</span>
))}
</div>
)
:null
}
<TypeDetails markdown={variantData.details} />
</li>
)
})
}
</ul>