Skip to content

Commit aec9451

Browse files
committed
feat(web): add skeleton to evidencecard and empty evidence message
1 parent 7a7eef6 commit aec9451

File tree

3 files changed

+35
-21
lines changed

3 files changed

+35
-21
lines changed

web/src/components/StyledSkeleton.tsx

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,10 +31,17 @@ const StyledSkeletonDisputeListItem = styled(Skeleton)`
3131
height: 62px;
3232
`;
3333

34+
const StyledSkeletonEvidenceCard = styled(Skeleton)`
35+
height: 146px;
36+
width: 76vw;
37+
`;
38+
3439
export const SkeletonDisputeCard = () => (
3540
<SkeletonDisputeCardContainer>
3641
<StyledSkeletonDisputeCard />
3742
</SkeletonDisputeCardContainer>
3843
);
3944

4045
export const SkeletonDisputeListItem = () => <StyledSkeletonDisputeListItem />;
46+
47+
export const SkeletonEvidenceCard = () => <StyledSkeletonEvidenceCard />;

web/src/pages/Cases/CaseDetails/Evidence/index.tsx

Lines changed: 28 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import { Button, Searchbar } from "@kleros/ui-components-library";
66
import { useEvidenceGroup } from "queries/useEvidenceGroup";
77
import { useEvidences } from "queries/useEvidences";
88
import SubmitEvidenceModal from "./SubmitEvidenceModal";
9+
import { SkeletonEvidenceCard } from "components/StyledSkeleton";
910
import EvidenceCard from "components/EvidenceCard";
1011
import { EnsureChain } from "components/EnsureChain";
1112
import { isUndefined } from "utils/index";
@@ -24,6 +25,12 @@ const StyledButton = styled(Button)`
2425
align-self: flex-end;
2526
`;
2627

28+
const StyledLabel = styled.label`
29+
display: flex;
30+
margin-top: 16px;
31+
font-size: 16px;
32+
`;
33+
2734
const Evidence: React.FC<{ arbitrable?: `0x${string}` }> = ({ arbitrable }) => {
2835
const [isModalOpen, setIsModalOpen] = useState(false);
2936
const { id } = useParams();
@@ -33,25 +40,27 @@ const Evidence: React.FC<{ arbitrable?: `0x${string}` }> = ({ arbitrable }) => {
3340

3441
return (
3542
<Container>
36-
<>
37-
{!isUndefined(evidenceGroup) && (
38-
<SubmitEvidenceModal isOpen={isModalOpen} close={() => setIsModalOpen(false)} {...{ evidenceGroup }} />
39-
)}
40-
<Searchbar />
41-
<EnsureChain>
42-
<StyledButton
43-
small
44-
text="Submit Evidence"
45-
disabled={typeof address === "undefined" || isModalOpen}
46-
isLoading={isModalOpen}
47-
onClick={() => setIsModalOpen(true)}
48-
/>
49-
</EnsureChain>
50-
{data &&
51-
data.evidences.map(({ key, evidence, sender }, i) => (
52-
<EvidenceCard key={key} index={i + 1} sender={sender?.id} {...{ evidence }} />
53-
))}
54-
</>
43+
{!isUndefined(evidenceGroup) && (
44+
<SubmitEvidenceModal isOpen={isModalOpen} close={() => setIsModalOpen(false)} {...{ evidenceGroup }} />
45+
)}
46+
<Searchbar />
47+
<EnsureChain>
48+
<StyledButton
49+
small
50+
text="Submit Evidence"
51+
disabled={typeof address === "undefined" || isModalOpen}
52+
isLoading={isModalOpen}
53+
onClick={() => setIsModalOpen(true)}
54+
/>
55+
</EnsureChain>
56+
{data ? (
57+
data.evidences.map(({ key, evidence, sender }, i) => (
58+
<EvidenceCard key={key} index={i + 1} sender={sender?.id} {...{ evidence }} />
59+
))
60+
) : (
61+
<SkeletonEvidenceCard />
62+
)}
63+
{data && data.evidences.length === 0 ? <StyledLabel>There is no evidence submitted yet</StyledLabel> : null}
5564
</Container>
5665
);
5766
};

web/src/pages/Dashboard/Courts/index.tsx

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,7 @@ const CourtCardsContainer = styled.div`
3030
`;
3131

3232
const StyledLabel = styled.label`
33-
display: flex;
3433
font-size: 16px;
35-
color: ${({ theme }) => theme.secondaryText};
3634
`;
3735

3836
const Courts: React.FC = () => {

0 commit comments

Comments
 (0)