42 lines
1.1 KiB
Text
42 lines
1.1 KiB
Text
---
|
|
import type { QuickshellVariant } from "@config/io/types";
|
|
import { FourDiamonds } from "../icons";
|
|
import TypeDetails from "./TypeDetails.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">
|
|
<p class="typedata-name typevariant-name">
|
|
<FourDiamonds client:idle/>
|
|
{ item }
|
|
</p>
|
|
{
|
|
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>
|
|
|