Skip to content

Commit 585f27e

Browse files
TestResultItem not showing Chevron icon and extra data if dont have.
1 parent d118e30 commit 585f27e

1 file changed

Lines changed: 26 additions & 14 deletions

File tree

  • src/renderer/src/components/app/collections/request/response/content/test-result

src/renderer/src/components/app/collections/request/response/content/test-result/TestResultItem.tsx

Lines changed: 26 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { KeyboardEvent, memo, useState } from "react";
1+
import { KeyboardEvent, memo, useMemo, useState } from "react";
22
import {
33
TestResultInterface,
44
TTestResultType,
@@ -31,8 +31,18 @@ interface Props {
3131
const TestResultItem = memo(({ result, level, isLast = false }: Props) => {
3232
const [isOpen, setIsOpen] = useState<boolean>(false);
3333

34+
const showDetails = useMemo(
35+
() =>
36+
(result.type === "test" && Boolean(result.message)) ||
37+
(result.type === "print" && Boolean(result.message)) ||
38+
(result.type === "summary" && Boolean(result.summary)) ||
39+
(result.type === "code" && Boolean(result.code)) ||
40+
(result.type === "group" && Boolean(result.children)),
41+
[result],
42+
);
43+
3444
const handleToggle = () => {
35-
if (window.getSelection()?.toString()) return;
45+
if (window.getSelection()?.toString() || !showDetails) return;
3646
setIsOpen(prev => !prev);
3747
};
3848

@@ -76,21 +86,23 @@ const TestResultItem = memo(({ result, level, isLast = false }: Props) => {
7686
<h3 className="flex-1 font-medium text-foreground text-sm leading-tight">
7787
{result.name}
7888
</h3>
79-
<div
80-
className={buttonVariants({
81-
variant: "ghost",
82-
size: "iconXs",
83-
})}
84-
>
85-
<ChevronDownIcon
86-
className={cn("transition-transform duration-75", {
87-
"rotate-180": isOpen,
89+
{showDetails && (
90+
<div
91+
className={buttonVariants({
92+
variant: "ghost",
93+
size: "iconXs",
8894
})}
89-
/>
90-
</div>
95+
>
96+
<ChevronDownIcon
97+
className={cn("transition-transform duration-75", {
98+
"rotate-180": isOpen,
99+
})}
100+
/>
101+
</div>
102+
)}
91103
</div>
92104
<AnimatePresence>
93-
{isOpen && (
105+
{isOpen && showDetails && (
94106
<motion.div
95107
onClick={e => e.stopPropagation()}
96108
initial={{

0 commit comments

Comments
 (0)