fix InlineError blank space and ElicitationUrlPanel URL overflow
Only render InlineError details Stack when there is content to show. Add wrapping Code theme variant for long URLs that would push buttons offscreen. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
abb2d57e40
commit
4a4818e933
3 changed files with 37 additions and 25 deletions
|
|
@ -16,28 +16,33 @@ export function InlineError({
|
|||
maxRetries,
|
||||
docLink,
|
||||
}: InlineErrorProps) {
|
||||
const hasDetails =
|
||||
retryCount !== undefined || details !== undefined || docLink !== undefined;
|
||||
|
||||
return (
|
||||
<Alert color="red" variant="light" title={message}>
|
||||
<Stack gap="xs">
|
||||
{retryCount !== undefined && (
|
||||
<Text size="sm">
|
||||
Retry attempt {retryCount}
|
||||
{maxRetries !== undefined && ` of ${maxRetries}`}
|
||||
</Text>
|
||||
)}
|
||||
{details && (
|
||||
<Spoiler maxHeight={0} showLabel="Show more" hideLabel="Show less">
|
||||
<Text size="sm">{details}</Text>
|
||||
</Spoiler>
|
||||
)}
|
||||
{docLink && (
|
||||
<Group>
|
||||
<Anchor href={docLink} target="_blank" size="sm">
|
||||
View Troubleshooting Guide →
|
||||
</Anchor>
|
||||
</Group>
|
||||
)}
|
||||
</Stack>
|
||||
{hasDetails && (
|
||||
<Stack gap="xs">
|
||||
{retryCount !== undefined && (
|
||||
<Text size="sm">
|
||||
Retry attempt {retryCount}
|
||||
{maxRetries !== undefined && ` of ${maxRetries}`}
|
||||
</Text>
|
||||
)}
|
||||
{details && (
|
||||
<Spoiler maxHeight={0} showLabel="Show more" hideLabel="Show less">
|
||||
<Text size="sm">{details}</Text>
|
||||
</Spoiler>
|
||||
)}
|
||||
{docLink && (
|
||||
<Group>
|
||||
<Anchor href={docLink} target="_blank" size="sm">
|
||||
View Troubleshooting Guide →
|
||||
</Anchor>
|
||||
</Group>
|
||||
)}
|
||||
</Stack>
|
||||
)}
|
||||
</Alert>
|
||||
);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -35,7 +35,9 @@ export function ElicitationUrlPanel({
|
|||
</Text>
|
||||
<Divider />
|
||||
<Text size="sm">The server is requesting you visit:</Text>
|
||||
<Code block>{url}</Code>
|
||||
<Code block variant="wrapping">
|
||||
{url}
|
||||
</Code>
|
||||
<Group>
|
||||
<Button variant="light" onClick={onCopyUrl}>
|
||||
Copy URL
|
||||
|
|
|
|||
|
|
@ -1,9 +1,14 @@
|
|||
import { Code } from "@mantine/core";
|
||||
|
||||
export const ThemeCode = Code.extend({
|
||||
styles: () => ({
|
||||
root: {
|
||||
styles: (_theme, props) => {
|
||||
const root: Record<string, string> = {
|
||||
backgroundColor: "var(--inspector-surface-code)",
|
||||
},
|
||||
}),
|
||||
};
|
||||
if (props.variant === "wrapping") {
|
||||
root.wordBreak = "break-all";
|
||||
root.whiteSpace = "pre-wrap";
|
||||
}
|
||||
return { root };
|
||||
},
|
||||
});
|
||||
|
|
|
|||
Loading…
Reference in a new issue