the great typeinfo unfuckening
This commit is contained in:
parent
db63f5639f
commit
49fed51ced
15 changed files with 233 additions and 365 deletions
|
|
@ -4,22 +4,20 @@ import type {
|
|||
QMLTypeLinkObject,
|
||||
QuickshellProps,
|
||||
} from "@config/io/types";
|
||||
import { Tag, Flag } from "@icons";
|
||||
import { Tag } from "@icons";
|
||||
import TypeTitle from "./TypeTitle.astro";
|
||||
|
||||
import TypeDetails from "./TypeDetails.astro";
|
||||
|
||||
export interface Props {
|
||||
propsKeys: string[];
|
||||
propsData: QuickshellProps;
|
||||
props: QuickshellProps;
|
||||
}
|
||||
|
||||
const { propsKeys, propsData } = Astro.props;
|
||||
const { props } = Astro.props;
|
||||
---
|
||||
<ul class="typedata typeprops">
|
||||
{
|
||||
propsKeys.map(item => {
|
||||
const propData = propsData[item]
|
||||
Object.entries(props).map(([name, propData]) => {
|
||||
let typeLink:string;
|
||||
let linkText:string;
|
||||
let genericType:string|undefined;
|
||||
|
|
@ -37,10 +35,10 @@ const { propsKeys, propsData } = Astro.props;
|
|||
genericTypeLink = getQMLTypeLink(propData.type.of)
|
||||
}
|
||||
return (
|
||||
<li id={ item } class="typedata-root typeprop-root">
|
||||
<li id={ name } class="typedata-root typeprop-root">
|
||||
<TypeTitle
|
||||
typekind="prop"
|
||||
typename={item}
|
||||
typename={name}
|
||||
typelink={typeLink}
|
||||
typelink_text={linkText}
|
||||
typename_generic={genericType}
|
||||
|
|
|
|||
|
|
@ -1,30 +1,28 @@
|
|||
---
|
||||
import type { QuickshellSignal } from "@config/io/types";
|
||||
import { Tag, PowerCord } from "@icons";
|
||||
import { Tag } from "@icons";
|
||||
import TypeDetails from "./TypeDetails.astro";
|
||||
import TypeTitle from "./TypeTitle.astro";
|
||||
|
||||
export interface Props {
|
||||
signalKeys: string[];
|
||||
signalsData: QuickshellSignal;
|
||||
signals: QuickshellSignal;
|
||||
}
|
||||
|
||||
const { signalKeys, signalsData } = Astro.props;
|
||||
const { signals } = Astro.props;
|
||||
---
|
||||
<ul class="typedata typesignals">
|
||||
{
|
||||
signalKeys.map(item => {
|
||||
const signalData = signalsData[item];
|
||||
Object.entries(signals).map(([name, signalData]) => {
|
||||
const paramKeys = signalData.params.length > 0 ? signalData.params.map((param,index) => `${param.name}${index !== signalData.params.length -1 ? ", ":""}`) : []
|
||||
let genericType:string|undefined;
|
||||
let genericTypeLink:string|undefined;
|
||||
return (
|
||||
<li id={ item } class="typedata-root typesignal-root">
|
||||
<li id={ name } class="typedata-root typesignal-root">
|
||||
<TypeTitle
|
||||
typekind="signal"
|
||||
typename={item}
|
||||
typename={name}
|
||||
typelink="/docs/configuration/qml-overview#-signals"
|
||||
typelink_text={"?"}
|
||||
typelink_text=""
|
||||
typename_generic={genericType}
|
||||
typelink_generic={genericTypeLink}
|
||||
typedata_params={paramKeys}
|
||||
|
|
|
|||
|
|
@ -1,28 +1,25 @@
|
|||
---
|
||||
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;
|
||||
variants: QuickshellVariant;
|
||||
}
|
||||
|
||||
const { variantKeys, variantsData } = Astro.props;
|
||||
const { variants } = Astro.props;
|
||||
---
|
||||
<ul class="typedata typevariants">
|
||||
{
|
||||
variantKeys.map(item => {
|
||||
const variantData = variantsData[item];
|
||||
Object.entries(variants).map(([name, variantData]) => {
|
||||
const paramKeys = variantData.params && variantData.params.length > 0
|
||||
? variantData.params.map(param => param.name)
|
||||
: [];
|
||||
return (
|
||||
<li id={ item } class="typedata-root typevariant-root">
|
||||
<li id={ name } class="typedata-root typevariant-root">
|
||||
<TypeTitle
|
||||
typekind="variant"
|
||||
typename={item}
|
||||
typename={name}
|
||||
typelink=""
|
||||
typelink_text=""
|
||||
/>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue