51 lines
1.7 KiB
Text
51 lines
1.7 KiB
Text
---
|
|
import type { QuickshellSignal } from "@config/io/types";
|
|
import { Tag, PowerCord } from "@icons";
|
|
import TypeDetails from "./TypeDetails.astro";
|
|
|
|
export interface Props {
|
|
signalKeys: string[];
|
|
signalsData: QuickshellSignal;
|
|
}
|
|
|
|
const { signalKeys, signalsData } = Astro.props;
|
|
---
|
|
<ul class="typedata typesignals">
|
|
{
|
|
signalKeys.map(item => {
|
|
const signalData = signalsData[item];
|
|
const paramKeys = signalData.params.length > 0 ? signalData.params.map((param,index) => `${param.name}${index !== signalData.params.length -1 ? ", ":""}`) : []
|
|
return (
|
|
<li id={ item } class="typedata-root typesignal-root">
|
|
<p class="typedata-name typesignal-name">
|
|
<PowerCord client:idle/>
|
|
{ item }(<span class="typedata-param">{paramKeys}</span>)<span class="typesignal-doclink"><a
|
|
href="/docs/configuration/qml-overview#-signals"
|
|
target="_blank"
|
|
>?</a></span>
|
|
</p>
|
|
{
|
|
signalData.params && signalData.params.length > 0 ? (
|
|
<p class="typedata-params typesignal-params">
|
|
{
|
|
signalData.params.map((param, _) => {
|
|
return (
|
|
<span class="typedata-param typesignal-param">
|
|
<Tag client:idle/>
|
|
{param.name}<span class="type-datatype">: <a
|
|
href=""
|
|
target="_blank"
|
|
>{param.type.name}</a></span>
|
|
</span>
|
|
)
|
|
})
|
|
}
|
|
</p>
|
|
) : null
|
|
}
|
|
<TypeDetails markdown={signalData.details} />
|
|
</li>
|
|
)
|
|
})
|
|
}
|
|
</ul>
|