From 5e7b2db28d61ad81ef88953c1f78669084e95112 Mon Sep 17 00:00:00 2001 From: Gregory Schier Date: Tue, 27 Feb 2024 10:20:35 -0800 Subject: [PATCH] Methods in recent dropdown --- src-web/components/RecentRequestsDropdown.tsx | 2 ++ src-web/components/Sidebar.tsx | 12 ++++-------- src-web/components/core/HttpMethodTag.tsx | 14 +++++++++++--- 3 files changed, 17 insertions(+), 11 deletions(-) diff --git a/src-web/components/RecentRequestsDropdown.tsx b/src-web/components/RecentRequestsDropdown.tsx index f6e82604..40dab90f 100644 --- a/src-web/components/RecentRequestsDropdown.tsx +++ b/src-web/components/RecentRequestsDropdown.tsx @@ -14,6 +14,7 @@ import type { ButtonProps } from './core/Button'; import { Button } from './core/Button'; import type { DropdownItem, DropdownRef } from './core/Dropdown'; import { Dropdown } from './core/Dropdown'; +import { HttpMethodTag } from './core/HttpMethodTag'; export function RecentRequestsDropdown({ className }: Pick) { const dropdownRef = useRef(null); @@ -63,6 +64,7 @@ export function RecentRequestsDropdown({ className }: Pick, + leftSlot: , onSelect: () => { routes.navigate('request', { requestId: request.id, diff --git a/src-web/components/Sidebar.tsx b/src-web/components/Sidebar.tsx index 859e6c35..3fb88d35 100644 --- a/src-web/components/Sidebar.tsx +++ b/src-web/components/Sidebar.tsx @@ -1,6 +1,6 @@ import classNames from 'classnames'; import type { ForwardedRef, ReactNode } from 'react'; -import React, { forwardRef, Fragment, useCallback, useMemo, useRef, useState } from 'react'; +import React, { Fragment, forwardRef, useCallback, useMemo, useRef, useState } from 'react'; import type { XYCoord } from 'react-dnd'; import { useDrag, useDrop } from 'react-dnd'; import { useKey, useKeyPressEvent } from 'react-use'; @@ -520,13 +520,9 @@ function SidebarItems({ } itemModel={child.item.model} itemPrefix={ - child.item.model === 'http_request' && child.item.bodyType === 'graphql' ? ( - GQL - ) : child.item.model === 'http_request' ? ( - {child.item.method} - ) : child.item.model === 'grpc_request' ? ( - GRPC - ) : null + (child.item.model === 'http_request' || child.item.model === 'grpc_request') && ( + + ) } onMove={handleMove} onEnd={handleEnd} diff --git a/src-web/components/core/HttpMethodTag.tsx b/src-web/components/core/HttpMethodTag.tsx index c336ee7b..6cfd52a7 100644 --- a/src-web/components/core/HttpMethodTag.tsx +++ b/src-web/components/core/HttpMethodTag.tsx @@ -1,7 +1,8 @@ import classNames from 'classnames'; +import type { GrpcRequest, HttpRequest } from '../../lib/models'; interface Props { - children: string; + request: HttpRequest | GrpcRequest; className?: string; } @@ -16,10 +17,17 @@ const methodMap: Record = { grpc: 'GRPC', }; -export function HttpMethodTag({ children: method, className }: Props) { +export function HttpMethodTag({ request, className }: Props) { + const method = + request.model === 'http_request' && request.bodyType === 'graphql' + ? 'GQL' + : request.model === 'grpc_request' + ? 'GRPC' + : request.method; + const m = method.toLowerCase(); return ( - + {methodMap[m] ?? m.slice(0, 3).toUpperCase()} );