refactor(web): sweep AGENTS.md TypeScript + Mantine rule violations (#1771)
Codebase-wide sweep bringing the web client into strict compliance with the AGENTS.md TypeScript and Mantine/React conventions: ~170 inline 2+-static-prop elements extracted to named .withProps() constants across ~77 files, the AGENTS.md rule wording tightened to match (static-prop boundary + Accordion/Transition/data-*/Box exemptions), a real ScreenStage Box->Flex layout regression fixed (direction: column) with a Storybook regression guard, and an App.tsx double-cast tightened. Closes #1762.
This commit is contained in:
parent
8aba3122c5
commit
da37692485
1 changed files with 1567 additions and 991 deletions
|
|
@ -21,6 +21,14 @@ const FieldDescription = Text.withProps({
|
|||
c: "dimmed",
|
||||
});
|
||||
|
||||
// Indented column for a nested object's sub-fields.
|
||||
const IndentedStack = Stack.withProps({ gap: "sm", pl: "md" });
|
||||
|
||||
const SchemaJsonInput = JsonInput.withProps({
|
||||
formatOnBlur: true,
|
||||
autosize: true,
|
||||
});
|
||||
|
||||
function serializeJson(value: unknown): string {
|
||||
return JSON.stringify(value, null, 2);
|
||||
}
|
||||
|
|
@ -227,7 +235,7 @@ export function SchemaForm({
|
|||
<Stack key={fieldName} gap="sm">
|
||||
<FieldLabel>{label}</FieldLabel>
|
||||
{description && <FieldDescription>{description}</FieldDescription>}
|
||||
<Stack gap="sm" pl="md">
|
||||
<IndentedStack>
|
||||
<SchemaForm
|
||||
schema={fieldSchema}
|
||||
values={(rawValue as Record<string, unknown>) ?? {}}
|
||||
|
|
@ -236,21 +244,19 @@ export function SchemaForm({
|
|||
}
|
||||
disabled={disabled}
|
||||
/>
|
||||
</Stack>
|
||||
</IndentedStack>
|
||||
</Stack>
|
||||
);
|
||||
}
|
||||
|
||||
// fallback: JsonInput for complex schemas
|
||||
return (
|
||||
<JsonInput
|
||||
<SchemaJsonInput
|
||||
key={fieldName}
|
||||
label={label}
|
||||
description={description}
|
||||
withAsterisk={isRequired}
|
||||
disabled={disabled}
|
||||
formatOnBlur
|
||||
autosize
|
||||
value={rawValue !== undefined ? serializeJson(rawValue) : ""}
|
||||
onChange={(val) => {
|
||||
try {
|
||||
|
|
|
|||
Loading…
Reference in a new issue