feat(client): show an indicator on the Info tab when a request has a description (#645)

Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
Gregory Schier
2026-09-13 09:12:42 -07:00
committed by GitHub
co-authored by Claude Fable 5.1
parent 90cb578e26
commit cb7ed9264d
3 changed files with 12 additions and 3 deletions
@@ -133,6 +133,8 @@ export function GrpcRequestPane({
onSend({ message: activeRequest.message }); onSend({ message: activeRequest.message });
}, [activeRequest, onSend]); }, [activeRequest, onSend]);
const hasDescription = activeRequest.description.trim().length > 0;
const tabs: TabItem[] = useMemo( const tabs: TabItem[] = useMemo(
() => [ () => [
{ value: TAB_MESSAGE, label: "Message" }, { value: TAB_MESSAGE, label: "Message" },
@@ -146,10 +148,10 @@ export function GrpcRequestPane({
{ {
value: TAB_DESCRIPTION, value: TAB_DESCRIPTION,
label: "Info", label: "Info",
rightSlot: activeRequest.description && <CountBadge count={true} />, rightSlot: hasDescription && <CountBadge count={true} />,
}, },
], ],
[activeRequest.description, authTab, metadataTab, numSettingsOverrides], [authTab, hasDescription, metadataTab, numSettingsOverrides],
); );
const handleMetadataChange = useCallback( const handleMetadataChange = useCallback(
@@ -165,6 +165,8 @@ export function HttpRequestPane({ style, fullHeight, className, activeRequest }:
: 0; : 0;
} }
const hasDescription = activeRequest.description.trim().length > 0;
const tabs = useMemo<TabItem[]>( const tabs = useMemo<TabItem[]>(
() => [ () => [
{ {
@@ -260,6 +262,7 @@ export function HttpRequestPane({ style, fullHeight, className, activeRequest }:
{ {
value: TAB_DESCRIPTION, value: TAB_DESCRIPTION,
label: "Info", label: "Info",
rightSlot: hasDescription && <CountBadge count={true} />,
}, },
], ],
[ [
@@ -267,6 +270,7 @@ export function HttpRequestPane({ style, fullHeight, className, activeRequest }:
authTab, authTab,
contentType, contentType,
handleContentTypeChange, handleContentTypeChange,
hasDescription,
headersTab, headersTab,
numParams, numParams,
numSettingsOverrides, numSettingsOverrides,
@@ -110,6 +110,8 @@ export function WebsocketRequestPane({ style, fullHeight, className, activeReque
[activeRequest.url, activeRequest.urlParameters, handleRenamePathPlaceholder], [activeRequest.url, activeRequest.urlParameters, handleRenamePathPlaceholder],
); );
const hasDescription = activeRequest.description.trim().length > 0;
const tabs = useMemo<TabItem[]>(() => { const tabs = useMemo<TabItem[]>(() => {
return [ return [
{ {
@@ -131,9 +133,10 @@ export function WebsocketRequestPane({ style, fullHeight, className, activeReque
{ {
value: TAB_DESCRIPTION, value: TAB_DESCRIPTION,
label: "Info", label: "Info",
rightSlot: hasDescription && <CountBadge count={true} />,
}, },
]; ];
}, [authTab, headersTab, numSettingsOverrides, urlParameterPairs.length]); }, [authTab, hasDescription, headersTab, numSettingsOverrides, urlParameterPairs.length]);
const { activeResponse } = usePinnedHttpResponse(activeRequestId); const { activeResponse } = usePinnedHttpResponse(activeRequestId);
const { mutate: cancelResponse } = useCancelHttpResponse(activeResponse?.id ?? null); const { mutate: cancelResponse } = useCancelHttpResponse(activeResponse?.id ?? null);