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:
Cliff Hall 2026-07-25 11:38:49 -04:00 • committed by GitHub
commit da37692485
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -15,6 +15,13 @@ export interface ServerListControlsProps extends AddServerMenuProps {
writable?: boolean;
}
// `gap="sm"` matches the header's control spacing (its RightSection group), so
// these buttons sit the same distance apart as the header icons.
const ControlsRow = Group.withProps({
justify: "flex-end",
gap: "sm",
});
export function ServerListControls({
compact,
serverCount,
@ -26,9 +33,7 @@ export function ServerListControls({
writable = true,
}: ServerListControlsProps) {
return (
// `gap="sm"` matches the header's control spacing (its RightSection group),
// so these buttons sit the same distance apart as the header icons.
<Group justify="flex-end" gap="sm">
<ControlsRow>
<Button variant="default" onClick={onExport} disabled={serverCount === 0}>
Export
</Button>
@ -42,6 +47,6 @@ export function ServerListControls({
{serverCount > 0 && (
<ListToggle compact={compact} onToggle={onToggleList} />
)}
</Group>
</ControlsRow>
);
}