Skip to content

Commit cb39285

Browse files
committed
fix: style
1 parent 958f203 commit cb39285

File tree

4 files changed

+81
-34
lines changed

4 files changed

+81
-34
lines changed

src/pages/Requests/components/ListItem.tsx

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,9 @@ import css from '@emotion/css/macro'
55
import dayjs from 'dayjs'
66
import tw from 'twin.macro'
77
import React from 'react'
8+
89
import { RequestItem } from '../../../types'
10+
import MethodBadge from './MethodBadge'
911

1012
const ListItem: React.FC<{ req: RequestItem }> = ({ req }) => {
1113
return (
@@ -21,18 +23,11 @@ const ListItem: React.FC<{ req: RequestItem }> = ({ req }) => {
2123
height: 1.5rem;
2224
`,
2325
]}>
24-
<div
25-
css={[
26-
tw`rounded px-1 text-white`,
27-
css`
28-
height: 1rem;
29-
line-height: 1rem;
30-
font-size: 0.5rem;
31-
`,
32-
req.status === 'Active' ? tw`bg-green-500` : tw`bg-blue-500`,
33-
]}>
34-
{req.method}
35-
</div>
26+
<MethodBadge
27+
method={req.method}
28+
failed={req.failed}
29+
status={req.status}
30+
/>
3631
<div tw="text-xs ml-1">#{req.id}</div>
3732
<div tw="text-xs ml-1">
3833
{dayjs.unix(req.startDate).format('HH:mm:ss')}
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
/** @jsx jsx */
2+
import { jsx } from '@emotion/core'
3+
import css from '@emotion/css/macro'
4+
import React from 'react'
5+
import tw from 'twin.macro'
6+
7+
const MethodBadge: React.FC<{
8+
failed: number
9+
method: string
10+
status: string
11+
}> = ({ failed, method, status }) => {
12+
return (
13+
<div
14+
css={[
15+
tw`rounded px-1 text-white inline-block`,
16+
css`
17+
height: 1rem;
18+
line-height: 1rem;
19+
font-size: 0.5rem;
20+
`,
21+
failed === 1
22+
? tw`bg-red-500`
23+
: status === 'Active'
24+
? tw`bg-green-500`
25+
: tw`bg-blue-500`,
26+
]}>
27+
{method}
28+
</div>
29+
)
30+
}
31+
32+
export default MethodBadge

src/pages/Requests/components/RequestModal.tsx

Lines changed: 40 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,11 @@ import 'react-tabs/style/react-tabs.css'
1717
import { DataGroup, DataRowMain } from '../../../components/Data'
1818
import { RequestItem } from '../../../types'
1919
import fetcher from '../../../utils/fetcher'
20+
import MethodBadge from './MethodBadge'
2021

2122
const TabsWrapper = styled.div`
2223
.react-tabs__tab {
23-
${tw`text-sm font-medium border-none`}
24+
${tw`text-sm font-medium border-none transition-colors duration-200 ease-in-out`}
2425
}
2526
.react-tabs__tab--selected {
2627
${tw`text-blue-500 bg-blue-100 border-none`}
@@ -61,7 +62,19 @@ const RequestModal: React.FC<RequestModalProps> = ({ req, onClose }) => {
6162
<ModalWrapper>
6263
<ModalHeader title={`Detail (#${req.id})`} onClose={onClose} />
6364

64-
<div tw="truncate text-base font-medium mb-3">{req.URL}</div>
65+
<div tw="mb-3 flex items-center">
66+
<div
67+
css={css`
68+
padding-bottom: 0.25rem;
69+
`}>
70+
<MethodBadge
71+
method={req.method}
72+
failed={req.failed}
73+
status={req.status}
74+
/>
75+
</div>
76+
<div tw="truncate text-base font-medium flex-1 ml-1">{req.URL}</div>
77+
</div>
6578

6679
<TabsWrapper>
6780
<Tabs>
@@ -113,24 +126,31 @@ const RequestModal: React.FC<RequestModalProps> = ({ req, onClose }) => {
113126
</DataRowMain>
114127
</DataGroup>
115128

116-
<DataGroup title="IP 地址">
117-
<DataRowMain tw="text-sm">
118-
<div>本地 IP 地址</div>
119-
<div>{req.localAddress}</div>
120-
</DataRowMain>
121-
<DataRowMain tw="text-sm">
122-
<div>远端 IP 地址</div>
123-
<div>
124-
<a
125-
href={`https://ip.sb/ip/${req.remoteAddress}`}
126-
target="_blank"
127-
rel="noreferrer noopener">
128-
<Search tw="inline mr-1 w-3 h-3" />
129-
{req.remoteAddress}
130-
</a>
131-
</div>
132-
</DataRowMain>
133-
</DataGroup>
129+
{!!req.localAddress && !!req.remoteAddress && (
130+
<DataGroup title="IP 地址">
131+
<DataRowMain tw="text-sm">
132+
<div>本地 IP 地址</div>
133+
<div>{req.localAddress}</div>
134+
</DataRowMain>
135+
<DataRowMain tw="text-sm">
136+
<div>远端 IP 地址</div>
137+
<div>
138+
<a
139+
href={`https://ip.sb/ip/${req.remoteAddress}`}
140+
target="_blank"
141+
rel="noreferrer noopener">
142+
<Search
143+
tw="inline mr-1 w-3 h-3"
144+
css={css`
145+
margin-bottom: 2px;
146+
`}
147+
/>
148+
{req.remoteAddress}
149+
</a>
150+
</div>
151+
</DataRowMain>
152+
</DataGroup>
153+
)}
134154

135155
<DataGroup title="流量">
136156
<DataRowMain tw="text-sm">

src/pages/Requests/index.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ const Page: React.FC = () => {
3434

3535
useEffect(() => {
3636
let newList = [...requestList]
37-
const pendingList = requests?.requests ?? []
37+
const pendingList = requests?.requests?.slice(0, LIST_ITEMS_MAX) ?? []
3838

3939
while (pendingList.length) {
4040
const request = pendingList.pop() as RequestItem
@@ -85,7 +85,7 @@ const Page: React.FC = () => {
8585

8686
return (
8787
<div
88-
key={`${req.id}`}
88+
key={key}
8989
style={style}
9090
onClick={() => openRequestDetail(setModal, req)}
9191
tw="flex flex-col justify-center py-2 cursor-pointer hover:bg-gray-100"

0 commit comments

Comments
 (0)