Skip to content

Commit f64a8ee

Browse files
committed
Fixup Parameter Links
1 parent 2819916 commit f64a8ee

File tree

3 files changed

+50
-43
lines changed

3 files changed

+50
-43
lines changed

components/ParameterBox.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ export const ParameterBox: React.FC<{ parameter: ParameterDetail }> = ({ paramet
1111
const parts = parameter.name.split('.');
1212
const groupName = parts.length > 1 ? parts.slice(0, -1).join('.') : null;
1313
const parameterName = parts.length > 1 ? parts[parts.length - 1] : parameter.name;
14-
const parameterId = parameter.name.replace(".", "-")
14+
const parameterId = parameter.name.replaceAll(".", "-")
1515

1616
return (
1717
<Box

components/Parameters.tsx

Lines changed: 46 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -61,47 +61,52 @@ const Parameters: React.FC<{ parameters: ParametersArray }> = ({ parameters }) =
6161
setSelectedComponent(component);
6262
setSearchValue('');
6363
}} />
64-
{Object.entries(groupedParameters).map(([group, groupParams]) => (
65-
<Box
66-
key={group}
67-
onMouseEnter={() => setHover(true)}
68-
onMouseLeave={() => setHover(false)}
69-
>
70-
<Typography
71-
sx={{
72-
marginTop: ".5em"
73-
74-
}}
75-
variant="h4"
76-
gutterBottom
77-
id={group}
78-
>
79-
{group}
80-
{hover && group && group !== "" && (
81-
<IconButton
82-
size={"small"}
83-
onClick={async (e: React.MouseEvent<HTMLButtonElement>) => {
84-
e.stopPropagation()
85-
// Copy link to clipboard
86-
const url = new URL(window.location.href);
87-
url.hash = group
88-
await navigator.clipboard.writeText(url.toString());
89-
window.location.hash = group
90-
}}
91-
>
92-
<Link fontSize={"small"}/>
93-
</IconButton>
94-
)}
95-
</Typography>
96-
97-
{group && group !== "" && (
98-
<Divider sx={{ height: "0.5em", backgroundColor: "#0885ff", width: "100%", borderRadius: "0.5em" }} />
99-
)}
100-
{groupParams.map((param, index) => (
101-
<ParameterBox key={param.name} parameter={param} />
102-
))}
103-
</Box>
104-
))}
64+
{Object.entries(groupedParameters).map(([group, groupParams]) => {
65+
66+
const group_hash = group.replaceAll('.', '-');
67+
68+
return (
69+
<Box
70+
key={group}
71+
onMouseEnter={() => setHover(true)}
72+
onMouseLeave={() => setHover(false)}
73+
>
74+
<Typography
75+
sx={{
76+
marginTop: ".5em"
77+
78+
}}
79+
variant="h4"
80+
gutterBottom
81+
id={group_hash}
82+
>
83+
{group}
84+
{hover && group && group !== "" && (
85+
<IconButton
86+
size={"small"}
87+
onClick={async (e: React.MouseEvent<HTMLButtonElement>) => {
88+
e.stopPropagation()
89+
// Copy link to clipboard
90+
const url = new URL(window.location.href);
91+
url.hash = group_hash
92+
await navigator.clipboard.writeText(url.toString());
93+
window.location.hash = group_hash
94+
}}
95+
>
96+
<Link fontSize={"small"}/>
97+
</IconButton>
98+
)}
99+
</Typography>
100+
101+
{group && group !== "" && (
102+
<Divider sx={{height: "0.5em", backgroundColor: "#0885ff", width: "100%", borderRadius: "0.5em"}}/>
103+
)}
104+
{groupParams.map((param, index) => (
105+
<ParameterBox key={param.name} parameter={param}/>
106+
))}
107+
</Box>
108+
)
109+
})}
105110
{filteredParameters.length === 0 && (searchValue || selectedComponent) ? (
106111
<Typography variant="h5">No results found</Typography>
107112
) : null}

utils/types.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,9 @@ export interface ParameterDetail {
6464
name: string;
6565
type: string;
6666
root_default?: string;
67-
}
67+
client_default?: string;
68+
server_default?: string;
69+
}
6870

6971
export interface Parameter {
7072
[key: string]: ParameterDetail;

0 commit comments

Comments
 (0)