45 lines
1.2 KiB
Text
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>
|
|
|