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}
-
- {activeResponse?.headers.map((h) => (
- -
- {h.name}:{' '}
- {h.value}
-
- ))}
-
+
)}
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({
{children}
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",