diff --git a/web/src/components/CasesDisplay/index.tsx b/web/src/components/CasesDisplay/index.tsx index 5fdf19a3b..5f0d052b3 100644 --- a/web/src/components/CasesDisplay/index.tsx +++ b/web/src/components/CasesDisplay/index.tsx @@ -7,11 +7,10 @@ import ArrowIcon from "svgs/icons/arrow.svg"; import { responsiveSize } from "styles/responsiveSize"; -import LightButton from "../LightButton"; - import CasesGrid, { ICasesGrid } from "./CasesGrid"; import Search from "./Search"; import StatsAndFilters from "./StatsAndFilters"; +import { StyledArrowLink } from "../StyledArrowLink"; const TitleContainer = styled.div` display: flex; @@ -25,16 +24,6 @@ const StyledTitle = styled.h1` margin: 0px; `; -const StyledButton = styled(LightButton)` - display: flex; - flex-direction: row-reverse; - gap: 8px; - > .button-text { - color: ${({ theme }) => theme.primaryBlue}; - } - padding: 0px; -`; - interface ICasesDisplay extends ICasesGrid { numberDisputes?: number; numberClosedDisputes?: number; @@ -59,9 +48,9 @@ const CasesDisplay: React.FC = ({ {title} {location.pathname.startsWith("/cases/display/1/desc/all") ? ( - - - + + Create a case + ) : null} diff --git a/web/src/components/DisputeView/DisputeCardView.tsx b/web/src/components/DisputeView/DisputeCardView.tsx index 1027b0436..fbc489e6d 100644 --- a/web/src/components/DisputeView/DisputeCardView.tsx +++ b/web/src/components/DisputeView/DisputeCardView.tsx @@ -19,6 +19,11 @@ const StyledCard = styled(Card)` height: 100%; max-height: 335px; min-height: 290px; + transition: background-color 0.1s; + + &:hover { + background-color: ${({ theme }) => theme.lightGrey}; + } `; const CardContainer = styled.div` @@ -56,7 +61,7 @@ interface IDisputeCardView { const DisputeCardView: React.FC = ({ isLoading, ...props }) => { return ( - + {isLoading ? : } diff --git a/web/src/components/DisputeView/DisputeListView.tsx b/web/src/components/DisputeView/DisputeListView.tsx index cbecdeedb..9504a5e15 100644 --- a/web/src/components/DisputeView/DisputeListView.tsx +++ b/web/src/components/DisputeView/DisputeListView.tsx @@ -18,7 +18,13 @@ const StyledListItem = styled(Card)` flex-grow: 1; width: 100%; height: 82px; + transition: background-color 0.1s; + + &:hover { + background-color: ${({ theme }) => theme.lightGrey}; + } `; + const ListContainer = styled.div` display: flex; justify-content: space-between; @@ -58,7 +64,7 @@ const DisputeListView: React.FC = (props) => { const { isDisconnected } = useAccount(); return ( - + diff --git a/web/src/components/Field.tsx b/web/src/components/Field.tsx index 94cc74f9e..d407d82c3 100644 --- a/web/src/components/Field.tsx +++ b/web/src/components/Field.tsx @@ -62,6 +62,10 @@ const StyledLink = styled(Link)` color: ${({ theme }) => theme.primaryBlue}; text-wrap: auto; justify-content: end; + + &:hover { + text-decoration: underline ${({ theme }) => theme.secondaryBlue}; + } `; type FieldContainerProps = { diff --git a/web/src/components/StyledArrowLink.tsx b/web/src/components/StyledArrowLink.tsx new file mode 100644 index 000000000..3d7a7abf2 --- /dev/null +++ b/web/src/components/StyledArrowLink.tsx @@ -0,0 +1,23 @@ +import styled from "styled-components"; + +import { Link } from "react-router-dom"; + +export const StyledArrowLink = styled(Link)` + display: flex; + gap: 8px; + align-items: center; + font-size: 16px; + + > svg { + height: 16px; + width: 16px; + + path { + fill: ${({ theme }) => theme.primaryBlue}; + } + } + + &:hover svg path { + fill: ${({ theme }) => theme.secondaryBlue}; + } +`; diff --git a/web/src/components/Verdict/FinalDecision.tsx b/web/src/components/Verdict/FinalDecision.tsx index bc0bcfc8b..c287284c7 100644 --- a/web/src/components/Verdict/FinalDecision.tsx +++ b/web/src/components/Verdict/FinalDecision.tsx @@ -2,7 +2,7 @@ import React, { useMemo } from "react"; import styled from "styled-components"; import Skeleton from "react-loading-skeleton"; -import { useNavigate, useParams } from "react-router-dom"; +import { useParams } from "react-router-dom"; import { useAccount } from "wagmi"; import ArrowIcon from "svgs/icons/arrow.svg"; @@ -19,11 +19,10 @@ import { useDisputeDetailsQuery } from "queries/useDisputeDetailsQuery"; import { responsiveSize } from "styles/responsiveSize"; -import LightButton from "../LightButton"; - import AnswerDisplay from "./Answer"; import VerdictBanner from "./VerdictBanner"; import { Divider } from "../Divider"; +import { StyledArrowLink } from "../StyledArrowLink"; const Container = styled.div` width: 100%; @@ -45,16 +44,6 @@ const JuryDecisionTag = styled.small` color: ${({ theme }) => theme.secondaryText}; `; -const StyledButton = styled(LightButton)` - display: flex; - flex-direction: row-reverse; - gap: 8px; - > .button-text { - color: ${({ theme }) => theme.primaryBlue}; - } - padding-top: 0px; -`; - const StyledDivider = styled(Divider)` margin: ${responsiveSize(16, 32)} 0px; `; @@ -73,7 +62,6 @@ const FinalDecision: React.FC = ({ arbitrable }) => { const localRounds = getLocalRounds(votingHistory?.dispute?.disputeKitDispute); const ruled = disputeDetails?.dispute?.ruled ?? false; const periodIndex = Periods[disputeDetails?.dispute?.period ?? "evidence"]; - const navigate = useNavigate(); const { data: currentRulingArray } = useReadKlerosCoreCurrentRuling({ query: { refetchInterval: REFETCH_INTERVAL }, args: [BigInt(id ?? 0)], @@ -108,12 +96,9 @@ const FinalDecision: React.FC = ({ arbitrable }) => { {isLoading && !isDisconnected ? ( ) : ( - navigate(`/cases/${id?.toString()}/voting`)} - text={buttonText} - Icon={ArrowIcon} - className="reverse-button" - /> + + {buttonText} + )} ); diff --git a/web/src/pages/Courts/CourtDetails/Description.tsx b/web/src/pages/Courts/CourtDetails/Description.tsx index 5d30f358e..a808b3ddc 100644 --- a/web/src/pages/Courts/CourtDetails/Description.tsx +++ b/web/src/pages/Courts/CourtDetails/Description.tsx @@ -95,7 +95,7 @@ const Description: React.FC = () => { {policy?.requiredSkills}

} /> - } /> + 0 ? filteredTabs[0].path : ""} replace />} /> diff --git a/web/src/pages/Dashboard/Courts/CourtCard/CourtName.tsx b/web/src/pages/Dashboard/Courts/CourtCard/CourtName.tsx index 4ff454167..6b53b480d 100644 --- a/web/src/pages/Dashboard/Courts/CourtCard/CourtName.tsx +++ b/web/src/pages/Dashboard/Courts/CourtCard/CourtName.tsx @@ -4,7 +4,8 @@ import styled, { css } from "styled-components"; import { landscapeStyle } from "styles/landscapeStyle"; import ArrowIcon from "svgs/icons/arrow.svg"; -import { Link } from "react-router-dom"; + +import { StyledArrowLink } from "components/StyledArrowLink"; const Container = styled.div` display: flex; @@ -20,24 +21,19 @@ const Container = styled.div` } ${landscapeStyle( - () => - css` - justify-content: flex-start; - width: auto; - ` + () => css` + justify-content: flex-start; + width: auto; + ` )} `; -const StyledLink = styled(Link)` - display: flex; - gap: 8px; - align-items: center; +const ReStyledArrowLink = styled(StyledArrowLink)` + font-size: 14px; + > svg { height: 15px; width: 15px; - path { - fill: ${({ theme }) => theme.primaryBlue}; - } } `; @@ -50,9 +46,9 @@ const CourtName: React.FC = ({ name, id }) => { return ( {name} - + Open Court - + ); }; diff --git a/web/src/pages/Home/TopJurors/JurorCard/JurorTitle.tsx b/web/src/pages/Home/TopJurors/JurorCard/JurorTitle.tsx index 6d2c68963..5ab94d883 100644 --- a/web/src/pages/Home/TopJurors/JurorCard/JurorTitle.tsx +++ b/web/src/pages/Home/TopJurors/JurorCard/JurorTitle.tsx @@ -25,7 +25,7 @@ const StyledA = styled.a` text-decoration: underline; label { cursor: pointer; - color: ${({ theme }) => theme.primaryBlue}; + color: ${({ theme }) => theme.secondaryBlue}; } } `; diff --git a/web/src/styles/global-style.ts b/web/src/styles/global-style.ts index cb5f5caa0..546ec90da 100644 --- a/web/src/styles/global-style.ts +++ b/web/src/styles/global-style.ts @@ -90,8 +90,13 @@ export const GlobalStyle = createGlobalStyle` font-size: 14px; text-decoration: none; color: ${({ theme }) => theme.primaryBlue}; + transition: color 0.1s; } - + + a:hover { + color: ${({ theme }) => theme.secondaryBlue} !important; + } + hr { opacity: 1; border: 1px solid ${({ theme }) => theme.stroke};