diff --git a/src-web/components/EmptyStateText.tsx b/src-web/components/EmptyStateText.tsx index 839319b1..d059611c 100644 --- a/src-web/components/EmptyStateText.tsx +++ b/src-web/components/EmptyStateText.tsx @@ -5,5 +5,9 @@ interface Props { } export function EmptyStateText({ children }: Props) { - return
{children}
; + return ( +
+ {children} +
+ ); } diff --git a/src-web/components/RequestPane.tsx b/src-web/components/RequestPane.tsx index 38371b9b..ad8ff86d 100644 --- a/src-web/components/RequestPane.tsx +++ b/src-web/components/RequestPane.tsx @@ -96,9 +96,7 @@ export const RequestPane = memo(function RequestPane({ style, fullHeight, classN label: (
Headers - h.name && h.value).length} - /> + h.name).length} />
), }, @@ -164,7 +162,7 @@ export const RequestPane = memo(function RequestPane({ style, fullHeight, classN label="Request" onChangeValue={setActiveTab} tabs={tabs} - className="mt-1" + tabListClassName="mt-2" > {activeRequest.authenticationType === AUTH_TYPE_BASIC ? ( @@ -199,7 +197,7 @@ export const RequestPane = memo(function RequestPane({ style, fullHeight, classN onChange={() => null} /> - + {activeRequest.bodyType === BODY_TYPE_JSON ? ( + {headers.map((h, i) => { + return ( + 0 && 'border-t border-highlightSecondary', 'py-1')} + > +
{h.name}
+
{h.value}
+
+ ); + })} + + ); +} diff --git a/src-web/components/ResponsePane.tsx b/src-web/components/ResponsePane.tsx index 014ad8ae..b7e4db64 100644 --- a/src-web/components/ResponsePane.tsx +++ b/src-web/components/ResponsePane.tsx @@ -21,6 +21,7 @@ import { StatusColor } from './core/StatusColor'; import { TabContent, Tabs } from './core/Tabs/Tabs'; import { Webview } from './core/Webview'; import { EmptyStateText } from './EmptyStateText'; +import { ResponseHeaders } from './ResponseHeaders'; interface Props { style?: CSSProperties; @@ -81,7 +82,11 @@ export const ResponsePane = memo(function ResponsePane({ style, className }: Pro > {activeResponse && ( <> @@ -171,14 +176,7 @@ export const ResponsePane = memo(function ResponsePane({ style, className }: Pro ) : null}
- + )} diff --git a/src-web/components/core/CountBadge.tsx b/src-web/components/core/CountBadge.tsx index 0b4a1f22..9f2d55a6 100644 --- a/src-web/components/core/CountBadge.tsx +++ b/src-web/components/core/CountBadge.tsx @@ -5,8 +5,10 @@ interface Props { export function CountBadge({ count }: Props) { if (count === 0) return null; return ( -
- {count} -
+ <> +
+ {count} +
+ ); } diff --git a/src-web/components/core/PairEditor.tsx b/src-web/components/core/PairEditor.tsx index 25220783..d9fa0289 100644 --- a/src-web/components/core/PairEditor.tsx +++ b/src-web/components/core/PairEditor.tsx @@ -117,13 +117,12 @@ export const PairEditor = memo(function PairEditor({ ); const handleFocus = useCallback( - (pair: PairContainer) => { - const isLast = pair.id === pairs[pairs.length - 1]?.id; - if (isLast) { - setPairs((pairs) => [...pairs, newPairContainer()]); - } - }, - [pairs], + (pair: PairContainer) => + setPairs((pairs) => { + const isLast = pair.id === pairs[pairs.length - 1]?.id; + return isLast ? [...pairs, newPairContainer()] : pairs; + }), + [], ); // Ensure there's always at least one pair @@ -138,7 +137,7 @@ export const PairEditor = memo(function PairEditor({ className={classnames( className, '@container', - 'overflow-auto max-h-full pb-2 grid', + 'pb-2 grid', // Move over the width of the drag handle '-ml-3', )} diff --git a/src-web/components/core/Tabs/Tabs.tsx b/src-web/components/core/Tabs/Tabs.tsx index e0b1f088..f8f8b3dd 100644 --- a/src-web/components/core/Tabs/Tabs.tsx +++ b/src-web/components/core/Tabs/Tabs.tsx @@ -73,18 +73,15 @@ export function Tabs({ aria-label={label} className={classnames( tabListClassName, - 'h-md flex items-center overflow-x-auto hide-scrollbars', - // Give space for button focus states within overflow boundary + 'flex items-center overflow-x-auto hide-scrollbars mt-1 mb-2', + // Give space for button focus states within overflow boundary. 'px-2 -mx-2', )} > - + {tabs.map((t) => { const isActive = t.value === value; - const btnClassName = classnames( - '!px-1', - isActive ? 'text-gray-900' : 'text-gray-600 hover:text-gray-800', - ); + const btnClassName = classnames(isActive ? 'bg-highlightSecondary' : 'text-gray-600'); if ('options' in t) { const option = t.options.items.find( (i) => 'value' in i && i.value === t.options?.value, @@ -148,7 +145,7 @@ export const TabContent = memo(function TabContent({ diff --git a/tailwind.config.cjs b/tailwind.config.cjs index 3730d891..f9ddab7c 100644 --- a/tailwind.config.cjs +++ b/tailwind.config.cjs @@ -32,6 +32,7 @@ module.exports = { "sans": ["Inter", "sans-serif"] }, fontSize: { + '3xs': "0.6rem", '2xs': "0.7rem", xs: "0.8rem", sm: "0.9rem",