diff --git a/src/assets/images/arrowRight.svg b/src/assets/images/arrowRight.svg
new file mode 100644
index 0000000..b950a39
--- /dev/null
+++ b/src/assets/images/arrowRight.svg
@@ -0,0 +1,4 @@
+
diff --git a/src/components/Button.tsx b/src/components/Button.tsx
index 988d2d6..979997c 100644
--- a/src/components/Button.tsx
+++ b/src/components/Button.tsx
@@ -40,5 +40,6 @@ export const ButtonSecondary = styled(Button)`
&:disabled {
background: ${Colors.GrayDisabledLight};
+ filter: grayscale(1);
}
`
diff --git a/src/components/Card.tsx b/src/components/Card.tsx
index 353e9a7..fec3781 100644
--- a/src/components/Card.tsx
+++ b/src/components/Card.tsx
@@ -4,6 +4,7 @@ import { Colors } from '../constants/styles'
import { ButtonSecondary } from '../components/Button'
import externalIcon from '../assets/images/ext.svg'
import indicatorIcon from '../assets/images/indicator.svg'
+import rightIcon from '../assets/images/arrowRight.svg'
interface CardCommunityProps {
img: string
@@ -132,6 +133,36 @@ function calculateWidth(votesFor: number, votesAgainst: number) {
return (100 * votesAgainst) / (votesFor + votesAgainst)
}
+interface CardFeatureProps {
+ heading: string
+ text: string
+ icon: string
+ sum?: number
+ timeLeft?: string
+ voting?: boolean
+}
+
+export const CardFeature = ({ heading, text, icon, sum, timeLeft, voting }: CardFeatureProps) => (
+
+
+ {heading}
+ {voting && Ongoing vote for removal}
+
+
+
+ {text}
+ {icon}
+
+ {timeLeft && {timeLeft}}
+
+ {sum && {addCommas(sum)} SNT}
+
+
+ Feature this community! ⭐️
+
+
+)
+
export const Card = styled.div`
display: flex;
align-items: center;
@@ -230,6 +261,26 @@ const CardLinkInternal = styled.a`
color: ${Colors.VioletDark};
}
`
+
+const CardLinkFeature = styled(CardLinkInternal)`
+ padding-right: 28px;
+ font-size: 12px;
+ line-height: 20px;
+ position: relative;
+
+ &::after {
+ content: '';
+ width: 24px;
+ height: 24px;
+ position: absolute;
+ top: 50%;
+ right: 0;
+ transform: translateY(-50%);
+ background-image: url(${rightIcon});
+ background-size: cover;
+ }
+`
+
const CardVoteBlock = styled.div`
width: 50%;
z-index: 2;
@@ -332,3 +383,33 @@ const VoteBtn = styled(ButtonSecondary)`
const VoteBtnFinal = styled(VoteBtn)`
width: 100%;
`
+
+const FeatureTop = styled.div`
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+`
+
+const FeatureBtn = styled(VoteBtn)`
+ width: 100%;
+`
+const FeatureVote = styled.div`
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ margin: 45px auto 32px;
+ max-width: 290px;
+ text-align: center;
+
+ & > p {
+ font-size: 17px;
+ line-height: 18px;
+ margin-bottom: 8px;
+ }
+
+ & > span {
+ font-weight: bold;
+ font-size: 15px;
+ line-height: 22px;
+ }
+`
diff --git a/src/pages/Directory.tsx b/src/pages/Directory.tsx
index 91444cd..840fa57 100644
--- a/src/pages/Directory.tsx
+++ b/src/pages/Directory.tsx
@@ -1,17 +1,46 @@
import React from 'react'
import { ConnectButton, InfoWrap, PageInfo } from '../components/PageInfo'
import { useEthers } from '@usedapp/core'
+import { Card, CardCommunity, CardFeature } from '../components/Card'
+import styled from 'styled-components'
export function Directory() {
const { account } = useEthers()
return (
-
-
- {!account && }
-
+ />
+ {!account && }
+
+
+
+
+
+
+
+
)
}
+
+const Voting = styled.div`
+ display: flex;
+ flex-direction: column;
+`