Skip to content

Commit e9052a6

Browse files
authored
feat(status): Add status view on RequestList (#18)
1 parent ee22664 commit e9052a6

File tree

3 files changed

+66
-22
lines changed

3 files changed

+66
-22
lines changed

src/pages/index/RequestList/index.module.scss

Lines changed: 38 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,46 @@
66
}
77

88
.request-list-item {
9-
.service-path {
10-
font-size: 0.7em;
11-
}
12-
.rpc-name {
13-
font-weight: bold;
14-
}
15-
.service-path,
16-
.rpc-name {
9+
display: flex;
10+
justify-content: space-between;
11+
12+
.list-main {
13+
.service-path {
14+
font-size: 0.7em;
15+
}
16+
.rpc-name {
17+
font-weight: bold;
18+
}
19+
1720
overflow: hidden;
1821
white-space: nowrap;
1922
text-overflow: ellipsis;
2023
}
24+
25+
.list-status {
26+
flex-shrink: 0;
27+
position: relative;
28+
color: var(--pb-fg-active);
29+
30+
.payload-circle {
31+
background-color: var(--oc-green-8);
32+
}
33+
34+
.error-circle {
35+
background-color: var(--oc-red-8);
36+
}
37+
38+
.payload-circle,
39+
.error-circle {
40+
margin-left: 0.25em;
41+
42+
position: relative;
43+
display: flex;
44+
align-items: center;
45+
justify-content: center;
46+
width: 1em;
47+
height: 1em;
48+
border-radius: 50%;
49+
}
50+
}
2151
}

src/pages/index/RequestList/index.tsx

Lines changed: 28 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -13,17 +13,29 @@ const RequestList: React.FC<RequestListProps> = () => {
1313
);
1414
return (
1515
<div className={style["request-list"]}>
16-
{requestList.map(({ key, servicePath, rpcName }) => (
17-
<Button
18-
key={key}
19-
className={style["request-list-item"]}
20-
data-selected={key === selectedRequestKey}
21-
onClick={() => setSelectedRequestKey(key)}
22-
>
23-
<div className={style["service-path"]}>{servicePath}</div>
24-
<div className={style["rpc-name"]}>{rpcName}</div>
25-
</Button>
26-
))}
16+
{requestList.map(
17+
({ key, servicePath, rpcName, responsePayloads, responseError }) => (
18+
<Button
19+
key={key}
20+
className={style["request-list-item"]}
21+
data-selected={key === selectedRequestKey}
22+
onClick={() => setSelectedRequestKey(key)}
23+
>
24+
<div className={style["list-main"]}>
25+
<div className={style["service-path"]}>{servicePath}</div>
26+
<div className={style["rpc-name"]}>{rpcName}</div>
27+
</div>
28+
<div className={style["list-status"]}>
29+
{responsePayloads.length > 0 && (
30+
<div className={style["payload-circle"]}>
31+
{responsePayloads.length}
32+
</div>
33+
)}
34+
{responseError && <div className={style["error-circle"]} />}
35+
</div>
36+
</Button>
37+
)
38+
)}
2739
</div>
2840
);
2941
};
@@ -32,7 +44,10 @@ export default memo(RequestList);
3244
const requestListAtom = atom((get) => {
3345
const requests = get(requestsAtom);
3446
return Object.keys(requests).map((key) => {
35-
const { servicePath, rpcName } = get(requests[key]);
36-
return { key, servicePath, rpcName };
47+
const { servicePath, rpcName, responsePayloadsAtom, responseError } = get(
48+
requests[key]
49+
);
50+
const responsePayloads = get(responsePayloadsAtom);
51+
return { key, servicePath, rpcName, responsePayloads, responseError };
3752
});
3853
});

src/pages/index/Settings/index.tsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ const Settings: React.FC<SettingsProps> = () => {
2323
isChecked={preserveLog}
2424
onChange={(v) => {
2525
setPreserveLog(v);
26-
console.log(v);
2726
}}
2827
>
2928
Preserve log

0 commit comments

Comments
 (0)