From 540a235210dea6981a38802fad577f80d7af4474 Mon Sep 17 00:00:00 2001 From: mitch Date: Wed, 23 Mar 2022 17:49:57 -0600 Subject: [PATCH 01/43] update FAQ issue #220 --- src/content/FAQs.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/FAQs.json b/src/content/FAQs.json index 8ac364d8da..3f31e6a37d 100644 --- a/src/content/FAQs.json +++ b/src/content/FAQs.json @@ -61,7 +61,7 @@ }, { "question": "What is Blockchain?", - "answer": "Simply, it is a secure form of digital cash that can be transferred anywhere in the world peer-to-peer, similar to email's (where the emails server is replaced with a decentralized network). \n More technically, Bitcoin is a type of digital currency that uses cryptography and open source software to regulate the generation of units of currency and verify the transfer of funds, operating independently of a central bank. There is a distinction between Bitcoin the digital currency and Blockchain the technology, which has many additional potential use cases beyond the currency." + "answer": "In simple terms, a blockchain is a method of storing and transferring information. It can be considered a kind of database that is not stored in a single computer. Instead, many identical copies are distributed in several computers called nodes. Information on a blockchain is stored in a continuous chain of blocks with each block containing essential information (for example, transactions) and the cryptographic hash of the previous block. To change the information in any block, you have to make changes to all subsequent blocks. The content of the blocks is verified by the consensus of all nodes in the network. These two features makes it very difficult to alter any information already included in the blocks, and this difficulty increases with the number of nodes in the network." }, { "question": "What is Ethereum?", From 797dc7a67e7177dfff574736fb6f12e64693d76b Mon Sep 17 00:00:00 2001 From: mitch Date: Wed, 23 Mar 2022 18:08:15 -0600 Subject: [PATCH 02/43] small FAQ fixes issue #221 --- src/content/FAQs.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/content/FAQs.json b/src/content/FAQs.json index 3f31e6a37d..e02ee7e23c 100644 --- a/src/content/FAQs.json +++ b/src/content/FAQs.json @@ -69,11 +69,11 @@ }, { "question": "What is Giveth?", - "answer": "Giveth is a community focused on building the future of Giving using blockchain technology. There are a lot of projects in the Giveth Galaxy, but the core two projects are:\r\n\r\n Giveth.io\r\n and beta.giveth.io.\r\n\r\n You can use Giveth to donate to projects or also propose projects that need funding, all using cryptocurrency and soon fiat currencies!\r\n We aim to foster a large network of organizations and to build a bright, transparent and decentralized Future of Giving." + "answer": "Giveth is a community focused on building the Future of Giving using blockchain technology. There are a lot of projects in the Giveth Galaxy, but the core two projects are:\r\n\r\n Giveth.io\r\n and the GIVeconomy\r\n\r\n. You can use Giveth to donate to projects or also propose projects that need funding, all using cryptocurrency and soon fiat currencies!\r\n We aim to foster a large network of organizations and to build a bright, transparent and decentralized Future of Giving." }, { "question": "I still need more detail on how Giveth works. Where can I find this?", - "answer": "For information about the DAO governing Giveth, please visit the Wiki (https://wiki.giveth.io). For developer documentation and user guides for the Donation Application please have a look at the docs (https://docs.giveth.io). We always love to welcome you as well in our chatrooms. Please visit the Join Page (https://giveth.io/join)." + "answer": "For information about the DAO governing Giveth, please visit the Wiki (https://wiki.giveth.io). For developer documentation and user guides for the Donation Application please have a look at the docs (https://docs.giveth.io). You're always very welcome to join our chatrooms. Please visit the Join Page (https://giveth.io/join)." }, { "question": "Where can I see in detail what you are spending donations on?", From ae5f722614aa551110b210f62956822b6d45d3a0 Mon Sep 17 00:00:00 2001 From: mitch Date: Thu, 24 Mar 2022 08:03:18 -0600 Subject: [PATCH 03/43] add links --- src/content/FAQs.json | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/src/content/FAQs.json b/src/content/FAQs.json index e02ee7e23c..82f900ff83 100644 --- a/src/content/FAQs.json +++ b/src/content/FAQs.json @@ -16,7 +16,7 @@ "answer": "The fundraising requirements are stated by each project, but there is no limit set. The project should set a realistic timeline for fundraising based on the amount of money to be raised." }, { - "question": "I like your project, but right now I have no funds to donate. How else can I contribute?", + "question": "I love Giveth but right now I have no funds to donate, how else can I contribute?", "answer": "We are a very inclusive Community and would love your help (in any way possible). \n Just join and come talk to us! We even have a special channel for you: #contributors." }, { @@ -37,11 +37,11 @@ }, { "question": "Can I donate on Giveth if I don't have crypto?", - "answer": "FIAT integration (donate funds from your credit card or bank account) is coming soon! Stay tuned...\r\n\r\nGiveth has also partnered with SDG Impact Fund to make it possible for donors to contribute tax-deductible donations, in fiat or crypto, to altruistic projects on the blockchain. This is a major development in finance innovation to effectively care for the commons. We are very close to having fiat options integrated with the Dapp. Until then, fiat donations will accepted here: (https://www.sdgimpactfund.org/giveth-foundation). To learn more about the partnership between Giveth and the SDG Impact Fund, please refer to this blog post: (https://medium.com/giveth/giveth-2-0-next-level-community-philanthropy-f7e60d7e78cb)" + "answer": "Fiat integration (donate funds from your credit card or bank account) is coming soon! Stay tuned...\r\n\r\nGiveth has also partnered with SDG Impact Fund to make it possible for donors to contribute tax-deductible donations, in fiat or crypto, to altruistic projects on the blockchain. This is a major development in finance innovation to effectively care for the commons. We are very close to having fiat options integrated with the Dapp. Until then, fiat donations will accepted here: (https://www.sdgimpactfund.org/giveth-foundation). To learn more about the partnership between Giveth and the SDG Impact Fund, please refer to this blog post: (https://medium.com/giveth/giveth-2-0-next-level-community-philanthropy-f7e60d7e78cb)" }, { "question": "Is my donation tax deductible?", - "answer": "Yes! Giveth is a 501c3 non-profit, and donations made to projects are tax deductible for US tax payers. However, you are responsible to consult with your tax attorney for legal or financial advice.\r\n\r\nGiveth is a Decentralized Altruistic Community and with the help of SDG impact fund (https://www.sdgimpactfund.org/) our DAO and community based organizational structure is represented as a non-profit 501c3 in the United States. \n We are a community-led project and will not derive any direct profit from the platform. We strive to model the DAC concept as one of the first not-for-profit blockchain based entities. We guarantee all funds will get recycled back into the Community that is ensuring the Giveth platform gets adopted widely." + "answer": "With the help of SDG impact fund, the Giveth DAO and community based organizational structure is represented as a non-profit 501c3 in the United States. We are a community-led project and will not derive any direct profit from the platform. We guarantee all funds will get recycled back into the Community that is ensuring the Giveth Platform becomes adopted widely." }, { "question": "Does the IRS recognize cryptocurrency donations?", @@ -53,11 +53,11 @@ }, { "question": "What is Tor.us?", - "answer": "For a more detailed answer, see Tor.us documentation (https://docs.tor.us). \n\"Torus is a user-friendly, fully open source and non-custodial key management system for DApps. It runs a Distributed Key Generation protocol that allows applications to access its generated keys via OAuths and thus existing user accounts. Try out the experience on the Tor.us Wallet (https://app.tor.us). \n Tor.us is the main way to sign on to and use Giveth.io. \nIt is our wallet option alongside Metamask (https://metamask.io)." + "answer": "For a more detailed answer, see Tor.us documentation (https://docs.tor.us). \n\"Torus is a user-friendly, fully open source and non-custodial key management system for DApps. It runs a Distributed Key Generation protocol that allows applications to access its generated keys via OAuths and thus existing user accounts. Try out the experience on the Tor.us Wallet (https://app.tor.us). \n Tor.us is the main way to sign on to and use Giveth.io. \nIt is our wallet option alongside Metamask (https://metamask.io)." }, { "question": "What is the difference between Bitcoin and Ethereum?", - "answer": "Bitcoin is intended to function as decentralized means of value transfer whereas Ethereum is a protocol that allows users to develop decentralized applications on top of a blockchain network. As prominent Ethereum developer Vlad Zamfir has confirmed on several occasions, Ethereum is “not money.” Ethereum’s native token, Ether (ETH) exists in order to facilitate the process of building and deploying distributed applications. Meanwhile, the Bitcoin currency exists on the Bitcoin blockchain to facilitate peer-to-peer (P2P) exchange of uncensorable, non-confiscatable money from cryptocompare.com (https://www.cryptocompare.com/coins/guides/what-s-the-difference-between-bitcoin-btc-and-ethereum-eth)." + "answer": "Bitcoin is intended to function as decentralized means of value transfer whereas Ethereum is a protocol that allows users to develop decentralized applications on top of a blockchain network. As prominent Ethereum developer Vlad Zamfir has confirmed on several occasions, Ethereum is “not money.” Ethereum’s native token, Ether (ETH) exists in order to facilitate the process of building and deploying distributed applications. Meanwhile, the Bitcoin currency exists on the Bitcoin blockchain to facilitate peer-to-peer (P2P) exchange of uncensorable, non-confiscatable money.

From cryptocompare.com." }, { "question": "What is Blockchain?", @@ -65,18 +65,14 @@ }, { "question": "What is Ethereum?", - "answer": "It's the world's programmable blockchain.\r\nEthereum builds on Bitcoin's innovation with some big differences.\r\nBoth let you use digital money without payment providers or banks. But Ethereum is programmable, so you can also use it for many different digital assets – even Bitcoin!\r\nThis also means Ethereum is for more than just payments. It's a network of financial services, games and apps that can't steal your data or censor you.\r\nSo step into the bazaar, and give it a try..." + "answer": "It's the world's programmable blockchain.

Ethereum builds on Bitcoin's innovation with some big differences.\r\nBoth let you use digital money without payment providers or banks. But Ethereum is programmable, so you can also use it for many different digital assets – even Bitcoin!\r\nThis also means Ethereum is for more than just payments. It's a network of financial services, games and apps that can't steal your data or censor you.\r\nSo step into the bazaar, and give it a try..." }, { "question": "What is Giveth?", - "answer": "Giveth is a community focused on building the Future of Giving using blockchain technology. There are a lot of projects in the Giveth Galaxy, but the core two projects are:\r\n\r\n Giveth.io\r\n and the GIVeconomy\r\n\r\n. You can use Giveth to donate to projects or also propose projects that need funding, all using cryptocurrency and soon fiat currencies!\r\n We aim to foster a large network of organizations and to build a bright, transparent and decentralized Future of Giving." + "answer": "Giveth is a community focused on building the Future of Giving using blockchain technology. There are a lot of projects in the Giveth Galaxy, but the core two projects are:\r\n\r\n Giveth.io\r\n and the GIVeconomy\r\n\r\n. You can use Giveth to donate to projects or also propose projects that need funding, all using cryptocurrency and soon fiat currencies!\r\n We aim to foster a large network of organizations and to build a bright, transparent and decentralized Future of Giving." }, { "question": "I still need more detail on how Giveth works. Where can I find this?", - "answer": "For information about the DAO governing Giveth, please visit the Wiki (https://wiki.giveth.io). For developer documentation and user guides for the Donation Application please have a look at the docs (https://docs.giveth.io). You're always very welcome to join our chatrooms. Please visit the Join Page (https://giveth.io/join)." - }, - { - "question": "Where can I see in detail what you are spending donations on?", - "answer": "One of the core values of Giveth is transparency. We invite everyone to have a look at our finances. As a Giver you can also ask us for an exclusive tour of the DApp (beta.giveth.io). The Giveth DAC has its own campaign with funding and payout milestones. The funds of that campaign are usually donated to individual's milestones. All movements are visible at a very granular level in the DApp as well as from an Ethereum blockchain explorer." + "answer": "For information about the DAO governing Giveth, how we work, as well as developer documentation and user guides for Giveth's platforms, have a look at the docs (https://docs.giveth.io). You're always very welcome to join our chatrooms. Please visit the Join Page." } ] From 78a1c6b971b3ba3bb9e74ff232f0b5b0fddc59e1 Mon Sep 17 00:00:00 2001 From: Pedro Kretzschmar Date: Fri, 25 Mar 2022 14:26:25 -0300 Subject: [PATCH 04/43] fix: logic to display buttons --- src/components/views/project/ProjectDonateCard.tsx | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/components/views/project/ProjectDonateCard.tsx b/src/components/views/project/ProjectDonateCard.tsx index 57f401d055..4784d57e11 100644 --- a/src/components/views/project/ProjectDonateCard.tsx +++ b/src/components/views/project/ProjectDonateCard.tsx @@ -252,14 +252,15 @@ const ProjectDonateCard = ({ router.push(idToProjectEdit(project?.id || '')) } /> - {!verified && !isDraft ? ( + {!verified && !isDraft && ( setShowVerificationModal(true)} /> - ) : ( + )} + {isDraft && ( handleProjectStatus(false)} From c04568a57434c708c83435f6397846d91f6cac39 Mon Sep 17 00:00:00 2001 From: Pedro Kretzschmar Date: Fri, 25 Mar 2022 14:58:35 -0300 Subject: [PATCH 05/43] hotfix: suggested chains on modal --- src/components/modals/ChangeNetwork.tsx | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/components/modals/ChangeNetwork.tsx b/src/components/modals/ChangeNetwork.tsx index 3888279524..7f18990053 100644 --- a/src/components/modals/ChangeNetwork.tsx +++ b/src/components/modals/ChangeNetwork.tsx @@ -30,7 +30,7 @@ export const ChangeNetworkModal: FC = ({ const NetworkName = targetNetwork === config.MAINNET_NETWORK_NUMBER ? 'Ethereum' - : 'Gnosis Chain'; + : 'Ethereum or Gnosis Chain'; return ( @@ -38,7 +38,10 @@ export const ChangeNetworkModal: FC = ({ {targetNetwork === config.MAINNET_NETWORK_NUMBER ? ( ) : ( - + <> + + + )} Switch to {NetworkName} Please switch your wallet network to {NetworkName}. From daaabafb63c746ed051fd56ad2a40f0fb9596815 Mon Sep 17 00:00:00 2001 From: Pedro Kretzschmar Date: Fri, 25 Mar 2022 17:11:20 -0300 Subject: [PATCH 06/43] style: fix buttons distance from bottom of card --- src/components/project-card/ProjectCard.tsx | 2 +- src/components/project-card/ProjectCardOrgBadge.tsx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/project-card/ProjectCard.tsx b/src/components/project-card/ProjectCard.tsx index 4cfd4d4749..2d53b611e7 100644 --- a/src/components/project-card/ProjectCard.tsx +++ b/src/components/project-card/ProjectCard.tsx @@ -147,7 +147,7 @@ const CardBody = styled.div` left: 0; right: 0; top: ${(props: { isHover: boolean }) => - props.isHover ? '136px' : '200px'}; + props.isHover ? '124px' : '200px'}; background-color: ${neutralColors.gray[100]}; transition: top 0.3s ease; border-radius: 0px 12px 12px 12px; diff --git a/src/components/project-card/ProjectCardOrgBadge.tsx b/src/components/project-card/ProjectCardOrgBadge.tsx index 19c28a6ddd..1bb516b99f 100644 --- a/src/components/project-card/ProjectCardOrgBadge.tsx +++ b/src/components/project-card/ProjectCardOrgBadge.tsx @@ -40,7 +40,7 @@ const GivingBadgeContainer = styled.div<{ isHover: boolean }>` gap: 8px; padding: 0 24px; position: absolute; - bottom: ${props => (props.isHover ? '88px' : '24px')}; + bottom: ${props => (props.isHover ? '100px' : '24px')}; transition: bottom 0.3s ease; border-radius: 0px 12px 0px 0px; `; From 014216c47d2a3d2bd263d9d61b8007365e1f6cf4 Mon Sep 17 00:00:00 2001 From: Ramin Date: Sun, 27 Mar 2022 05:57:01 +0430 Subject: [PATCH 07/43] fix menu bar color for dark theme --- src/components/Header/HeaderResponsiveRoutes.tsx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/components/Header/HeaderResponsiveRoutes.tsx b/src/components/Header/HeaderResponsiveRoutes.tsx index ef1ada17cc..80254d7e85 100644 --- a/src/components/Header/HeaderResponsiveRoutes.tsx +++ b/src/components/Header/HeaderResponsiveRoutes.tsx @@ -38,7 +38,10 @@ const HeaderRoutesResponsive = () => { {isOpen && ( - {'drawer + {'drawer {headerRoutes.map(i => ( Date: Sun, 27 Mar 2022 05:57:53 +0430 Subject: [PATCH 08/43] update FAQ terms, make FAQ page responsive --- src/components/Accordion.tsx | 31 +++-- src/components/views/FAQIndex.tsx | 42 ++++--- src/content/FAQ.json | 184 ++++++++++++++++++++++++++++++ src/content/FAQs.json | 78 ------------- 4 files changed, 233 insertions(+), 102 deletions(-) create mode 100644 src/content/FAQ.json delete mode 100644 src/content/FAQs.json diff --git a/src/components/Accordion.tsx b/src/components/Accordion.tsx index 7ca1e7fdd3..e06eeebfb2 100644 --- a/src/components/Accordion.tsx +++ b/src/components/Accordion.tsx @@ -1,26 +1,34 @@ import { useState } from 'react'; import ReactHtmlParser from 'react-html-parser'; import Image from 'next/image'; +import { P, brandColors, Lead } from '@giveth/ui-design-system'; +import styled from 'styled-components'; + import { Shadow } from './styled-components/Shadow'; import ArrowDown from '/public/images/arrow_down.svg'; import ArrowUp from '/public/images/arrow_up.svg'; -import { P, brandColors, Lead } from '@giveth/ui-design-system'; -import styled from 'styled-components'; -const Accordion = (props: { title: string; description: string }) => { +const Accordion = (props: { + title: string; + description?: string; + children?: any; +}) => { const [isOpen, setOpen] = useState(false); const handleClick = () => setOpen(!isOpen); - const { title, description } = props; + const { title, description, children } = props; return ( {title} - arrow down + arrow icon {isOpen && ( - {ReactHtmlParser(description)} + + {description && ReactHtmlParser(description)} + {children && children} + )} ); @@ -30,12 +38,10 @@ const BodySection = styled(P)` color: ${brandColors.giv[800]}; text-align: left; margin-top: 16px; + padding: 0 20px 20px 20px; a { color: #007bff !important; - &:hover { - text-decoration: underline !important; - } } `; @@ -44,9 +50,15 @@ const Title = styled(Lead)` `; const HeadSection = styled.div` + padding: 20px; cursor: pointer; display: flex; justify-content: space-between; + gap: 20px; + + > :last-child { + flex-shrink: 0; + } `; const Wrapper = styled.div` @@ -55,7 +67,6 @@ const Wrapper = styled.div` border-radius: 12px; box-shadow: ${Shadow.Neutral[500]}; background: white; - padding: 20px 32px 20px 20px; `; export default Accordion; diff --git a/src/components/views/FAQIndex.tsx b/src/components/views/FAQIndex.tsx index 28252cfa5a..ad74b5edf8 100644 --- a/src/components/views/FAQIndex.tsx +++ b/src/components/views/FAQIndex.tsx @@ -1,12 +1,16 @@ import Image from 'next/image'; -import { brandColors, D3, Lead } from '@giveth/ui-design-system'; +import { brandColors, D3 } from '@giveth/ui-design-system'; import styled from 'styled-components'; -import SearchBox from '../SearchBox'; +// import SearchBox from '../SearchBox'; import Accordion from '../Accordion'; -import FAQArray from '@/content/FAQs.json'; +import FAQJson from '@/content/FAQ.json'; import { Arc } from '@/components/styled-components/Arc'; import FlowerIcon from '/public//images/flower_faq.svg'; +import { Container } from '@/components/Grid'; +import { deviceSize, mediaQueries } from '@/utils/constants'; + +type TFAQ = 'General' | 'Giveth' | 'GIVeconomy'; const FAQIndex = () => { return ( @@ -27,12 +31,16 @@ const FAQIndex = () => { {/*/>*/} - {FAQArray.map(i => ( - + {Object.keys(FAQJson).map(i => ( + + {FAQJson[i as TFAQ].map(faq => ( + + ))} + ))} @@ -43,20 +51,24 @@ const FAQIndex = () => { const FlowerContainer = styled.div` position: absolute; right: 0; - bottom: 150px; + top: 150px; `; const PurpleArc = styled(Arc)` border-width: 100px; border-color: ${brandColors.deep[200]} ${brandColors.deep[200]} transparent transparent; - bottom: 0; - left: -350px; + top: 100px; + left: -550px; width: 700px; height: 700px; transform: rotate(45deg); z-index: 0; opacity: 0.2; + + ${mediaQueries.tablet} { + left: -350px; + } `; const MustardArc = styled(Arc)` @@ -71,9 +83,11 @@ const MustardArc = styled(Arc)` opacity: 0.3; `; -const FAQContainer = styled.div` - margin: 0 150px 150px 150px; +const FAQContainer = styled(Container)` position: relative; + @media (max-width: ${deviceSize.mobileL + 'px'}) { + padding: 0; + } `; const SearchStyles = styled.div` diff --git a/src/content/FAQ.json b/src/content/FAQ.json new file mode 100644 index 0000000000..54ed81bb01 --- /dev/null +++ b/src/content/FAQ.json @@ -0,0 +1,184 @@ +{ + "General": [ + { + "question": "Does the IRS recognize cryptocurrency donations?", + "answer": "The IRS classifies cryptocurrencies as property, so cryptocurrency donations to 501c3 organizations receive the same tax treatment as stocks.\r" + }, + { + "question": "Why donate cryptocurrency?", + "answer": "Cryptocurrency knows no borders and marginalizes no one. It can not be taken from you if you alone hold your keys. \n Another advantage: When you donate with crypto, you do not realize capital gains from the crypto you hold, and you can deduct it from your taxes. In other words, donating your crypto can often reduce your tax burden. Would you rather donate to the tax agency or your favorite cause?" + }, + { + "question": "What is Tor.us?", + "answer": "Tor.us is the non-crypto savvy way to sign into, and use Giveth.io. It is our wallet option alongside Metamask. For a more detailed answer, see Tor.us documentation. " + }, + { + "question": "What is the difference between Bitcoin and Ethereum?", + "answer": "Bitcoin is intended to function as decentralized means of value transfer whereas Ethereum is a protocol that allows users to develop decentralized applications on top of a blockchain network. As prominent Ethereum developer Vlad Zamfir has confirmed on several occasions, Ethereum is “not money.” Ethereum’s native token, Ether (ETH) exists in order to facilitate the process of building and deploying distributed applications. Meanwhile, the Bitcoin currency exists on the Bitcoin blockchain to facilitate peer-to-peer (P2P) exchange of uncensorable, non-confiscatable money.

From cryptocompare.com." + }, + { + "question": "What is Blockchain?", + "answer": "A blockchain is a distributed database that is shared among the nodes of a computer network. As a database, a blockchain stores information electronically in digital format. Blockchains are best known for their crucial role in cryptocurrency systems, such as Ethereum, for maintaining a secure and decentralized record of transactions. The innovation with a blockchain is that it guarantees the fidelity and security of a record of data and generates trust without the need for a trusted third party." + }, + { + "question": "What is Ethereum?", + "answer": "\"It's the world's programmable blockchain. Ethereum builds on Bitcoin's innovation, with some big differences. Both let you use digital money without payment providers or banks. But Ethereum is programmable, so you can also use it for lots of different digital assets – even Bitcoin! This also means Ethereum is for more than payments. It's a marketplace of financial services, games and apps that can't steal your data or censor you.\"

From Ethereum.org website" + } + ], + "Giveth": [ + { + "question": "What is Giveth?", + "answer": "Giveth is a community focused on Building the Future of Giving using blockchain technology. Our intention is to support and reward the funding of public goods by creating open, transparent and free access to the revolutionary funding opportunities available within the Ethereum ecosystem." + }, + { + "question": "How is Giveth funded?", + "answer": "Giveth has been adding value to Ethereum since 2016, funded solely by donations and a few grants programs (i.e Panvala, Gitcoin). Our community has come this far without the help of any investors. You can support us by donating to our project." + }, + { + "question": "Is Giveth recognized as an official charity?", + "answer": "With the help of SDG impact fund the Giveth DAO and community based organizational structure is represented as a non-profit 501c3 in the United States. We are a community-led project and will not derive any direct profit from the platform. We guarantee all funds will get recycled back into the Community that is ensuring the Giveth Platform becomes adopted widely." + }, + { + "question": "Is my donation tax deductible?", + "answer": "We do not support donors in obtaining tax deductions and if a donor receives GIVbacks for donating to a verified project, we can not guarantee that the donation is legally tax deductible." + }, + { + "question": "Where can I see in detail how Giveth is spending their donations?", + "answer": "One of the core values of Giveth is transparency. We invite everyone to have a look at our finances. Funding, expenditures and payments relating to Giveth can be seen in the Giveth Community on Giveth TRACE. All movements are visible at a very granular level in the DApp as well as from an Ethereum blockchain explorer." + }, + { + "question": "Are there fees for creating a project?", + "answer": "Nope! Giveth will never charge any additional fees for creating projects on our platform. If you create a project on Giveth.io it creates an entry in our database that directly points to your chosen Ethereum wallet. You can do this as well with a brand new account that holds zero funds. There are minor fees when using the ethereum network, and if you use other exchanges or services, there are likely associated fees. To learn more, read up on some of the foundation mechanics of Ethereum." + }, + { + "question": "What percentage of the donations go directly to the project?", + "answer": "100% of funds raised on Giveth go directly to the project. Giveth does not charge fees to givers or makers. There are minor fees when using the ethereum network, and if you use other exchanges or services, there are likely associated fees. To learn more about fees and how Ethereum works, visit their website." + }, + { + "question": "Can I donate on Giveth if I don't have crypto?", + "answer": "Fiat integration (donate funds from your credit card or bank account) is coming soon! Stay tuned...\r\n\r\nGiveth has also partnered with SDG Impact Fund to make it possible for donors to contribute tax-deductible donations, in fiat or crypto, to altruistic projects on the blockchain. This is a major development in finance innovation to effectively care for the commons. We are very close to having fiat options integrated with the Dapp. Until then, fiat donations will accepted here. To learn more about the partnership between Giveth and the SDG Impact Fund, please refer to this blog post." + }, + { + "question": "I’m a donor. How do I know projects are getting my money?", + "answer": "Each project description page shows a list of all donations made to that project and by who. Giveth.io does not collect any fees and your donation is sent directly to the project's provided wallet address. You can also find your donation on the blockchain by the link to the transaction on a block explorer (i.e etherscan.io) after you make a succesful donation." + }, + { + "question": "How can I be sure my donations are making a difference?", + "answer": "We believe that every human being should be able to transparently see their funds create good in the world. Transparency is the key to staying focused on the work at hand. Project owners will be responsible for providing updates on how donations to their project are used." + }, + { + "question": "How do I know the project I contributed to was completed?", + "answer": "Each project has the opportunity to post updates as its status changes, and donors who contributed to that project will receive notifications when a project owner posts an update. Donors can log back on to Giveth to see photos, written updates, and sometimes videos of a given project. Updates are the responsibility of the project owner, Giveth has no direct control in facilitating these updates." + }, + { + "question": "Is there a maximum funding cap for a single project?", + "answer": "There is no maximum funding cap for projects. However, projects are encouraged to define specific funding requirements for better transparency." + }, + { + "question": "What types of projects are prohibited?", + "answer": "Projects that are found to exhibit \"unacceptable behaviour\" and/or violate our Covenant and/or Terms of Use are considered prohibited and will be cancelled immediately and an email will be send to the project owner. Learn more in our documentation article." + }, + { + "question": "What is a Traceable project?", + "answer": "A project on Giveth.io that has been verified can choose to become a Campaign on Giveth TRACE, thus becoming a traceable project. This enables project creators to manage their donations transparently using Traces. Traces specify how the project is using their donations to achieve the goals of the overarching Campaigns. Upgrading giveth.io projects to Campaigns enables project creators to specify parts of their project requiring funding as different types of Traces. Donors benefit from being able to choose to fund either specific Traces or the overarching Campaign, and are able to trace the flow of their donations. A traceable project appears on both Giveth TRACE (as a Campaign) and Giveth.io, allowing for double exposure! To learn how to make your project traceable, visit our documentation." + }, + { + "question": "I still need more detail on how Giveth works. Where can I find this?", + "answer": "Visit our documentation portal to learn more about Giveth. We always love to welcome you as well in our chatrooms, please visit the Join Page to see how to join our social media channels." + }, + { + "question": "I love Giveth but right now I have no funds to donate, how else can I contribute?", + "answer": "We are a very inclusive Community and would love for you to join and see how you can get involved. Join us on any of our social channels and come talk to us!" + } + ], + "GIVeconomy": [ + { + "question": "Why is Giveth launching a token?", + "answer": "Giveth’s mission is to reward & empower those who give -- to projects, to society & to the world. The GIV token fuels and drives the GIVeconomy and some has been already distributed to those who have contributed to making Giveth what it is today. Anyone with an Ethereum wallet can get GIV via our GIVbacks program by donating to verified projects. GIV is a governance token that allows our community to actively participate in shaping the future of Giveth in a decentralized way." + }, + { + "question": "What network is the GIV token on?", + "answer": "GIV was deployed on Ethereum Mainnet and is used most heavily on Gnosis (xDai). However, the GIViverse is multi-chained and GIV will likely be bridged/transferred to other chains and Layer 2 networks." + }, + { + "question": "Why are you using the Gnosis (xDai) network?", + "answer": "Giveth was part of the creation of the Gnosis (xDai) Network and loves the low-gas fees!" + }, + { + "question": "What can I do with GIV?", + "answer": "With GIV, you can Govern, Donate, Farm & Earn! Explore the GIVeconomy here." + }, + { + "question": "How can I get (more) GIV?", + "answer": "You can get GIV by interacting with the GIVeconomy and Giveth in several ways: " + }, + { + "question": "Who is eligible to receive the GIVdrop?", + "answer": "Recipients of the GIVdrop include members of the \"Giveth trusted seed\" - our community of crypto philanthropists, Giveth users & builders, Blockchain4Good DAO members, and other ecosystem partners. Check your GIVdrop or learn more about eligibility in our documentation." + }, + { + "question": "Will there be another GIVdrop?", + "answer": "No, there are no more GIVdrops planned, but anyone can get GIV from GIVbacks by donating to verified projects on Giveth." + }, + { + "question": "How do I claim my GIVdrop?", + "answer": "You can check your GIVdrop and claim your tokens here or read our tutorial on how to claim!" + }, + { + "question": "Why can't I see my successfully claimed GIV in my wallet?", + "answer": "The GIVdrop is on the Gnosis (xDai) Network. Ensure that your wallet is connected to xDai and that you have added GIV to your token list! The address for the GIV token on xDai is 0x4f4F9b8D5B4d0Dc10506e5551B0513B61fD59e75." + }, + { + "question": "Why don't I have a GIVdrop?", + "answer": "The GIVdrop has been sent to our community of crypto philanthropists, Giveth users & builders, Blockchain4Good DAO members, and other ecosystem partners. We have made every effort to include all valid addresses in this GIVdrop, at our discretion. Not every person who has ever interacted with Giveth is eligible. If you did not receive GIV, that is because you were not eligible. We will not review past transactions or consider other addresses for inclusion. We appreciate your understanding." + }, + { + "question": "I didn't receive a GIVdrop. Can I get one now?", + "answer": "We have made every effort to include all valid addresses in this GIVdrop, at our discretion. Not every person who has ever interacted with Giveth is eligible. If you did not receive GIV, that is because you were not eligible. We will not review past transactions or consider other addresses for inclusion. We appreciate your understanding." + }, + { + "question": "I'm eligible for the GIVdrop, but I lost the keys to my address. Can you help?", + "answer": "If you received the GIVdrop but no longer have access to the eligible address, it is possible for us to redirect the allocation to another ETH address. However, you need to prove who you are and that you do have tokens allocated to you. If this is you, reach out to our team for support. FYI - If no one on the Giveth team knows you, it probably won't work out." + }, + { + "question": "How do I get involved in governance?", + "answer": "Join Discord to engage with the community. If you have GIV, wrap it in the GIVgarden to unlock your governance voting power. Keep abreast of governance proposals and participate in the discussion in our Forum." + }, + { + "question": "What is the GIVbacks program?", + "answer": "GIVbacks is a revolutionary concept that rewards donors to verified projects on Giveth with GIV. Learn more about GIVbacks in our documentation." + }, + { + "question": "What is a 'Verified' Project?", + "answer": "'Verified' is a top tier status for projects wishing to join the GIVbacks program. The GIVbacks program is a revolutionary concept that rewards donors to verified projects with GIV tokens. By applying for a 'Verified' project status, you will be able to make your project stand out and encourage more donations. Getting your project verified also builds a relationship of trust with your donors by demonstrating your project's legitimacy and showing that the funds are being used to create positive change. This simple verification process requires some additional information about your project and the intended impact of your organization. If you would like to apply to receive the 'Verified' badge, encourage more giving and give back to those who have helped you reach your goals, please fill out this form." + }, + { + "question": "I earned GIVbacks, but the GIVbacks page says my balance is zero. What happened?", + "answer": "When you harvest GIV rewards on Gnosis (xDai) from the GIVgarden, GIVfarm, or GIVstream pages, you get all liquid GIV allocated to you in our token distro in a single transaction. If you earned GIV but don't see it on the GIVbacks page you may have already claimed this allocation from another page." + }, + { + "question": "What is the GIVgarden?", + "answer": "The GIVgarden is the Giveth Community’s DAO governance platform, developed by 1Hive's Gardens team, where GIV token holders can influence the treasury, roadmap and mission of the Giveth ecosystem. To learn more, check out the GIVgarden documentation." + }, + { + "question": "What is the GIVfarm?", + "answer": "The GIVfarm is the Giveth liquidity mining program that allows GIV holders to provide liquidity and stake tokens to earn GIV rewards. To learn more, check out the GIVfarm documentation." + }, + { + "question": "What is the GIVstream?", + "answer": "The GIVstream aligns community members with the long term success of Giveth and the GIVeconomy. With the GIVstream, anyone who adds value to the GIVeconomy gets GIV continuously for up to 5 years. The GIVeconomy starts out small but as more value is created, the GIViverse expands -- More GIV becomes liquid and more GIV spreads out to our community of stakeholders. To learn more, check out the GIVstream documentation." + }, + { + "question": "Why is there a GIVstream?", + "answer": "The GIVstream nurtures the GIVeconomy at inception by having only 10% of the total supply of GIV liquid and transferable to start. As the GIVeconomy grows & stabilizes, more GIV become liquid and available for everyone. We want to empower those who support the Giveth ecosystem with steadily increasing governance rights, this includes participants who donate to verified projects, vote in the GIVgarden or provide liquidity in the GIVfarm. Participants benefit from their GIVstream flowing as the GIVeconomy flourishes over time, therefore we ensure that Giveth is not just governed by people who buy tokens on the open market but by those who contribute in a more meaningful way." + }, + { + "question": "How do I get a GIVstream?", + "answer": "You can get (or increase) your GIVstream flowrate on xDai chain by donating (on Gnosis (xDai) or Mainnet) and getting GIVbacks, by wrapping GIV to use in the GIVgarden, or by staking in the GIVfarms on Gnosis (xDai). You can get (or increase) your GIVstream flowrate on Ethereum Mainnet by providing Mainnet liquidity and staking GIV or LP tokens in the GIVfarm on Mainnet." + }, + { + "question": "Can I speed up my GIVstream?", + "answer": "You can increase your GIVstream flowrate by participating in the GIVeconomy through GIVbacks, the GIVgarden, or the GIVfarm. You cannot, however, accelerate your GIVstream to decrease the time remaining. The \"GIViverse expansion\" time period ends on December 23, 2026 and is the same for the entire GIVeconomy." + } + ] +} diff --git a/src/content/FAQs.json b/src/content/FAQs.json deleted file mode 100644 index 82f900ff83..0000000000 --- a/src/content/FAQs.json +++ /dev/null @@ -1,78 +0,0 @@ -[ - { - "question": "How do I know the project I contributed to was completed?", - "answer": "Each project has the opportunity to post updates as its status changes, and donors who contributed to that project will receive notifications at key milestones, including project completion. Donors can log back on to Giveth to see photos, written updates, and sometimes videos of the completed project." - }, - { - "question": "Is Giveth recognized as an official charity?", - "answer": "Giveth is a Decentralized Altruistic Community and with the help of SDG impact fund our DAO and community based organizational structure is represented as a non-profit 501c3 in the United States. We are a community-led project and will not derive any direct profit from the platform. We strive to model the DAC concept as one of the first not-for-profit blockchain based entities. We guarantee all funds will get recycled back into the Community that is ensuring the Giveth Platform gets adopted widely." - }, - { - "question": "What types of projects are prohibited?", - "answer": "Projects relating to instigating violence or otherwise illegal activities - also this is a clean site, so we will not allow any form of pornographic imagery on the page." - }, - { - "question": "What is the maximum funding goal for a fundraising project?", - "answer": "The fundraising requirements are stated by each project, but there is no limit set. The project should set a realistic timeline for fundraising based on the amount of money to be raised." - }, - { - "question": "I love Giveth but right now I have no funds to donate, how else can I contribute?", - "answer": "We are a very inclusive Community and would love your help (in any way possible). \n Just join and come talk to us! We even have a special channel for you: #contributors." - }, - { - "question": "Are there fees for creating a project?", - "answer": "Nope! Giveth will never charge any additional fees for creating projects on our platform. If you create a project on Giveth.io it creates an entry in our database that directly points to your chosen Ethereum wallet. You can do this as well with a brand new account that holds zero funds. \n There are minor fees when using the Ethereum network, and if you use other exchanges or services, there are likely associated fees." - }, - { - "question": "I’m a donor. How do I know projects are getting my money?", - "answer": "Each project description page shows a list of all donations made to that project and by whom. We believe that every human being should be able to transparently see their funds create good in the world. Transparency is the key to staying focused on the work at hand. You will get to see photos and receive frequent updates on the status of each project to which you've donated." - }, - { - "question": "What percentage of the donations go directly to the project?", - "answer": "100% of funds raised on Giveth go directly to the project. Giveth does not charge fees to givers or makers. There are minor fees when using the Ethereum network, and if you use other exchanges or services, there are likely associated fees." - }, - { - "question": "How can I be sure my donations are making a difference?", - "answer": "We believe that every human being should be able to transparently see their funds create good in the world. Transparency is the key to staying focused on the work at hand. You will get to see photos and receive frequent updates on the status of each project you've donated to." - }, - { - "question": "Can I donate on Giveth if I don't have crypto?", - "answer": "Fiat integration (donate funds from your credit card or bank account) is coming soon! Stay tuned...\r\n\r\nGiveth has also partnered with SDG Impact Fund to make it possible for donors to contribute tax-deductible donations, in fiat or crypto, to altruistic projects on the blockchain. This is a major development in finance innovation to effectively care for the commons. We are very close to having fiat options integrated with the Dapp. Until then, fiat donations will accepted here: (https://www.sdgimpactfund.org/giveth-foundation). To learn more about the partnership between Giveth and the SDG Impact Fund, please refer to this blog post: (https://medium.com/giveth/giveth-2-0-next-level-community-philanthropy-f7e60d7e78cb)" - }, - { - "question": "Is my donation tax deductible?", - "answer": "With the help of SDG impact fund, the Giveth DAO and community based organizational structure is represented as a non-profit 501c3 in the United States. We are a community-led project and will not derive any direct profit from the platform. We guarantee all funds will get recycled back into the Community that is ensuring the Giveth Platform becomes adopted widely." - }, - { - "question": "Does the IRS recognize cryptocurrency donations?", - "answer": "The IRS classifies cryptocurrencies as property, so cryptocurrency donations to 501c3 organizations receive the same tax treatment as stocks.\r" - }, - { - "question": "Why donate cryptocurrency?", - "answer": "Cryptocurrency knows no borders and marginalizes no one. It can not be taken from you if you alone hold your keys. \n Another advantage: When you donate with crypto, you do not realize capital gains from the crypto you hold, and you can deduct it from your taxes. In other words, donating your crypto can often reduce your tax burden. Would you rather donate to the IRS or your favorite cause?" - }, - { - "question": "What is Tor.us?", - "answer": "For a more detailed answer, see Tor.us documentation (https://docs.tor.us). \n\"Torus is a user-friendly, fully open source and non-custodial key management system for DApps. It runs a Distributed Key Generation protocol that allows applications to access its generated keys via OAuths and thus existing user accounts. Try out the experience on the Tor.us Wallet (https://app.tor.us). \n Tor.us is the main way to sign on to and use Giveth.io. \nIt is our wallet option alongside Metamask (https://metamask.io)." - }, - { - "question": "What is the difference between Bitcoin and Ethereum?", - "answer": "Bitcoin is intended to function as decentralized means of value transfer whereas Ethereum is a protocol that allows users to develop decentralized applications on top of a blockchain network. As prominent Ethereum developer Vlad Zamfir has confirmed on several occasions, Ethereum is “not money.” Ethereum’s native token, Ether (ETH) exists in order to facilitate the process of building and deploying distributed applications. Meanwhile, the Bitcoin currency exists on the Bitcoin blockchain to facilitate peer-to-peer (P2P) exchange of uncensorable, non-confiscatable money.

From cryptocompare.com." - }, - { - "question": "What is Blockchain?", - "answer": "In simple terms, a blockchain is a method of storing and transferring information. It can be considered a kind of database that is not stored in a single computer. Instead, many identical copies are distributed in several computers called nodes. Information on a blockchain is stored in a continuous chain of blocks with each block containing essential information (for example, transactions) and the cryptographic hash of the previous block. To change the information in any block, you have to make changes to all subsequent blocks. The content of the blocks is verified by the consensus of all nodes in the network. These two features makes it very difficult to alter any information already included in the blocks, and this difficulty increases with the number of nodes in the network." - }, - { - "question": "What is Ethereum?", - "answer": "It's the world's programmable blockchain.

Ethereum builds on Bitcoin's innovation with some big differences.\r\nBoth let you use digital money without payment providers or banks. But Ethereum is programmable, so you can also use it for many different digital assets – even Bitcoin!\r\nThis also means Ethereum is for more than just payments. It's a network of financial services, games and apps that can't steal your data or censor you.\r\nSo step into the bazaar, and give it a try..." - }, - { - "question": "What is Giveth?", - "answer": "Giveth is a community focused on building the Future of Giving using blockchain technology. There are a lot of projects in the Giveth Galaxy, but the core two projects are:\r\n\r\n Giveth.io\r\n and the GIVeconomy\r\n\r\n. You can use Giveth to donate to projects or also propose projects that need funding, all using cryptocurrency and soon fiat currencies!\r\n We aim to foster a large network of organizations and to build a bright, transparent and decentralized Future of Giving." - }, - { - "question": "I still need more detail on how Giveth works. Where can I find this?", - "answer": "For information about the DAO governing Giveth, how we work, as well as developer documentation and user guides for Giveth's platforms, have a look at the docs (https://docs.giveth.io). You're always very welcome to join our chatrooms. Please visit the Join Page." - } -] From 1fac395a0d7b302524659c29e27a2e3af8112397 Mon Sep 17 00:00:00 2001 From: Amin Latifi Date: Sun, 27 Mar 2022 12:58:48 +0430 Subject: [PATCH 09/43] Fixed the projects link in giveconomy overview pages Refs https://github.com/Giveth/giveth-dapps-v2/issues/194 --- src/components/homeTabs/Overview.tsx | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/components/homeTabs/Overview.tsx b/src/components/homeTabs/Overview.tsx index 1a5224eabf..d648ec095d 100644 --- a/src/components/homeTabs/Overview.tsx +++ b/src/components/homeTabs/Overview.tsx @@ -104,8 +104,7 @@ export const TabOverviewBottom = () => { title='Give' button={ } From 243564cddb4122508d605dc21d1cc45dc52253eb Mon Sep 17 00:00:00 2001 From: Ramin Date: Sun, 27 Mar 2022 14:49:15 +0430 Subject: [PATCH 10/43] fix projects link --- src/components/homeTabs/Overview.tsx | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/components/homeTabs/Overview.tsx b/src/components/homeTabs/Overview.tsx index d648ec095d..d6fff30864 100644 --- a/src/components/homeTabs/Overview.tsx +++ b/src/components/homeTabs/Overview.tsx @@ -1,7 +1,6 @@ import Link from 'next/link'; -import { Flex } from '../styled-components/Flex'; import router from 'next/router'; -import { Button, DataBlock } from '@giveth/ui-design-system'; +import { Button } from '@giveth/ui-design-system'; import { OverviewTopContainer, PreTitle, @@ -103,10 +102,9 @@ export const TabOverviewBottom = () => { + + + } > Donate to empower change-makers that are working From 391b6c37f15865f7674eb33f9bb66710ba85b73a Mon Sep 17 00:00:00 2001 From: Cherik Date: Sun, 27 Mar 2022 15:42:48 +0430 Subject: [PATCH 11/43] update dao card --- src/components/GIVfrens.tsx | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/components/GIVfrens.tsx b/src/components/GIVfrens.tsx index 29fbb280ea..7a2514a5a7 100644 --- a/src/components/GIVfrens.tsx +++ b/src/components/GIVfrens.tsx @@ -57,13 +57,12 @@ export const GIVfrens: FC = ({ regenFarms, network }) => { })} - Your DAO? + Add Your DAO - Read about the requirements for becoming a Regen - Farm. + Apply to kickstart a RegenFarm for your for-good DAO Date: Sun, 27 Mar 2022 16:21:17 +0430 Subject: [PATCH 12/43] remove RegenStream link fix typo --- src/components/modals/WhatisStream.tsx | 31 +++++++++++++------------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/src/components/modals/WhatisStream.tsx b/src/components/modals/WhatisStream.tsx index 40f29d94eb..3173f19285 100644 --- a/src/components/modals/WhatisStream.tsx +++ b/src/components/modals/WhatisStream.tsx @@ -1,7 +1,6 @@ import { P, H5, - neutralColors, IconGIVStream, Title, GLink, @@ -67,7 +66,7 @@ export const WhatisStreamModal: FC = ({ passes and the {rewardTokenSymbol}stream flows, a larger portion of the total {rewardTokenSymbol} you get is sent directly to you at the time of harvest. The - {rewardTokenSymbol}stream flows until{' '} + {' ' + rewardTokenSymbol}stream flows until{' '} {new Date(tokenDistroHelper.endTime).toLocaleDateString( 'en-US', { @@ -78,19 +77,21 @@ export const WhatisStreamModal: FC = ({ )} . - - - setShowModal(false)}> - - View Your {rewardTokenSymbol}stream{' '} - - - - - + {!regenStreamConfig && ( + + + setShowModal(false)}> + + View Your {rewardTokenSymbol}stream{' '} + + + + + + )} Date: Sun, 27 Mar 2022 18:09:07 +0430 Subject: [PATCH 13/43] remove package react-html-parser --- package.json | 1 - yarn.lock | 56 +++------------------------------------------------- 2 files changed, 3 insertions(+), 54 deletions(-) diff --git a/package.json b/package.json index 78f7625f73..786b296145 100644 --- a/package.json +++ b/package.json @@ -49,7 +49,6 @@ "react-dropzone": "^11.5.3", "react-google-maps": "^9.4.5", "react-hot-toast": "^2.1.1", - "react-html-parser": "^2.0.2", "react-lottie": "^1.2.3", "react-modal": "^3.14.4", "react-places-autocomplete": "^7.3.0", diff --git a/yarn.lock b/yarn.lock index b7483a16cc..1e7f2c0759 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3065,14 +3065,6 @@ dom-helpers@^5.0.1: "@babel/runtime" "^7.8.7" csstype "^3.0.2" -dom-serializer@0: - version "0.2.2" - resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.2.2.tgz#1afb81f533717175d478655debc5e332d9f9bb51" - integrity sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g== - dependencies: - domelementtype "^2.0.1" - entities "^2.0.0" - dom-walk@^0.1.0: version "0.1.2" resolved "https://registry.yarnpkg.com/dom-walk/-/dom-walk-0.1.2.tgz#0c548bef048f4d1f2a97249002236060daa3fd84" @@ -3083,31 +3075,18 @@ domain-browser@4.19.0: resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-4.19.0.tgz#1093e17c0a17dbd521182fe90d49ac1370054af1" integrity sha512-fRA+BaAWOR/yr/t7T9E9GJztHPeFjj8U35ajyAjCDtAAnTn1Rc1f6W6VGPJrO1tkQv9zWu+JRof7z6oQtiYVFQ== -domelementtype@1, domelementtype@^1.3.1: +domelementtype@1: version "1.3.1" resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.1.tgz#d048c44b37b0d10a7f2a3d5fee3f4333d790481f" integrity sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w== -domelementtype@^2.0.1: - version "2.2.0" - resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.2.0.tgz#9a0b6c2782ed6a1c7323d42267183df9bd8b1d57" - integrity sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A== - -domhandler@^2.3.0, domhandler@^2.4.0: +domhandler@^2.4.0: version "2.4.2" resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.4.2.tgz#8805097e933d65e85546f726d60f5eb88b44f803" integrity sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA== dependencies: domelementtype "1" -domutils@^1.5.1: - version "1.7.0" - resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.7.0.tgz#56ea341e834e06e6748af7a1cb25da67ea9f8c2a" - integrity sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg== - dependencies: - dom-serializer "0" - domelementtype "1" - drbg.js@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/drbg.js/-/drbg.js-1.0.1.tgz#3e36b6c42b37043823cdbc332d58f31e2445480b" @@ -3210,16 +3189,6 @@ end-of-stream@^1.1.0, end-of-stream@^1.4.4: dependencies: once "^1.4.0" -entities@^1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.2.tgz#bdfa735299664dfafd34529ed4f8522a275fea56" - integrity sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w== - -entities@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55" - integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== - errno@~0.1.1: version "0.1.8" resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.8.tgz#8bb3e9c7d463be4976ff888f76b4809ebc2e811f" @@ -4542,18 +4511,6 @@ hosted-git-info@^2.1.4: resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== -htmlparser2@^3.9.0: - version "3.10.1" - resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.10.1.tgz#bd679dc3f59897b6a34bb10749c855bb53a9392f" - integrity sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ== - dependencies: - domelementtype "^1.3.1" - domhandler "^2.3.0" - domutils "^1.5.1" - entities "^1.1.1" - inherits "^2.0.1" - readable-stream "^3.1.1" - http-errors@1.7.3: version "1.7.3" resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.3.tgz#6c619e4f9c60308c38519498c14fbb10aacebb06" @@ -6299,13 +6256,6 @@ react-hot-toast@^2.1.1: dependencies: goober "^2.0.35" -react-html-parser@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/react-html-parser/-/react-html-parser-2.0.2.tgz#6dbe1ddd2cebc1b34ca15215158021db5fc5685e" - integrity sha512-XeerLwCVjTs3njZcgCOeDUqLgNIt/t+6Jgi5/qPsO/krUWl76kWKXMeVs2LhY2gwM6X378DkhLjur0zUQdpz0g== - dependencies: - htmlparser2 "^3.9.0" - react-is@17.0.2: version "17.0.2" resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" @@ -6443,7 +6393,7 @@ readable-stream@^2.0.0, readable-stream@^2.2.9, readable-stream@~2.3.6: string_decoder "~1.1.1" util-deprecate "~1.0.1" -readable-stream@^3.1.1, readable-stream@^3.5.0, readable-stream@^3.6.0: +readable-stream@^3.5.0, readable-stream@^3.6.0: version "3.6.0" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== From c6e35260bef92a48226177dee36db25156e23c47 Mon Sep 17 00:00:00 2001 From: Ramin Date: Sun, 27 Mar 2022 18:47:31 +0430 Subject: [PATCH 14/43] update FAQ and change all strings to React component --- src/components/Accordion.tsx | 12 +- src/components/ExternalLink.tsx | 8 +- src/components/views/FAQIndex.tsx | 6 +- src/content/FAQ.json | 184 ------ src/content/FAQ.tsx | 980 ++++++++++++++++++++++++++++++ src/content/Partnerships.ts | 1 - src/lib/constants/links.ts | 3 + 7 files changed, 994 insertions(+), 200 deletions(-) delete mode 100644 src/content/FAQ.json create mode 100644 src/content/FAQ.tsx diff --git a/src/components/Accordion.tsx b/src/components/Accordion.tsx index e06eeebfb2..8a621c8129 100644 --- a/src/components/Accordion.tsx +++ b/src/components/Accordion.tsx @@ -1,5 +1,4 @@ import { useState } from 'react'; -import ReactHtmlParser from 'react-html-parser'; import Image from 'next/image'; import { P, brandColors, Lead } from '@giveth/ui-design-system'; import styled from 'styled-components'; @@ -10,8 +9,8 @@ import ArrowUp from '/public/images/arrow_up.svg'; const Accordion = (props: { title: string; - description?: string; - children?: any; + description?: JSX.Element; + children?: JSX.Element | JSX.Element[]; }) => { const [isOpen, setOpen] = useState(false); @@ -24,12 +23,7 @@ const Accordion = (props: { {title} arrow icon - {isOpen && ( - - {description && ReactHtmlParser(description)} - {children && children} - - )} + {isOpen && {description || children}} ); }; diff --git a/src/components/ExternalLink.tsx b/src/components/ExternalLink.tsx index cf402f4bb7..608111bb9e 100644 --- a/src/components/ExternalLink.tsx +++ b/src/components/ExternalLink.tsx @@ -3,12 +3,14 @@ import React, { ReactElement } from 'react'; import styled from 'styled-components'; const ExternalLink = (props: { - children: ReactElement | string; + children?: ReactElement; href: string; + title?: string; }) => { + const { children, href, title } = props; return ( - - {props.children} + + {title || children} ); }; diff --git a/src/components/views/FAQIndex.tsx b/src/components/views/FAQIndex.tsx index ad74b5edf8..396876f087 100644 --- a/src/components/views/FAQIndex.tsx +++ b/src/components/views/FAQIndex.tsx @@ -4,7 +4,7 @@ import styled from 'styled-components'; // import SearchBox from '../SearchBox'; import Accordion from '../Accordion'; -import FAQJson from '@/content/FAQ.json'; +import faqContent from '@/content/FAQ'; import { Arc } from '@/components/styled-components/Arc'; import FlowerIcon from '/public//images/flower_faq.svg'; import { Container } from '@/components/Grid'; @@ -31,9 +31,9 @@ const FAQIndex = () => { {/*/>*/} - {Object.keys(FAQJson).map(i => ( + {Object.keys(faqContent).map(i => ( - {FAQJson[i as TFAQ].map(faq => ( + {faqContent[i as TFAQ].map(faq => ( Tor.us documentation. " - }, - { - "question": "What is the difference between Bitcoin and Ethereum?", - "answer": "Bitcoin is intended to function as decentralized means of value transfer whereas Ethereum is a protocol that allows users to develop decentralized applications on top of a blockchain network. As prominent Ethereum developer Vlad Zamfir has confirmed on several occasions, Ethereum is “not money.” Ethereum’s native token, Ether (ETH) exists in order to facilitate the process of building and deploying distributed applications. Meanwhile, the Bitcoin currency exists on the Bitcoin blockchain to facilitate peer-to-peer (P2P) exchange of uncensorable, non-confiscatable money.

From cryptocompare.com." - }, - { - "question": "What is Blockchain?", - "answer": "A blockchain is a distributed database that is shared among the nodes of a computer network. As a database, a blockchain stores information electronically in digital format. Blockchains are best known for their crucial role in cryptocurrency systems, such as Ethereum, for maintaining a secure and decentralized record of transactions. The innovation with a blockchain is that it guarantees the fidelity and security of a record of data and generates trust without the need for a trusted third party." - }, - { - "question": "What is Ethereum?", - "answer": "\"It's the world's programmable blockchain. Ethereum builds on Bitcoin's innovation, with some big differences. Both let you use digital money without payment providers or banks. But Ethereum is programmable, so you can also use it for lots of different digital assets – even Bitcoin! This also means Ethereum is for more than payments. It's a marketplace of financial services, games and apps that can't steal your data or censor you.\"

From Ethereum.org website" - } - ], - "Giveth": [ - { - "question": "What is Giveth?", - "answer": "Giveth is a community focused on Building the Future of Giving using blockchain technology. Our intention is to support and reward the funding of public goods by creating open, transparent and free access to the revolutionary funding opportunities available within the Ethereum ecosystem." - }, - { - "question": "How is Giveth funded?", - "answer": "Giveth has been adding value to Ethereum since 2016, funded solely by donations and a few grants programs (i.e Panvala, Gitcoin). Our community has come this far without the help of any investors. You can support us by donating to our project." - }, - { - "question": "Is Giveth recognized as an official charity?", - "answer": "With the help of SDG impact fund the Giveth DAO and community based organizational structure is represented as a non-profit 501c3 in the United States. We are a community-led project and will not derive any direct profit from the platform. We guarantee all funds will get recycled back into the Community that is ensuring the Giveth Platform becomes adopted widely." - }, - { - "question": "Is my donation tax deductible?", - "answer": "We do not support donors in obtaining tax deductions and if a donor receives GIVbacks for donating to a verified project, we can not guarantee that the donation is legally tax deductible." - }, - { - "question": "Where can I see in detail how Giveth is spending their donations?", - "answer": "One of the core values of Giveth is transparency. We invite everyone to have a look at our finances. Funding, expenditures and payments relating to Giveth can be seen in the Giveth Community on Giveth TRACE. All movements are visible at a very granular level in the DApp as well as from an Ethereum blockchain explorer." - }, - { - "question": "Are there fees for creating a project?", - "answer": "Nope! Giveth will never charge any additional fees for creating projects on our platform. If you create a project on Giveth.io it creates an entry in our database that directly points to your chosen Ethereum wallet. You can do this as well with a brand new account that holds zero funds. There are minor fees when using the ethereum network, and if you use other exchanges or services, there are likely associated fees. To learn more, read up on some of the foundation mechanics of Ethereum." - }, - { - "question": "What percentage of the donations go directly to the project?", - "answer": "100% of funds raised on Giveth go directly to the project. Giveth does not charge fees to givers or makers. There are minor fees when using the ethereum network, and if you use other exchanges or services, there are likely associated fees. To learn more about fees and how Ethereum works, visit their website." - }, - { - "question": "Can I donate on Giveth if I don't have crypto?", - "answer": "Fiat integration (donate funds from your credit card or bank account) is coming soon! Stay tuned...\r\n\r\nGiveth has also partnered with SDG Impact Fund to make it possible for donors to contribute tax-deductible donations, in fiat or crypto, to altruistic projects on the blockchain. This is a major development in finance innovation to effectively care for the commons. We are very close to having fiat options integrated with the Dapp. Until then, fiat donations will accepted here. To learn more about the partnership between Giveth and the SDG Impact Fund, please refer to this blog post." - }, - { - "question": "I’m a donor. How do I know projects are getting my money?", - "answer": "Each project description page shows a list of all donations made to that project and by who. Giveth.io does not collect any fees and your donation is sent directly to the project's provided wallet address. You can also find your donation on the blockchain by the link to the transaction on a block explorer (i.e etherscan.io) after you make a succesful donation." - }, - { - "question": "How can I be sure my donations are making a difference?", - "answer": "We believe that every human being should be able to transparently see their funds create good in the world. Transparency is the key to staying focused on the work at hand. Project owners will be responsible for providing updates on how donations to their project are used." - }, - { - "question": "How do I know the project I contributed to was completed?", - "answer": "Each project has the opportunity to post updates as its status changes, and donors who contributed to that project will receive notifications when a project owner posts an update. Donors can log back on to Giveth to see photos, written updates, and sometimes videos of a given project. Updates are the responsibility of the project owner, Giveth has no direct control in facilitating these updates." - }, - { - "question": "Is there a maximum funding cap for a single project?", - "answer": "There is no maximum funding cap for projects. However, projects are encouraged to define specific funding requirements for better transparency." - }, - { - "question": "What types of projects are prohibited?", - "answer": "Projects that are found to exhibit \"unacceptable behaviour\" and/or violate our Covenant and/or Terms of Use are considered prohibited and will be cancelled immediately and an email will be send to the project owner. Learn more in our documentation article." - }, - { - "question": "What is a Traceable project?", - "answer": "A project on Giveth.io that has been verified can choose to become a Campaign on Giveth TRACE, thus becoming a traceable project. This enables project creators to manage their donations transparently using Traces. Traces specify how the project is using their donations to achieve the goals of the overarching Campaigns. Upgrading giveth.io projects to Campaigns enables project creators to specify parts of their project requiring funding as different types of Traces. Donors benefit from being able to choose to fund either specific Traces or the overarching Campaign, and are able to trace the flow of their donations. A traceable project appears on both Giveth TRACE (as a Campaign) and Giveth.io, allowing for double exposure! To learn how to make your project traceable, visit our documentation." - }, - { - "question": "I still need more detail on how Giveth works. Where can I find this?", - "answer": "Visit our documentation portal to learn more about Giveth. We always love to welcome you as well in our chatrooms, please visit the Join Page to see how to join our social media channels." - }, - { - "question": "I love Giveth but right now I have no funds to donate, how else can I contribute?", - "answer": "We are a very inclusive Community and would love for you to join and see how you can get involved. Join us on any of our social channels and come talk to us!" - } - ], - "GIVeconomy": [ - { - "question": "Why is Giveth launching a token?", - "answer": "Giveth’s mission is to reward & empower those who give -- to projects, to society & to the world. The GIV token fuels and drives the GIVeconomy and some has been already distributed to those who have contributed to making Giveth what it is today. Anyone with an Ethereum wallet can get GIV via our GIVbacks program by donating to verified projects. GIV is a governance token that allows our community to actively participate in shaping the future of Giveth in a decentralized way." - }, - { - "question": "What network is the GIV token on?", - "answer": "GIV was deployed on Ethereum Mainnet and is used most heavily on Gnosis (xDai). However, the GIViverse is multi-chained and GIV will likely be bridged/transferred to other chains and Layer 2 networks." - }, - { - "question": "Why are you using the Gnosis (xDai) network?", - "answer": "Giveth was part of the creation of the Gnosis (xDai) Network and loves the low-gas fees!" - }, - { - "question": "What can I do with GIV?", - "answer": "With GIV, you can Govern, Donate, Farm & Earn! Explore the GIVeconomy here." - }, - { - "question": "How can I get (more) GIV?", - "answer": "You can get GIV by interacting with the GIVeconomy and Giveth in several ways: " - }, - { - "question": "Who is eligible to receive the GIVdrop?", - "answer": "Recipients of the GIVdrop include members of the \"Giveth trusted seed\" - our community of crypto philanthropists, Giveth users & builders, Blockchain4Good DAO members, and other ecosystem partners. Check your GIVdrop or learn more about eligibility in our documentation." - }, - { - "question": "Will there be another GIVdrop?", - "answer": "No, there are no more GIVdrops planned, but anyone can get GIV from GIVbacks by donating to verified projects on Giveth." - }, - { - "question": "How do I claim my GIVdrop?", - "answer": "You can check your GIVdrop and claim your tokens here or read our tutorial on how to claim!" - }, - { - "question": "Why can't I see my successfully claimed GIV in my wallet?", - "answer": "The GIVdrop is on the Gnosis (xDai) Network. Ensure that your wallet is connected to xDai and that you have added GIV to your token list! The address for the GIV token on xDai is 0x4f4F9b8D5B4d0Dc10506e5551B0513B61fD59e75." - }, - { - "question": "Why don't I have a GIVdrop?", - "answer": "The GIVdrop has been sent to our community of crypto philanthropists, Giveth users & builders, Blockchain4Good DAO members, and other ecosystem partners. We have made every effort to include all valid addresses in this GIVdrop, at our discretion. Not every person who has ever interacted with Giveth is eligible. If you did not receive GIV, that is because you were not eligible. We will not review past transactions or consider other addresses for inclusion. We appreciate your understanding." - }, - { - "question": "I didn't receive a GIVdrop. Can I get one now?", - "answer": "We have made every effort to include all valid addresses in this GIVdrop, at our discretion. Not every person who has ever interacted with Giveth is eligible. If you did not receive GIV, that is because you were not eligible. We will not review past transactions or consider other addresses for inclusion. We appreciate your understanding." - }, - { - "question": "I'm eligible for the GIVdrop, but I lost the keys to my address. Can you help?", - "answer": "If you received the GIVdrop but no longer have access to the eligible address, it is possible for us to redirect the allocation to another ETH address. However, you need to prove who you are and that you do have tokens allocated to you. If this is you, reach out to our team for support. FYI - If no one on the Giveth team knows you, it probably won't work out." - }, - { - "question": "How do I get involved in governance?", - "answer": "Join Discord to engage with the community. If you have GIV, wrap it in the GIVgarden to unlock your governance voting power. Keep abreast of governance proposals and participate in the discussion in our Forum." - }, - { - "question": "What is the GIVbacks program?", - "answer": "GIVbacks is a revolutionary concept that rewards donors to verified projects on Giveth with GIV. Learn more about GIVbacks in our documentation." - }, - { - "question": "What is a 'Verified' Project?", - "answer": "'Verified' is a top tier status for projects wishing to join the GIVbacks program. The GIVbacks program is a revolutionary concept that rewards donors to verified projects with GIV tokens. By applying for a 'Verified' project status, you will be able to make your project stand out and encourage more donations. Getting your project verified also builds a relationship of trust with your donors by demonstrating your project's legitimacy and showing that the funds are being used to create positive change. This simple verification process requires some additional information about your project and the intended impact of your organization. If you would like to apply to receive the 'Verified' badge, encourage more giving and give back to those who have helped you reach your goals, please fill out this form." - }, - { - "question": "I earned GIVbacks, but the GIVbacks page says my balance is zero. What happened?", - "answer": "When you harvest GIV rewards on Gnosis (xDai) from the GIVgarden, GIVfarm, or GIVstream pages, you get all liquid GIV allocated to you in our token distro in a single transaction. If you earned GIV but don't see it on the GIVbacks page you may have already claimed this allocation from another page." - }, - { - "question": "What is the GIVgarden?", - "answer": "The GIVgarden is the Giveth Community’s DAO governance platform, developed by 1Hive's Gardens team, where GIV token holders can influence the treasury, roadmap and mission of the Giveth ecosystem. To learn more, check out the GIVgarden documentation." - }, - { - "question": "What is the GIVfarm?", - "answer": "The GIVfarm is the Giveth liquidity mining program that allows GIV holders to provide liquidity and stake tokens to earn GIV rewards. To learn more, check out the GIVfarm documentation." - }, - { - "question": "What is the GIVstream?", - "answer": "The GIVstream aligns community members with the long term success of Giveth and the GIVeconomy. With the GIVstream, anyone who adds value to the GIVeconomy gets GIV continuously for up to 5 years. The GIVeconomy starts out small but as more value is created, the GIViverse expands -- More GIV becomes liquid and more GIV spreads out to our community of stakeholders. To learn more, check out the GIVstream documentation." - }, - { - "question": "Why is there a GIVstream?", - "answer": "The GIVstream nurtures the GIVeconomy at inception by having only 10% of the total supply of GIV liquid and transferable to start. As the GIVeconomy grows & stabilizes, more GIV become liquid and available for everyone. We want to empower those who support the Giveth ecosystem with steadily increasing governance rights, this includes participants who donate to verified projects, vote in the GIVgarden or provide liquidity in the GIVfarm. Participants benefit from their GIVstream flowing as the GIVeconomy flourishes over time, therefore we ensure that Giveth is not just governed by people who buy tokens on the open market but by those who contribute in a more meaningful way." - }, - { - "question": "How do I get a GIVstream?", - "answer": "You can get (or increase) your GIVstream flowrate on xDai chain by donating (on Gnosis (xDai) or Mainnet) and getting GIVbacks, by wrapping GIV to use in the GIVgarden, or by staking in the GIVfarms on Gnosis (xDai). You can get (or increase) your GIVstream flowrate on Ethereum Mainnet by providing Mainnet liquidity and staking GIV or LP tokens in the GIVfarm on Mainnet." - }, - { - "question": "Can I speed up my GIVstream?", - "answer": "You can increase your GIVstream flowrate by participating in the GIVeconomy through GIVbacks, the GIVgarden, or the GIVfarm. You cannot, however, accelerate your GIVstream to decrease the time remaining. The \"GIViverse expansion\" time period ends on December 23, 2026 and is the same for the entire GIVeconomy." - } - ] -} diff --git a/src/content/FAQ.tsx b/src/content/FAQ.tsx new file mode 100644 index 0000000000..9c2e120b73 --- /dev/null +++ b/src/content/FAQ.tsx @@ -0,0 +1,980 @@ +import Routes from '@/lib/constants/Routes'; +import ExternalLink from '@/components/ExternalLink'; +import links from '@/lib/constants/links'; + +const faqContent = { + General: [ + { + question: 'What is Blockchain?', + answer: ( + <> + In simple terms, a blockchain is a method of storing and + transferring information. It can be considered a kind of + database that is not stored in a single computer. Instead, + many identical copies are distributed in several computers + called nodes. Information on a blockchain is stored in a + continuous chain of blocks with each block containing + essential information (for example, transactions) and the + cryptographic hash of the previous block. To change the + information in any block, you have to make changes to all + subsequent blocks. The content of the blocks is verified by + the consensus of all nodes in the network. These two + features makes it very difficult to alter any information + already included in the blocks, and this difficulty + increases with the number of nodes in the network. + + ), + }, + { + question: 'What is Ethereum?', + answer: ( + <> + "It's the world's programmable blockchain. Ethereum builds + on Bitcoin's innovation, with some big differences. Both let + you use digital money without payment providers or banks. + But Ethereum is programmable, so you can also use it for + lots of different digital assets – even Bitcoin! This also + means Ethereum is for more than payments. It's a marketplace + of financial services, games and apps that can't steal your + data or censor you."
+
From{' '} + {' '} + website + + ), + }, + { + question: 'What is Tor.us?', + answer: ( + <> + Tor.us is the non-crypto savvy way to sign in to, and use + Giveth.io. It is our wallet option alongside{' '} + + Metamask + + . For a more detailed answer, see{' '} + + Tor.us documentation + + .{' '} + + ), + }, + { + question: 'What is the difference between Bitcoin and Ethereum?', + answer: ( + <> + Bitcoin is intended to function as decentralized means of + value transfer whereas Ethereum is a protocol that allows + users to develop decentralized applications on top of a + blockchain network. As prominent Ethereum developer Vlad + Zamfir has confirmed on several occasions, Ethereum is “not + money.” Ethereum’s native token, Ether (ETH) exists in order + to facilitate the process of building and deploying + distributed applications. Meanwhile, the Bitcoin currency + exists on the Bitcoin blockchain to facilitate peer-to-peer + (P2P) exchange of uncensorable, non-confiscatable money. +
+
From{' '} + + cryptocompare.com + + . + + ), + }, + { + question: 'Why donate cryptocurrency?', + answer: ( + <> + Cryptocurrency knows no borders and marginalizes no one. It + can not be taken from you if you alone hold your keys. + Another advantage: When you donate with crypto, you do not + realize capital gains from the crypto you hold, and you can + deduct it from your taxes. In other words, donating your + crypto can often reduce your tax burden. Would you rather + donate to the tax agency or your favorite cause? + + ), + }, + { + question: 'Does the IRS recognize cryptocurrency donations?', + answer: ( + <> + The IRS classifies cryptocurrencies as property, so + cryptocurrency donations to 501c3 organizations receive the + same tax treatment as stocks. + + ), + }, + ], + Giveth: [ + { + question: 'What is Giveth?', + answer: ( + <> + Giveth is a community focused on{' '} + Building the Future of Giving using blockchain + technology. There are a lot of projects in the Giveth + Galaxy, but the core two projects are:{' '} + + Giveth.io + {' '} + and the{' '} + + GIVeconomy + + .
+ You can use Giveth to donate to projects or also propose + projects that need funding, all using cryptocurrency and + soon fiat currencies! We aim to foster a large network of + organizations and to build a bright, transparent and + decentralized Future of Giving. + + ), + }, + { + question: 'How is Giveth funded?', + answer: ( + <> + Giveth has been adding value to Ethereum since 2016, funded + solely by donations and a few grants programs (i.e{' '} + + Panvala + + ,{' '} + + Gitcoin + + ). Our community has come this far without the help of any + investors. You can support us by{' '} + + . + + ), + }, + { + question: 'Is Giveth recognized as an official charity?', + answer: ( + <> + With the help of SDG impact fund the Giveth DAO and + community based organizational structure is represented as a + non-profit 501c3 in the United States. We are a + community-led project and will not derive any direct profit + from the platform. We guarantee all funds will get recycled + back into the Community that is ensuring the Giveth Platform + becomes adopted widely. + + ), + }, + { + question: 'Is my donation tax deductible?', + answer: ( + <> + We do not support donors in obtaining tax deductions and if + a donor receives GIVbacks for donating to a verified + project, we can not guarantee that the donation is legally + tax deductible. + + ), + }, + { + question: + 'Where can I see in detail how Giveth is spending their donations?', + answer: ( + <> + One of the core values of Giveth is transparency. We invite + everyone to have a look at our finances. Funding, + expenditures and payments relating to Giveth can be seen in + the{' '} + + Giveth Community + {' '} + on{' '} + + Giveth TRACE + + . All movements are visible at a very granular level in the + DApp as well as from an Ethereum blockchain explorer. + + ), + }, + { + question: 'Are there fees for creating a project?', + answer: ( + <> + Nope! Giveth will never charge any additional fees for + creating projects on our platform. If you create a project + on Giveth.io it creates an entry in our database that + directly points to your chosen Ethereum wallet. You can do + this as well with a brand new account that holds zero funds. + There are minor fees when using the ethereum network, and if + you use other exchanges or services, there are likely + associated fees. To learn more, read up on some of the{' '} + + foundation mechanics of Ethereum + + . + + ), + }, + { + question: + 'What percentage of the donations go directly to the project?', + answer: ( + <> + 100% of funds raised on Giveth go directly to the project. + Giveth does not charge fees to givers or makers. There are + minor fees when using the ethereum network, and if you use + other exchanges or services, there are likely associated + fees. To learn more about fees and how Ethereum works, visit{' '} + + their website + + . + + ), + }, + { + question: "Can I donate on Giveth if I don't have crypto?", + answer: ( + <> + Fiat integration (donate funds from your credit card or bank + account) is coming soon! Stay tuned... Giveth has also + partnered with{' '} + + SDG Impact Fund + {' '} + to make it possible for donors to contribute tax-deductible + donations, in fiat or crypto, to altruistic projects on the + blockchain. This is a major development in finance + innovation to effectively care for the commons. We are very + close to having fiat options integrated with the Dapp. Until + then, fiat donations will accepted{' '} + + here + + . To learn more about the partnership between Giveth and the + SDG Impact Fund, please refer to{' '} + + this blog post + + . + + ), + }, + { + question: + 'I’m a donor. How do I know projects are getting my money?', + answer: ( + <> + Each project description page shows a list of all donations + made to that project and by who. Giveth.io does not collect + any fees and your donation is sent directly to the project's + provided wallet address. You can also find your donation on + the blockchain by the link to the transaction on a block + explorer (i.e{' '} + + etherscan.io + + ) after you make a successful donation. + + ), + }, + { + question: 'How can I be sure my donations are making a difference?', + answer: ( + <> + We believe that every human being should be able to + transparently see their funds create good in the world. + Transparency is the key to staying focused on the work at + hand. Project owners will be responsible for providing + updates on how donations to their project are used. + + ), + }, + { + question: + 'How do I know the project I contributed to was completed?', + answer: ( + <> + Each project has the opportunity to post updates as its + status changes, and donors who contributed to that project + will receive notifications when a project owner posts an + update. Donors can log back on to Giveth to see photos, + written updates, and sometimes videos of a given project. + Updates are the responsibility of the project owner, Giveth + has no direct control in facilitating these updates. + + ), + }, + { + question: 'Is there a maximum funding cap for a single project?', + answer: ( + <> + There is no maximum funding cap for projects. However, + projects are encouraged to define specific funding + requirements for better transparency. + + ), + }, + { + question: 'What types of projects are prohibited?', + answer: ( + <> + Projects that are found to exhibit "unacceptable behaviour" + and/or violate our{' '} + + Covenant + {' '} + and/or{' '} + + Terms of Use + {' '} + are considered prohibited and will be cancelled immediately + and an email will be send to the project owner. Learn more + in our{' '} + + documentation article + + . + + ), + }, + { + question: 'What is a Traceable project?', + answer: ( + <> + A project on{' '} + that + has been verified can choose to become a{' '} + {' '} + on , + thus becoming a Traceable project. This enables + project creators to manage their donations transparently + using{' '} + . + Traces specify how the project is using their donations to + achieve the goals of the overarching Campaigns. Upgrading + giveth.io projects to Campaigns enables project creators to + specify parts of their project requiring funding as + different types of{' '} + . + Donors benefit from being able to choose to fund either + specific Traces or the overarching Campaign, and are able to + trace the flow of their donations. A traceable project + appears on both{' '} + (as + a Campaign) and{' '} + , + allowing for double exposure! To learn how to make your + project traceable, visit our{' '} + + . + + ), + }, + { + question: + 'I still need more detail on how Giveth works. Where can I find this?', + answer: ( + <> + For information about the DAO governing Giveth, please visit + the Wiki. For developer + documentation and user guides for the Donation Application + please have a look at the{' '} + + docs + + . You're always very welcome to join our chatrooms. Please + visit the{' '} + + Join Page + + . + + ), + }, + { + question: + 'I love Giveth but right now I have no funds to donate, how else can I contribute?', + answer: ( + <> + We are a very inclusive Community and would love for you to + join and see how you can get involved.{' '} + {' '} + and come talk to us! + + ), + }, + ], + GIVeconomy: [ + { + question: 'Why is Giveth launching a token?', + answer: ( + <> + Giveth’s mission is to reward & empower those who give -- to + projects, to society & to the world. The GIV token fuels and + drives the GIVeconomy and some has been already distributed + to those who have contributed to making Giveth what it is + today. Anyone with an Ethereum wallet can get GIV via our{' '} + + GIVbacks program + {' '} + by donating to verified projects. GIV is a governance token + that allows our community to actively participate in shaping + the future of Giveth in a decentralized way. + + ), + }, + { + question: 'What network is the GIV token on?', + answer: ( + <> + GIV was deployed on Ethereum Mainnet and is used most + heavily on Gnosis (xDai). However, the GIViverse is + multi-chained and GIV will likely be bridged/transferred to + other chains and Layer 2 networks. + + ), + }, + { + question: 'Why are you using the Gnosis (xDai) network?', + answer: ( + <> + Giveth was part of the creation of the Gnosis (xDai) Network + and loves the low-gas fees! + + ), + }, + { + question: 'What can I do with GIV?', + answer: ( + <> + With GIV, you can Govern, Donate, Farm & Earn! Explore the + GIVeconomy{' '} + + here + + . + + ), + }, + { + question: 'How can I get (more) GIV?', + answer: ( + <> + You can get GIV by interacting with the GIVeconomy and + Giveth in several ways:{' '} +
    +
  • + By{' '} + {' '} + to verified projects and getting{' '} + + GIVbacks + + . +
  • +
  • + By providing liquidity and staking tokens in the{' '} + + . +
  • +
  • + By wrapping GIV and voting in the{' '} + + . +
  • +
  • + By{' '} + + becoming a contributor + + . +
  • +
+ + ), + }, + { + question: 'Who is eligible to receive the GIVdrop?', + answer: ( + <> + Recipients of the GIVdrop include members of the "Giveth + trusted seed" - our community of crypto philanthropists, + Giveth users & builders, Blockchain4Good DAO members, and + other ecosystem partners. Check your{' '} + + GIVdrop + {' '} + or learn more about eligibility in our{' '} + + documentation + + . + + ), + }, + { + question: 'Will there be another GIVdrop?', + answer: ( + <> + No, there are no more GIVdrops planned, but anyone can get + GIV from{' '} + + GIVbacks + {' '} + by donating to verified projects on Giveth. + + ), + }, + { + question: 'How do I claim my GIVdrop?', + answer: ( + <> + You can check your GIVdrop and claim your tokens{' '} + + here + {' '} + or read our{' '} + + tutorial + {' '} + on how to claim! + + ), + }, + { + question: + "Why can't I see my successfully claimed GIV in my wallet?", + answer: ( + <> + The GIVdrop is on the Gnosis (xDai) Network. Ensure that + your wallet is connected to xDai and that you have added GIV + to your token list! The address for the GIV token on xDai is + 0x4f4F9b8D5B4d0Dc10506e5551B0513B61fD59e75. + + ), + }, + { + question: "Why don't I have a GIVdrop?", + answer: ( + <> + The GIVdrop has been sent to our community of crypto + philanthropists, Giveth users & builders, Blockchain4Good + DAO members, and other ecosystem partners. We have made + every effort to include all valid addresses in this GIVdrop, + at our discretion. Not every person who has ever interacted + with Giveth is eligible. If you did not receive GIV, that is + because you were not eligible. We will not review past + transactions or consider other addresses for inclusion. We + appreciate your understanding. + + ), + }, + { + question: "I didn't receive a GIVdrop. Can I get one now?", + answer: ( + <> + We have made every effort to include all valid addresses in + this GIVdrop, at our discretion. Not every person who has + ever interacted with Giveth is eligible. If you did not + receive GIV, that is because you were not eligible. We will + not review past transactions or consider other addresses for + inclusion. We appreciate your understanding. + + ), + }, + { + question: + "I'm eligible for the GIVdrop, but I lost the keys to my address. Can you help?", + answer: ( + <> + If you received the GIVdrop but no longer have access to the + eligible address, it is possible for us to redirect the + allocation to another ETH address. However, you need to + prove who you are and that you do have tokens allocated to + you. If this is you,{' '} + + reach out to our team + {' '} + for support. FYI - If no one on the Giveth team knows you, + it probably won't work out. + + ), + }, + { + question: 'How do I get involved in governance?', + answer: ( + <> + + Join Discord + {' '} + to engage with the community. If you have GIV, wrap it in + the{' '} + {' '} + to unlock your governance voting power. Keep abreast of + governance proposals and participate in the discussion in + our{' '} + + Forum + + . + + ), + }, + { + question: 'What is the GIVbacks program?', + answer: ( + <> + GIVbacks is a revolutionary concept that rewards donors to + verified projects on Giveth with GIV. Learn more about{' '} + + GIVbacks + {' '} + in our documentation. + + ), + }, + { + question: "What is a 'Verified' Project?", + answer: ( + <> + 'Verified' is a top tier status for projects wishing to join + the GIVbacks program. The GIVbacks program is a + revolutionary concept that rewards donors to verified + projects with GIV tokens. By applying for a 'Verified' + project status, you will be able to make your project stand + out and encourage more donations. Getting your project + verified also builds a relationship of trust with your + donors by demonstrating your project's legitimacy and + showing that the funds are being used to create positive + change. This simple verification process requires some + additional information about your project and the intended + impact of your organization. If you would like to apply to + receive the 'Verified' badge, encourage more giving and give + back to those who have helped you reach your goals, please + fill out{' '} + + this form + + . + + ), + }, + { + question: + 'I earned GIVbacks, but the GIVbacks page says my balance is zero. What happened?', + answer: ( + <> + When you harvest GIV rewards on Gnosis (xDai) from the{' '} + + , , or{' '} + {' '} + pages, you get all liquid GIV allocated to you in our token + distro in a single transaction. If you earned GIV but don't + see it on the{' '} + {' '} + page you may have already claimed this allocation from + another page. + + ), + }, + { + question: 'What is the GIVgarden?', + answer: ( + <> + The{' '} + {' '} + is the Giveth Community’s DAO governance platform, developed + by{' '} + + 1Hive's Gardens team + + , where GIV token holders can influence the treasury, + roadmap and mission of the Giveth ecosystem. To learn more, + check out the{' '} + + GIVgarden documentation + + . + + ), + }, + { + question: 'What is the GIVfarm?', + answer: ( + <> + The {' '} + is the Giveth liquidity mining program that allows GIV + holders to provide liquidity and stake tokens to earn GIV + rewards. To learn more, check out the{' '} + + GIVfarm documentation + + . + + ), + }, + { + question: 'What is the GIVstream?', + answer: ( + <> + The{' '} + {' '} + aligns community members with the long term success of + Giveth and the GIVeconomy. With the GIVstream, anyone who + adds value to the GIVeconomy gets GIV continuously for up to + 5 years. The GIVeconomy starts out small but as more value + is created, the GIViverse expands -- More GIV becomes liquid + and more GIV spreads out to our community of stakeholders. + To learn more, check out the{' '} + + GIVstream documentation + + . + + ), + }, + { + question: 'Why is there a GIVstream?', + answer: ( + <> + The GIVstream nurtures the GIVeconomy at inception by having + only 10% of the total supply of GIV liquid and transferable + to start. As the GIVeconomy grows & stabilizes, more GIV + become liquid and available for everyone. We want to empower + those who support the Giveth ecosystem with steadily + increasing governance rights, this includes participants who{' '} + + , vote in the{' '} + {' '} + or provide liquidity in the{' '} + . + Participants benefit from their GIVstream flowing as the + GIVeconomy flourishes over time, therefore we ensure that + Giveth is not just governed by people who buy tokens on the + open market but by those who contribute in a more meaningful + way. + + ), + }, + { + question: 'How do I get a GIVstream?', + answer: ( + <> + You can get (or increase) your GIVstream flow-rate on xDai + chain by donating (on Gnosis (xDai) or Mainnet) and getting{' '} + , by + wrapping GIV to use in the{' '} + , + or by staking in the{' '} + on + Gnosis (xDai). You can get (or increase) your GIVstream + flowrate on Ethereum Mainnet by providing Mainnet liquidity + and staking GIV or LP tokens in the{' '} + on + Mainnet. + + ), + }, + { + question: 'Can I speed up my GIVstream?', + answer: ( + <> + You can increase your{' '} + {' '} + flow-rate by participating in the GIVeconomy through{' '} + , + the{' '} + , + or the{' '} + . You + cannot, however, accelerate your GIVstream to decrease the + time remaining. The "GIViverse expansion" time period ends + on December 23, 2026 and is the same for the entire + GIVeconomy. + + ), + }, + ], +}; + +export default faqContent; diff --git a/src/content/Partnerships.ts b/src/content/Partnerships.ts index e2f91461e0..26bc628a6d 100644 --- a/src/content/Partnerships.ts +++ b/src/content/Partnerships.ts @@ -23,7 +23,6 @@ import SourceCred from '/public/images/partnerships/SourceCred.svg'; import Meta_Gamma_Delta from '/public/images/partnerships/Meta_Gamma_Delta.svg'; import clrfund from '/public/images/partnerships/clrfund.svg'; import The_DAOist from '/public/images/partnerships/The_DAOist.svg'; -import XDAI from '/public/images/partnerships/XDAI.svg'; import Rainbow_Rolls from '/public/images/partnerships/Rainbow_Rolls.svg'; import Panvala from '/public/images/partnerships/Panvala.svg'; import The_Giving_Block from '/public/images/partnerships/The_Giving_Block.svg'; diff --git a/src/lib/constants/links.ts b/src/lib/constants/links.ts index 042bac2593..4870fb5013 100644 --- a/src/lib/constants/links.ts +++ b/src/lib/constants/links.ts @@ -27,6 +27,9 @@ const links: any = { GIVETH_DOCS: DOCS + 'whatisgiveth/', USER_DOCS: DOCS + 'dapps/', DEVELOPER_DOCS: DOCS + 'dapps/givethioinstallation', + CAMPAIGN_DOCS: DOCS + 'dapps/entitiesAndRoles/#campaigns', + TRACES_DOCS: DOCS + 'dapps/entitiesAndRoles/#traces', + MAKE_TRACEABLE_DOCS: DOCS + 'dapps/makeTraceableProject', TRACE: 'https://trace.giveth.io/', COMMONS_STACK: 'https://commonsstack.org/', RECRUITEE: 'https://giveth.recruitee.com/', From 33a395550e53487a555b76516b1d1d92d516c829 Mon Sep 17 00:00:00 2001 From: Ramin Date: Sun, 27 Mar 2022 19:11:48 +0430 Subject: [PATCH 15/43] 1. fix eslint error 2. change all terms from string to React component --- src/components/Accordion.tsx | 2 +- src/components/views/TermsIndex.tsx | 2 +- src/content/Terms.json | 114 ---- src/content/Terms.tsx | 824 ++++++++++++++++++++++++++++ 4 files changed, 826 insertions(+), 116 deletions(-) delete mode 100644 src/content/Terms.json create mode 100644 src/content/Terms.tsx diff --git a/src/components/Accordion.tsx b/src/components/Accordion.tsx index 8a621c8129..414c738f63 100644 --- a/src/components/Accordion.tsx +++ b/src/components/Accordion.tsx @@ -9,7 +9,7 @@ import ArrowUp from '/public/images/arrow_up.svg'; const Accordion = (props: { title: string; - description?: JSX.Element; + description?: JSX.Element | string; children?: JSX.Element | JSX.Element[]; }) => { const [isOpen, setOpen] = useState(false); diff --git a/src/components/views/TermsIndex.tsx b/src/components/views/TermsIndex.tsx index 75e70b7917..48c2778c86 100644 --- a/src/components/views/TermsIndex.tsx +++ b/src/components/views/TermsIndex.tsx @@ -1,5 +1,5 @@ import Image from 'next/image'; -import TermsArray from '@/content/Terms.json'; +import TermsArray from '@/content/Terms'; import Accordion from '../Accordion'; import FlowerIcon from '/public//images/flower_terms.svg'; import styled from 'styled-components'; diff --git a/src/content/Terms.json b/src/content/Terms.json deleted file mode 100644 index a364689e38..0000000000 --- a/src/content/Terms.json +++ /dev/null @@ -1,114 +0,0 @@ -[ - { - "title": "Agreement to terms", - "description": "
\n

\n These Terms of Use constitute a legally binding agreement made between you, whether\n personally or on behalf of an entity (“you”) and Giveth Foundation, doing business as\n Giveth ("Giveth", “we”, “us”, or “our”), concerning your access to and use\n of the\n \n https://giveth.io\n \n website as well as any other media form, media channel, mobile website or mobile\n application related, linked, or otherwise connected thereto (collectively, the\n “Site”). The Site provides an online marketplace for the following goods, products,\n and/or services: Giveth does not sell goods nor services. Giveth is an open directory\n of projects accepting donations. All money and property transferred to projects listed\n on Giveth.io shall be an irrevocable gift to the recipient. On 09.07.2020, the Giveth\n Foundation was established as a component of the SDG Impact Fund, which is an IRS\n recognized 501(c)(3) tax-exempt public charity and not for profit corporation having\n its principal office in the city of Catersville and State of Georgia as described in\n the Internal Revenue Code Sections 501(c)(3), 509(a)(1), and 170(b)(1)(A)(vi The SDG\n Impact Fund (Tax ID# 46-2368538) is an IRS recognized 501(c)(3) tax-exempt public\n charity as described in the Internal Revenue Code Sections 501(c)(3), 509(a)(1), and\n 170(b)(1)(A)(vi). All money and property transferred to The SDG Impact Fund shall be\n an irrevocable gift to the charity (the “Marketplace Offerings”). In order to help\n make the Site a secure environment for the purchase and sale of Marketplace Offerings,\n all users are required to accept and comply with these Terms of Use. You agree that by\n accessing the Site and/or the Marketplace Offerings, you have read, understood, and\n agree to be bound by all of these Terms of Use. IF YOU DO NOT AGREE WITH ALL OF THESE\n TERMS OF USE, THEN YOU ARE EXPRESSLY PROHIBITED FROM USING THE SITE AND/OR THE\n MARKETPLACE OFFERINGS AND YOU MUST DISCONTINUE USE IMMEDIATELY.\n

\n

\n Supplemental terms and conditions or documents that may be posted on the Site from\n time to time are hereby expressly incorporated herein by reference. We reserve the\n right, in our sole discretion, to make changes or modifications to these Terms of Use\n at any time and for any reason. We will alert you about any changes by updating the\n “Last updated” date of these Terms of Use, and you waive any right to receive specific\n notice of each such change. It is your responsibility to periodically review these\n Terms of Use to stay informed of updates. You will be subject to, and will be deemed\n to have been made aware of and to have accepted, the changes in any revised Terms of\n Use by your continued use of the Site after the date such revised Terms of Use are\n posted.\n

\n

\n The information provided on the Site is not intended for distribution to or use by any\n person or entity in any jurisdiction or country where such distribution or use would\n be contrary to law or regulation or which would subject us to any registration\n requirement within such jurisdiction or country. Accordingly, those persons who choose\n to access the Site from other locations do so on their own initiative and are solely\n responsible for compliance with local laws, if and to the extent local laws are\n applicable.\n

\n

\n The Site is not tailored to comply with industry-specific regulations (Health\n Insurance Portability and Accountability Act (HIPAA), Federal Information Security\n Management Act (FISMA), etc.), so if your interactions would be subjected to such\n laws, you may not use this Site. You may not use the Site in a way that would violate\n the Gramm-Leach-Bliley Act (GLBA).\n

\n

\n The Site is intended for users who are at least 18 years old. Persons under the age of\n 18 are not permitted to use or register for the Site or use the Marketplace Offerings.\n

\n
" - }, - { - "title": "Intellectual property rights", - "description": "
\n

\n Unless otherwise indicated, the Site and the Marketplace Offerings are our proprietary\n property and all source code, databases, functionality, software, website designs,\n audio, video, text, photographs, and graphics on the Site (collectively, the\n “Content”) and the trademarks, service marks, and logos contained therein (the\n “Marks”) are owned or controlled by us or licensed to us, and are protected by\n copyright and trademark laws and various other intellectual property rights and unfair\n competition laws of the United States, international copyright laws, and international\n conventions. The Content and the Marks are provided on the Site “AS IS” for your\n information and personal use only. Except as expressly provided in these Terms of Use,\n no part of the Site or the Marketplace Offerings and no Content or Marks may be\n copied, reproduced, aggregated, republished, uploaded, posted, publicly displayed,\n encoded, translated, transmitted, distributed, sold, licensed, or otherwise exploited\n for any commercial purpose whatsoever, without our express prior written permission.\n

\n

\n Provided that you are eligible to use the Site, you are granted a limited license to\n access and use the Site and to download or print a copy of any portion of the Content\n to which you have properly gained access solely for your personal, non-commercial use.\n We reserve all rights not expressly granted to you in and to the Site, the Content and\n the Marks.\n

\n
" - }, - { - "title": "User representations", - "description": "
\n

\n By using the Site or the Marketplace Offerings, you represent and warrant that:(1) all\n registration information you submit will be true, accurate, current, and complete; (2)\n you will maintain the accuracy of such information and promptly update such\n registration information as necessary; (3) you have the legal capacity and you agree\n to comply with these Terms of Use; (4) you are not a minor in the jurisdiction in\n which you reside; (5) you will not access the Site or the Marketplace Offerings\n through automated or non-human means, whether through a bot, script or otherwise; (6)\n you will not use the Site for any illegal or unauthorized purpose; and (7) your use of\n the Site or the Marketplace Offerings will not violate any applicable law or\n regulation.\n

\n

\n If you provide any information that is untrue, inaccurate, not current, or incomplete,\n we have the right to suspend or terminate your account and refuse any and all current\n or future use of the Site (or any portion thereof).\n

\n

\n You may not use the Site or the Marketplace Offerings for any illegal or unauthorized\n purpose nor may you, in the use of Marketplace Offerings, violate any laws. Among\n unauthorized Marketplace Offerings are the following: intoxicants of any sort; illegal\n drugs or other illegal products; alcoholic beverages; games of chance; and pornography\n or graphic adult content, images, or other adult products. Postings of any\n unauthorized products or content may result in immediate termination of your account\n and a lifetime ban from use of the Site.\n

\n

\n We are a service provider and make no representations as to the safety, effectiveness,\n adequacy, accuracy, availability, prices, ratings, reviews, or legality of any of the\n information contained on the Site or the Marketplace Offerings displayed or offered\n through the Site. You understand and agree that the content of the Site does not\n contain or constitute representations to be reasonably relied upon, and you agree to\n hold us harmless from any errors, omissions, or misrepresentations contained within\n the Site’s content. We do not endorse or recommend any Marketplace Offerings and the\n Site is provided for informational and advertising purposes only.\n

\n
" - }, - { - "title": "User registration", - "description": "
\n

\n You may be required to register with the Site in order to access the Marketplace\n Offerings. You agree to keep your password confidential and will be responsible for\n all use of your account and password. We reserve the right to remove, reclaim, or\n change a username you select if we determine, in our sole discretion, that such\n username is inappropriate, obscene, or otherwise objectionable.\n

\n
" - }, - { - "title": "Marketplace offerings", - "description": "

\n We reserve the right to limit the quantities of the Marketplace Offerings offered or\n available on the Site. All descriptions or pricing of the Marketplace Offerings are\n subject to change at any time without notice, at our sole discretion. We reserve the\n right to discontinue any Marketplace Offerings at any time for any reason. We do not\n warrant that the quality of any of the Marketplace Offerings purchased by you will\n meet your expectations or that any errors in the Site will be corrected.\n

" - }, - { - "title": "Purchases and payment", - "description": "
\n

We accept the following forms of payment:

\n
    \n
  • Visa
  • \n
  • Mastercard
  • \n
  • American Express
  • \n
  • Discover
  • \n
  • Cryptocurrency
  • \n
\n

\n You agree to provide current, complete, and accurate purchase and account information\n for all purchases of the Marketplace Offerings made via the Site. You further agree to\n promptly update account and payment information, including email address, payment\n method, and payment card expiration date, so that we can complete your transactions\n and contact you as needed. Sales tax will be added to the price of purchases as deemed\n required by us. We may change prices at any time.\n

\n

\n You agree to pay all charges at the prices then in effect for your purchases and any\n applicable shipping fees, and you authorize us to charge your chosen payment provider\n for any such amounts upon placing your order. We reserve the right to correct any\n errors or mistakes in pricing, even if we have already requested or received payment.\n

\n
" - }, - { - "title": "Refunds policy", - "description": "All sales are final and no refund will be issued." - }, - { - "title": "Prohibited activities", - "description": "
\n

\n You may not access or use the Site for any purpose other than that for which we make\n the Site available. The Site may not be used in connection with any commercial\n endeavors except those that are specifically endorsed or approved by us.\n

\n

As a user of the Site, you agree not to:

\n
    \n
  1. \n Systematically retrieve data or other content from the Site to create or compile,\n directly or indirectly, a collection, compilation, database, or directory without\n written permission from us.\n
  2. \n
  3. \n Make any unauthorized use of the Marketplace Offerings, including collecting\n usernames and/or email addresses of users by electronic or other means for the\n purpose of sending unsolicited email, or creating user accounts by automated means\n or under false pretenses.\n
  4. \n
  5. Use the Site to advertise or offer to sell goods and services.
  6. \n
  7. \n Circumvent, disable, or otherwise interfere with security-related features of the\n Site, including features that prevent or restrict the use or copying of any Content\n or enforce limitations on the use of the Site and/or the Content contained therein.\n
  8. \n
  9. \n Trick, defraud, or mislead us and other users, especially in any attempt to learn\n sensitive account information such as user passwords.\n
  10. \n
  11. \n Make improper use of our support services or submit false reports of abuse or\n misconduct.\n
  12. \n
  13. \n Engage in any automated use of the system, such as using scripts to send comments or\n messages, or using any data mining, robots, or similar data gathering and extraction\n tools.\n
  14. \n
  15. \n Interfere with, disrupt, or create an undue burden on the Site or the networks or\n services connected to the Site.\n
  16. \n
  17. \n Attempt to impersonate another user or person or use the username of another user.\n
  18. \n
  19. Sell or otherwise transfer your profile.
  20. \n
  21. \n Use any information obtained from the Site in order to harass, abuse, or harm\n another person.\n
  22. \n
  23. \n Use the Marketplace Offerings as part of any effort to compete with us or otherwise\n use the Site and/or the Content for any revenue-generating endeavor or commercial\n enterprise.\n
  24. \n
  25. \n Attempt to bypass any measures of the Site designed to prevent or restrict access to\n the Site, or any portion of the Site.\n
  26. \n
  27. \n Harass, annoy, intimidate, or threaten any of our employees or agents engaged in\n providing any portion of the Marketplace Offerings to you.\n
  28. \n
  29. Delete the copyright or other proprietary rights notice from any Content.
  30. \n
  31. \n Upload or transmit (or attempt to upload or to transmit) viruses, Trojan horses, or\n other material, including excessive use of capital letters and spamming (continuous\n posting of repetitive text), that interferes with any party’s uninterrupted use and\n enjoyment of the Site or modifies, impairs, disrupts, alters, or interferes with the\n use, features, functions, operation, or maintenance of the Marketplace Offerings.\n
  32. \n
  33. \n Upload or transmit (or attempt to upload or to transmit) any material that acts as a\n passive or active information collection or transmission mechanism, including\n without limitation, clear graphics interchange formats (“gifs”), 1×1 pixels, web\n bugs, cookies, or other similar devices (sometimes referred to as “spyware” or\n “passive collection mechanisms” or “pcms”).\n
  34. \n
  35. \n Except as may be the result of standard search engine or Internet browser usage,\n use, launch, develop, or distribute any automated system, including without\n limitation, any spider, robot, cheat utility, scraper, or offline reader that\n accesses the Site, or using or launching any unauthorized script or other software.\n
  36. \n
  37. Disparage, tarnish, or otherwise harm, in our opinion, us and/or the Site.
  38. \n
  39. \n Use the Site in a manner inconsistent with any applicable laws or regulations.\n
  40. \n
\n
" - }, - { - "title": "User generated contributions", - "description": "
\n

\n The Site may invite you to chat, contribute to, or participate in blogs, message\n boards, online forums, and other functionality, and may provide you with the\n opportunity to create, submit, post, display, transmit, perform, publish, distribute,\n or broadcast content and materials to us or on the Site, including but not limited to\n text, writings, video, audio, photographs, graphics, comments, suggestions, or\n personal information or other material (collectively, "Contributions").\n Contributions may be viewable by other users of the Site and the Marketplace Offerings\n and through third-party websites. As such, any Contributions you transmit may be\n treated as non-confidential and non-proprietary. When you create or make available any\n Contributions, you thereby represent and warrant that:\n

\n
    \n
  1. \n The creation, distribution, transmission, public display, or performance, and the\n accessing, downloading, or copying of your Contributions do not and will not\n infringe the proprietary rights, including but not limited to the copyright, patent,\n trademark, trade secret, or moral rights of any third party.\n
  2. \n
  3. \n You are the creator and owner of or have the necessary licenses, rights, consents,\n releases, and permissions to use and to authorize us, the Site, and other users of\n the Site to use your Contributions in any manner contemplated by the Site and these\n Terms of Use.\n
  4. \n
  5. \n You have the written consent, release, and/or permission of each and every\n identifiable individual person in your Contributions to use the name or likeness of\n each and every such identifiable individual person to enable inclusion and use of\n your Contributions in any manner contemplated by the Site and these Terms of Use.\n
  6. \n
  7. Your Contributions are not false, inaccurate, or misleading.
  8. \n
  9. \n Your Contributions are not unsolicited or unauthorized advertising, promotional\n materials, pyramid schemes, chain letters, spam, mass mailings, or other forms of\n solicitation.\n
  10. \n
  11. \n Your Contributions are not obscene, lewd, lascivious, filthy, violent, harassing,\n libelous, slanderous, or otherwise objectionable (as determined by us).\n
  12. \n
  13. \n Your Contributions do not ridicule, mock, disparage, intimidate, or abuse anyone.\n
  14. \n
  15. \n Your Contributions are not used to harass or threaten (in the legal sense of those\n terms) any other person and to promote violence against a specific person or class\n of people.\n
  16. \n
  17. Your Contributions do not violate any applicable law, regulation, or rule.
  18. \n
  19. \n Your Contributions do not violate the privacy or publicity rights of any third\n party.\n
  20. \n
  21. \n Your Contributions do not contain any material that solicits personal information\n from anyone under the age of 18 or exploits people under the age of 18 in a sexual\n or violent manner.\n
  22. \n
  23. \n Your Contributions do not violate any applicable law concerning child pornography,\n or otherwise intended to protect the health or well-being of minors.\n
  24. \n
  25. \n Your Contributions do not include any offensive comments that are connected to race,\n national origin, gender, sexual preference, or physical handicap.\n
  26. \n
  27. \n Your Contributions do not otherwise violate, or link to material that violates, any\n provision of these Terms of Use, or any applicable law or regulation.\n
  28. \n
\n

\n Any use of the Site or the Marketplace Offerings in violation of the foregoing\n violates these Terms of Use and may result in, among other things, termination or\n suspension of your rights to use the Site and the Marketplace Offerings.\n

\n
" - }, - { - "title": "Contribution license", - "description": "
\n

\n By posting your Contributions to any part of the Site or making Contributions\n accessible to the Site by linking your account from the Site to any of your social\n networking accounts, you automatically grant, and you represent and warrant that you\n have the right to grant, to us an unrestricted, unlimited, irrevocable, perpetual,\n non-exclusive, transferable, royalty-free, fully-paid, worldwide right, and license to\n host, use, copy, reproduce, disclose, sell, resell, publish, broadcast, retitle,\n archive, store, cache, publicly perform, publicly display, reformat, translate,\n transmit, excerpt (in whole or in part), and distribute such Contributions (including,\n without limitation, your image and voice) for any purpose, commercial, advertising, or\n otherwise, and to prepare derivative works of, or incorporate into other works, such\n Contributions, and grant and authorize sublicenses of the foregoing. The use and\n distribution may occur in any media formats and through any media channels.\n

\n

\n This license will apply to any form, media, or technology now known or hereafter\n developed, and includes our use of your name, company name, and franchise name, as\n applicable, and any of the trademarks, service marks, trade names, logos, and personal\n and commercial images you provide. You waive all moral rights in your Contributions,\n and you warrant that moral rights have not otherwise been asserted in your\n Contributions.\n

\n

\n We do not assert any ownership over your Contributions. You retain full ownership of\n all of your Contributions and any intellectual property rights or other proprietary\n rights associated with your Contributions. We are not liable for any statements or\n representations in your Contributions provided by you in any area on the Site. You are\n solely responsible for your Contributions to the Site and you expressly agree to\n exonerate us from any and all responsibility and to refrain from any legal action\n against us regarding your Contributions.\n

\n

\n We have the right, in our sole and absolute discretion, (1) to edit, redact, or\n otherwise change any Contributions; (2) to re-categorize any Contributions to place\n them in more appropriate locations on the Site; and (3) to pre-screen or delete any\n Contributions at any time and for any reason, without notice. We have no obligation to\n monitor your Contributions.\n

\n
" - }, - { - "title": "Social media", - "description": "As part of the functionality of the Site, you may link your account with online accounts you have with third-party service providers (each such account, a “Third-Party Account”) by either: (1) providing your Third-Party Account login information through the Site; or (2) allowing us to access your Third-Party Account, as is permitted under the applicable terms and conditions that govern your use of each Third-Party Account. You represent and warrant that you are entitled to disclose your Third-Party Account login information to us and/or grant us access to your Third-Party Account, without breach by you of any of the terms and conditions that govern your use of the applicable Third-Party Account, and without obligating us to pay any fees or making us subject to any usage limitations imposed by the third-party service provider of the Third-Party Account. By granting us access to any Third-Party Accounts, you understand that (1) we may access, make available, and store (if applicable) any content that you have provided to and stored in your Third-Party Account (the “Social Network Content”) so that it is available on and through the Site via your account, including without limitation any friend lists and (2) we may submit to and receive from your Third-Party Account additional information to the extent you are notified when you link your account with the Third-Party Account. Depending on the Third-Party Accounts you choose and subject to the privacy settings that you have set in such Third-Party Accounts, personally identifiable information that you post to your Third-Party Accounts may be available on and through your account on the Site. Please note that if a Third-Party Account or associated service becomes unavailable or our access to such Third-Party Account is terminated by the third-party service provider, then Social Network Content may no longer be available on and through the Site. You will have the ability to disable the connection between your account on the Site and your Third-Party Accounts at any time. PLEASE NOTE THAT YOUR RELATIONSHIP WITH THE THIRD-PARTY SERVICE PROVIDERS ASSOCIATED WITH YOUR THIRD-PARTY ACCOUNTS IS GOVERNED SOLELY BY YOUR AGREEMENT(S) WITH SUCH THIRD-PARTY SERVICE PROVIDERS. We make no effort to review any Social Network Content for any purpose, including but not limited to, for accuracy, legality, or non-infringement, and we are not responsible for any Social Network Content. You acknowledge and agree that we may access your email address book associated with a Third-Party Account and your contacts list stored on your mobile device or tablet computer solely for purposes of identifying and informing you of those contacts who have also registered to use the Site. You can deactivate the connection between the Site and your Third-Party Account by contacting us using the contact information below or through your account settings (if applicable). We will attempt to delete any information stored on our servers that was obtained through such Third-Party Account, except the username and profile picture that become associated with your account." - }, - { - "title": "Submissions", - "description": "You acknowledge and agree that any questions, comments, suggestions, ideas, feedback, or other information regarding the Site or the Marketplace Offerings (\"Submissions\") provided by you to us are non-confidential and shall become our sole property. We shall own exclusive rights, including all intellectual property rights, and shall be entitled to the unrestricted use and dissemination of these Submissions for any lawful purpose, commercial or otherwise, without acknowledgment or compensation to you. You hereby waive all moral rights to any such Submissions, and you hereby warrant that any such Submissions are original with you or that you have the right to submit such Submissions. You agree there shall be no recourse against us for any alleged or actual infringement or misappropriation of any proprietary right in your Submissions." - }, - { - "title": "Third-party websites and content", - "description": "The Site may contain (or you may be sent via the Site or the Marketplace Offerings) links to other websites (\"Third-Party Websites\") as well as articles, photographs, text, graphics, pictures, designs, music, sound, video, information, applications, software, and other content or items belonging to or originating from third parties (\"Third-Party Content\"). Such Third-Party Websites and Third-Party Content are not investigated, monitored, or checked for accuracy, appropriateness, or completeness by us, and we are not responsible for any Third Party Websites accessed through the Site or any Third-Party Content posted on, available through, or installed from the Site, including the content, accuracy, offensiveness, opinions, reliability, privacy practices, or other policies of or contained in the Third-Party Websites or the Third-Party Content. Inclusion of, linking to, or permitting the use or installation of any Third-Party Websites or any Third-Party Content does not imply approval or endorsement thereof by us. If you decide to leave the Site and access the Third-Party Websites or to use or install any Third-Party Content, you do so at your own risk, and you should be aware these Terms of Use no longer govern. You should review the applicable terms and policies, including privacy and data gathering practices, of any website to which you navigate from the Site or relating to any applications you use or install from the Site. Any purchases you make through Third-Party Websites will be through other websites and from other companies, and we take no responsibility whatsoever in relation to such purchases which are exclusively between you and the applicable third party. You agree and acknowledge that we do not endorse the products or services offered on Third-Party Websites and you shall hold us harmless from any harm caused by your purchase of such products or services. Additionally, you shall hold us harmless from any losses sustained by you or harm caused to you relating to or resulting in any way from any Third-Party Content or any contact with Third-Party Websites." - }, - { - "title": "Site management", - "description": "We reserve the right, but not the obligation, to: (1) monitor the Site for violations of these Terms of Use; (2) take appropriate legal action against anyone who, in our sole discretion, violates the law or these Terms of Use, including without limitation, reporting such user to law enforcement authorities; (3) in our sole discretion and without limitation, refuse, restrict access to, limit the availability of, or disable (to the extent technologically feasible) any of your Contributions or any portion thereof; (4) in our sole discretion and without limitation, notice, or liability, to remove from the Site or otherwise disable all files and content that are excessive in size or are in any way burdensome to our systems; and (5) otherwise manage the Site in a manner designed to protect our rights and property and to facilitate the proper functioning of the Site and the Marketplace Offerings." - }, - { - "title": "Privacy policy", - "description": "We care about data privacy and security. By using the Site or the Marketplace Offerings, you agree to be bound by our Privacy Policy posted on the Site, which is incorporated into these Terms of Use. Please be advised the Site and the Marketplace Offerings are hosted in the United States. If you access the Site or the Marketplace Offerings from any other region of the world with laws or other requirements governing personal data collection, use, or disclosure that differ from applicable laws in the United States, then through your continued use of the Site, you are transferring your data to the United States, and you agree to have your data transferred to and processed in the United States." - }, - { - "title": "Term and termination", - "description": "
\n

\n These Terms of Use shall remain in full force and effect while you use the Site.\n WITHOUT LIMITING ANY OTHER PROVISION OF THESE TERMS OF USE, WE RESERVE THE RIGHT TO,\n IN OUR SOLE DISCRETION AND WITHOUT NOTICE OR LIABILITY, DENY ACCESS TO AND USE OF THE\n SITE AND THE MARKETPLACE OFFERINGS (INCLUDING BLOCKING CERTAIN IP ADDRESSES), TO ANY\n PERSON FOR ANY REASON OR FOR NO REASON, INCLUDING WITHOUT LIMITATION FOR BREACH OF ANY\n REPRESENTATION, WARRANTY, OR COVENANT CONTAINED IN THESE TERMS OF USE OR OF ANY\n APPLICABLE LAW OR REGULATION. WE MAY TERMINATE YOUR USE OR PARTICIPATION IN THE SITE\n AND THE MARKETPLACE OFFERINGS OR DELETE YOUR ACCOUNT AND ANY CONTENT OR INFORMATION\n THAT YOU POSTED AT ANY TIME, WITHOUT WARNING, IN OUR SOLE DISCRETION.\n

\n

\n If we terminate or suspend your account for any reason, you are prohibited from\n registering and creating a new account under your name, a fake or borrowed name, or\n the name of any third party, even if you may be acting on behalf of the third party.\n In addition to terminating or suspending your account, we reserve the right to take\n appropriate legal action, including without limitation pursuing civil, criminal, and\n injunctive redress.\n

\n
" - }, - { - "title": "Modifications and interruptions", - "description": "
\n

\n We reserve the right to change, modify, or remove the contents of the Site at any time\n or for any reason at our sole discretion without notice. However, we have no\n obligation to update any information on our Site. We also reserve the right to modify\n or discontinue all or part of the Marketplace Offerings without notice at any time. We\n will not be liable to you or any third party for any modification, price change,\n suspension, or discontinuance of the Site or the Marketplace Offerings.\n

\n

\n We cannot guarantee the Site and the Marketplace Offerings will be available at all\n times. We may experience hardware, software, or other problems or need to perform\n maintenance related to the Site, resulting in interruptions, delays, or errors. We\n reserve the right to change, revise, update, suspend, discontinue, or otherwise modify\n the Site or the Marketplace Offerings at any time or for any reason without notice to\n you. You agree that we have no liability whatsoever for any loss, damage, or\n inconvenience caused by your inability to access or use the Site or the Marketplace\n Offerings during any downtime or discontinuance of the Site or the Marketplace\n Offerings. Nothing in these Terms of Use will be construed to obligate us to maintain\n and support the Site or the Marketplace Offerings or to supply any corrections,\n updates, or releases in connection therewith.\n

\n
" - }, - { - "title": "Governing law", - "description": "These Terms of Use and your use of the Site and the Marketplace Offerings are governed by and construed in accordance with the laws of the State of Georgia applicable to agreements made and to be entirely performed within the State of Georgia, without regard to its conflict of law principles." - }, - { - "title": "Dispute resolution", - "description": "
\n
Informal Negotiations
\n

\n To expedite resolution and control the cost of any dispute, controversy, or claim\n related to these Terms of Use (each a "Dispute" and collectively, the\n "Disputes") brought by either you or us (individually, a "Party"\n and collectively, the "Parties"), the Parties agree to first attempt to\n negotiate any Dispute (except those Disputes expressly provided below) informally for\n at least thirty (30) days before initiating arbitration. Such informal negotiations\n commence upon written notice from one Party to the other Party.\n

\n
Binding Arbitration
\n

\n If the Parties are unable to resolve a Dispute through informal negotiations, the\n Dispute (except those Disputes expressly excluded below) will be finally and\n exclusively resolved through binding arbitration. YOU UNDERSTAND THAT WITHOUT THIS\n PROVISION, YOU WOULD HAVE THE RIGHT TO SUE IN COURT AND HAVE A JURY TRIAL. The\n arbitration shall be commenced and conducted under the Commercial Arbitration Rules of\n the American Arbitration Association ("AAA") and, where appropriate, the\n AAA’s Supplementary Procedures for Consumer Related Disputes ("AAA Consumer\n Rules"), both of which are available at the AAA website:\n \n www.adr.org\n \n . Your arbitration fees and your share of arbitrator compensation shall be governed by\n the AAA Consumer Rules and, where appropriate, limited by the AAA Consumer Rules. The\n arbitration may be conducted in person, through the submission of documents, by phone,\n or online. The arbitrator will make a decision in writing, but need not provide a\n statement of reasons unless requested by either Party. The arbitrator must follow\n applicable law, and any award may be challenged if the arbitrator fails to do so.\n Except where otherwise required by the applicable AAA rules or applicable law, the\n arbitration will take place in United States, Georgia. Except as otherwise provided\n herein, the Parties may litigate in court to compel arbitration, stay proceedings\n pending arbitration, or to confirm, modify, vacate, or enter judgment on the award\n entered by the arbitrator.\n

\n

\n If for any reason, a Dispute proceeds in court rather than arbitration, the Dispute\n shall be commenced or prosecuted in the state and federal courts located in Bartow,\n Georgia, and the Parties hereby consent to, and waive all defenses of lack of personal\n jurisdiction, and forum non conveniens with respect to venue and jurisdiction in such\n state and federal courts. Application of the United Nations Convention on Contracts\n for the International Sale of Goods and the Uniform Computer Information Transaction\n Act (UCITA) is excluded from these Terms of Use.\n

\n

\n If this provision is found to be illegal or unenforceable, then neither Party will\n elect to arbitrate any Dispute falling within that portion of this provision found to\n be illegal or unenforceable, and such Dispute shall be decided by a court of competent\n jurisdiction within the courts listed for jurisdiction above, and the Parties agree to\n submit to the personal jurisdiction of that court.\n

\n
Restrictions
\n

\n The Parties agree that any arbitration shall be limited to the Dispute between the\n Parties individually. To the full extent permitted by law, (a) no arbitration shall be\n joined with any other proceeding; (b) there is no right or authority for any Dispute\n to be arbitrated on a class-action basis or to utilize class action procedures; and\n (c) there is no right or authority for any Dispute to be brought in a purported\n representative capacity on behalf of the general public or any other persons.\n

\n
Exceptions to Informal Negotiations and Arbitration
\n

\n The Parties agree that the following Disputes are not subject to the above provisions\n concerning informal negotiations and binding arbitration: (a) any Disputes seeking to\n enforce or protect, or concerning the validity of, any of the intellectual property\n rights of a Party; (b) any Dispute related to, or arising from, allegations of theft,\n piracy, invasion of privacy, or unauthorized use; and (c) any claim for injunctive\n relief. If this provision is found to be illegal or unenforceable, then neither Party\n will elect to arbitrate any Dispute falling within that portion of this provision\n found to be illegal or unenforceable and such Dispute shall be decided by a court of\n competent jurisdiction within the courts listed for jurisdiction above, and the\n Parties agree to submit to the personal jurisdiction of that court.\n

\n
" - }, - { - "title": "Corrections", - "description": "There may be information on the Site that contains typographical errors, inaccuracies, or omissions that may relate to the Marketplace Offerings, including descriptions, pricing, availability, and various other information. We reserve the right to correct any errors, inaccuracies, or omissions and to change or update the information on the Site at any time, without prior notice." - }, - { - "title": "Disclaimer", - "description": "The site and the marketplace offerings are provided on an as-is and as-available basis. You agree that your use of the site and our services will be at your sole risk. To the fullest extent permitted by law, we disclaim all warranties, express or implied, in connection with the site and the marketplace offerings and your use thereof, including, without limitation, the implied warranties of merchantability, fitness for a particular purpose, and non-infringement. We make no warranties or representations about the accuracy or completeness of the site’s content or the content of any websites linked to the site and we will assume no liability or responsibility for any (1) errors, mistakes, or inaccuracies of content and materials, (2) personal injury or property damage, of any nature whatsoever, resulting from your access to and use of the site, (3) any unauthorized access to or use of our secure servers and/or any and all personal information and/or financial information stored therein, (4) any interruption or cessation of transmission to or from the site or the marketplace offerings, (5) any bugs, viruses, trojan horses, or the like which may be transmitted to or through the site by any third party, and/or (6) any errors or omissions in any content and materials or for any loss or damage of any kind incurred as a result of the use of any content posted, transmitted, or otherwise made available via the site. We do not warrant, endorse, guarantee, or assume responsibility for any product or service advertised or offered by a third party through the site, any hyperlinked website, or any website or mobile application featured in any banner or other advertising, and we will not be a party to or in any way be responsible for monitoring any transaction between you and any third-party providers of products or services. As with the purchase of a product or service through any medium or in any environment, you should use your best judgment and exercise caution where appropriate." - }, - { - "title": "Limitations of liability", - "description": "In no event will we or our directors, employees, or agents be liable to you or any third party for any direct, indirect, consequential, exemplary, incidental, special, or punitive damages, including lost profit, lost revenue, loss of data, or other damages arising from your use of the site or the marketplace offerings, even if we have been advised of the possibility of such damages. Notwithstanding anything to the contrary contained herein, our liability to you for any cause whatsoever and regardless of the form of the action, will at all times be limited to the amount paid, if any, by you to us. Certain us state laws and international laws do not allow limitations on implied warranties or the exclusion or limitation of certain damages. If these laws apply to you, some or all of the above disclaimers or limitations may not apply to you, and you may have additional rights." - }, - { - "title": "Indemnification", - "description": "You agree to defend, indemnify, and hold us harmless, including our subsidiaries, affiliates, and all of our respective officers, agents, partners, and employees, from and against any loss, damage, liability, claim, or demand, including reasonable attorneys’ fees and expenses, made by any third party due to or arising out of: (1) your Contributions; (2) use of the Marketplace Offerings; (3) breach of these Terms of Use; (4) any breach of your representations and warranties set forth in these Terms of Use; (5) your violation of the rights of a third party, including but not limited to intellectual property rights; or (6) any overt harmful act toward any other user of the Site or the Marketplace Offerings with whom you connected via the Site. Notwithstanding the foregoing, we reserve the right, at your expense, to assume the exclusive defense and control of any matter for which you are required to indemnify us, and you agree to cooperate, at your expense, with our defense of such claims. We will use reasonable efforts to notify you of any such claim, action, or proceeding which is subject to this indemnification upon becoming aware of it." - }, - { - "title": "User data", - "description": "We will maintain certain data that you transmit to the Site for the purpose of managing the performance of the Marketplace Offerings, as well as data relating to your use of the Marketplace Offerings. Although we perform regular routine backups of data, you are solely responsible for all data that you transmit or that relates to any activity you have undertaken using the Marketplace Offerings. You agree that we shall have no liability to you for any loss or corruption of any such data, and you hereby waive any right of action against us arising from any such loss or corruption of such data." - }, - { - "title": "Electronic communications, transactions, and signatures", - "description": "Visiting the Site, sending us emails, and completing online forms constitute electronic communications. You consent to receive electronic communications, and you agree that all agreements, notices, disclosures, and other communications we provide to you electronically, via email and on the Site, satisfy any legal requirement that such communication be in writing. YOU HEREBY AGREE TO THE USE OF ELECTRONIC SIGNATURES, CONTRACTS, ORDERS, AND OTHER RECORDS, AND TO ELECTRONIC DELIVERY OF NOTICES, POLICIES, AND RECORDS OF TRANSACTIONS INITIATED OR COMPLETED BY US OR VIA THE SITE. You hereby waive any rights or requirements under any statutes, regulations, rules, ordinances, or other laws in any jurisdiction which require an original signature or delivery or retention of non-electronic records, or to payments or the granting of credits by any means other than electronic means." - }, - { - "title": "California users and residents", - "description": "If any complaint with us is not satisfactorily resolved, you can contact the Complaint Assistance Unit of the Division of Consumer Services of the California Department of Consumer Affairs in writing at 1625 North Market Blvd., Suite N 112, Sacramento, California 95834 or by telephone at (800) 952-5210 or (916) 445-1254." - }, - { - "title": "Miscellaneous", - "description": "These Terms of Use and any policies or operating rules posted by us on the Site or in respect to the Marketplace Offerings constitute the entire agreement and understanding between you and us. Our failure to exercise or enforce any right or provision of these Terms of Use shall not operate as a waiver of such right or provision. These Terms of Use operate to the fullest extent permissible by law. We may assign any or all of our rights and obligations to others at any time. We shall not be responsible or liable for any loss, damage, delay, or failure to act caused by any cause beyond our reasonable control. If any provision or part of a provision of these Terms of Use is determined to be unlawful, void, or unenforceable, that provision or part of the provision is deemed severable from these Terms of Use and does not affect the validity and enforceability of any remaining provisions. There is no joint venture, partnership, employment or agency relationship created between you and us as a result of these Terms of Use or use of the Marketplace Offerings. You agree that these Terms of Use will not be construed against us by virtue of having drafted them. You hereby waive any and all defenses you may have based on the electronic form of these Terms of Use and the lack of signing by the parties hereto to execute these Terms of Use." - }, - { - "title": "Contact us", - "description": "
\n

\n In order to resolve a complaint regarding the Site or the Marketplace Offerings or to\n receive further information regarding use of the Site or the Marketplace Offerings,\n please contact us at:\n

\n
    \n \n Giveth Foundation

    \n 475 E. Main Street\n #154\n Cartersville, GA 30121\n United States\n

    \ninfo@giveth.io\n
    \n
\n

\n These terms of use were created using\n \n Termly’s Terms and Conditions Generator\n \n .\n

\n
" - } -] diff --git a/src/content/Terms.tsx b/src/content/Terms.tsx new file mode 100644 index 0000000000..ca9f05ba90 --- /dev/null +++ b/src/content/Terms.tsx @@ -0,0 +1,824 @@ +import ExternalLink from '@/components/ExternalLink'; +import Routes from '@/lib/constants/Routes'; + +const termsArray = [ + { + title: 'Agreement to terms', + description: ( + <> +

+ These Terms of Use constitute a legally binding agreement + made between you, whether personally or on behalf of an + entity (“you”) and Giveth Foundation, doing business as + Giveth ("Giveth", “we”, “us”, or “our”), + concerning your access to and use of the{' '} + {' '} + website as well as any other media form, media channel, + mobile website or mobile application related, linked, or + otherwise connected thereto (collectively, the “Site”). The + Site provides an online marketplace for the following goods, + products, and/or services: Giveth does not sell goods nor + services. Giveth is an open directory of projects accepting + donations. All money and property transferred to projects + listed on Giveth.io shall be an irrevocable gift to the + recipient. On 09.07.2020, the Giveth Foundation was + established as a component of the SDG Impact Fund, which is + an IRS recognized 501(c)(3) tax-exempt public charity and + not for profit corporation having its principal office in + the city of Catersville and State of Georgia as described in + the Internal Revenue Code Sections 501(c)(3), 509(a)(1), and + 170(b)(1)(A)(vi The SDG Impact Fund (Tax ID# 46-2368538) is + an IRS recognized 501(c)(3) tax-exempt public charity as + described in the Internal Revenue Code Sections 501(c)(3), + 509(a)(1), and 170(b)(1)(A)(vi). All money and property + transferred to The SDG Impact Fund shall be an irrevocable + gift to the charity (the “Marketplace Offerings”). In order + to help make the Site a secure environment for the purchase + and sale of Marketplace Offerings, all users are required to + accept and comply with these Terms of Use. You agree that by + accessing the Site and/or the Marketplace Offerings, you + have read, understood, and agree to be bound by all of these + Terms of Use. IF YOU DO NOT AGREE WITH ALL OF THESE TERMS OF + USE, THEN YOU ARE EXPRESSLY PROHIBITED FROM USING THE SITE + AND/OR THE MARKETPLACE OFFERINGS AND YOU MUST DISCONTINUE + USE IMMEDIATELY. +

+

+ Supplemental terms and conditions or documents that may be + posted on the Site from time to time are hereby expressly + incorporated herein by reference. We reserve the right, in + our sole discretion, to make changes or modifications to + these Terms of Use at any time and for any reason. We will + alert you about any changes by updating the “Last updated” + date of these Terms of Use, and you waive any right to + receive specific notice of each such change. It is your + responsibility to periodically review these Terms of Use to + stay informed of updates. You will be subject to, and will + be deemed to have been made aware of and to have accepted, + the changes in any revised Terms of Use by your continued + use of the Site after the date such revised Terms of Use are + posted. +

+

+ The information provided on the Site is not intended for + distribution to or use by any person or entity in any + jurisdiction or country where such distribution or use would + be contrary to law or regulation or which would subject us + to any registration requirement within such jurisdiction or + country. Accordingly, those persons who choose to access the + Site from other locations do so on their own initiative and + are solely responsible for compliance with local laws, if + and to the extent local laws are applicable. +

+

+ The Site is not tailored to comply with industry-specific + regulations (Health Insurance Portability and Accountability + Act (HIPAA), Federal Information Security Management Act + (FISMA), etc.), so if your interactions would be subjected + to such laws, you may not use this Site. You may not use the + Site in a way that would violate the Gramm-Leach-Bliley Act + (GLBA). +

+

+ The Site is intended for users who are at least 18 years + old. Persons under the age of 18 are not permitted to use or + register for the Site or use the Marketplace Offerings. +

+ + ), + }, + { + title: 'Intellectual property rights', + description: ( + <> +

+ Unless otherwise indicated, the Site and the Marketplace + Offerings are our proprietary property and all source code, + databases, functionality, software, website designs, audio, + video, text, photographs, and graphics on the Site + (collectively, the “Content”) and the trademarks, service + marks, and logos contained therein (the “Marks”) are owned + or controlled by us or licensed to us, and are protected by + copyright and trademark laws and various other intellectual + property rights and unfair competition laws of the United + States, international copyright laws, and international + conventions. The Content and the Marks are provided on the + Site “AS IS” for your information and personal use only. + Except as expressly provided in these Terms of Use, no part + of the Site or the Marketplace Offerings and no Content or + Marks may be copied, reproduced, aggregated, republished, + uploaded, posted, publicly displayed, encoded, translated, + transmitted, distributed, sold, licensed, or otherwise + exploited for any commercial purpose whatsoever, without our + express prior written permission. +

+

+ Provided that you are eligible to use the Site, you are + granted a limited license to access and use the Site and to + download or print a copy of any portion of the Content to + which you have properly gained access solely for your + personal, non-commercial use. We reserve all rights not + expressly granted to you in and to the Site, the Content and + the Marks. +

+ + ), + }, + { + title: 'User representations', + description: ( + <> +

+ By using the Site or the Marketplace Offerings, you + represent and warrant that:(1) all registration information + you submit will be true, accurate, current, and complete; + (2) you will maintain the accuracy of such information and + promptly update such registration information as necessary; + (3) you have the legal capacity and you agree to comply with + these Terms of Use; (4) you are not a minor in the + jurisdiction in which you reside; (5) you will not access + the Site or the Marketplace Offerings through automated or + non-human means, whether through a bot, script or otherwise; + (6) you will not use the Site for any illegal or + unauthorized purpose; and (7) your use of the Site or the + Marketplace Offerings will not violate any applicable law or + regulation. +

+

+ If you provide any information that is untrue, inaccurate, + not current, or incomplete, we have the right to suspend or + terminate your account and refuse any and all current or + future use of the Site (or any portion thereof). +

+

+ You may not use the Site or the Marketplace Offerings for + any illegal or unauthorized purpose nor may you, in the use + of Marketplace Offerings, violate any laws. Among + unauthorized Marketplace Offerings are the following: + intoxicants of any sort; illegal drugs or other illegal + products; alcoholic beverages; games of chance; and + pornography or graphic adult content, images, or other adult + products. Postings of any unauthorized products or content + may result in immediate termination of your account and a + lifetime ban from use of the Site. +

+

+ We are a service provider and make no representations as to + the safety, effectiveness, adequacy, accuracy, availability, + prices, ratings, reviews, or legality of any of the + information contained on the Site or the Marketplace + Offerings displayed or offered through the Site. You + understand and agree that the content of the Site does not + contain or constitute representations to be reasonably + relied upon, and you agree to hold us harmless from any + errors, omissions, or misrepresentations contained within + the Site’s content. We do not endorse or recommend any + Marketplace Offerings and the Site is provided for + informational and advertising purposes only. +

+ + ), + }, + { + title: 'User registration', + description: ( + <> +

+ You may be required to register with the Site in order to + access the Marketplace Offerings. You agree to keep your + password confidential and will be responsible for all use of + your account and password. We reserve the right to remove, + reclaim, or change a username you select if we determine, in + our sole discretion, that such username is inappropriate, + obscene, or otherwise objectionable. +

+ + ), + }, + { + title: 'Marketplace offerings', + description: ( +

+ We reserve the right to limit the quantities of the Marketplace + Offerings offered or available on the Site. All descriptions or + pricing of the Marketplace Offerings are subject to change at + any time without notice, at our sole discretion. We reserve the + right to discontinue any Marketplace Offerings at any time for + any reason. We do not warrant that the quality of any of the + Marketplace Offerings purchased by you will meet your + expectations or that any errors in the Site will be corrected. +

+ ), + }, + { + title: 'Purchases and payment', + description: ( + <> +

We accept the following forms of payment:

+
    +
  • Visa
  • Mastercard
  • American Express
  • +
  • Discover
  • Cryptocurrency
  • +
+

+ You agree to provide current, complete, and accurate + purchase and account information for all purchases of the + Marketplace Offerings made via the Site. You further agree + to promptly update account and payment information, + including email address, payment method, and payment card + expiration date, so that we can complete your transactions + and contact you as needed. Sales tax will be added to the + price of purchases as deemed required by us. We may change + prices at any time. +

+

+ You agree to pay all charges at the prices then in effect + for your purchases and any applicable shipping fees, and you + authorize us to charge your chosen payment provider for any + such amounts upon placing your order. We reserve the right + to correct any errors or mistakes in pricing, even if we + have already requested or received payment. +

+ + ), + }, + { + title: 'Refunds policy', + description: 'All sales are final and no refund will be issued.', + }, + { + title: 'Prohibited activities', + description: ( + <> +

+ You may not access or use the Site for any purpose other + than that for which we make the Site available. The Site may + not be used in connection with any commercial endeavors + except those that are specifically endorsed or approved by + us. +

+

As a user of the Site, you agree not to:

+
    +
  1. + Systematically retrieve data or other content from the + Site to create or compile, directly or indirectly, a + collection, compilation, database, or directory without + written permission from us. +
  2. +
  3. + Make any unauthorized use of the Marketplace Offerings, + including collecting usernames and/or email addresses of + users by electronic or other means for the purpose of + sending unsolicited email, or creating user accounts by + automated means or under false pretenses. +
  4. +
  5. + Use the Site to advertise or offer to sell goods and + services. +
  6. +
  7. + Circumvent, disable, or otherwise interfere with + security-related features of the Site, including + features that prevent or restrict the use or copying of + any Content or enforce limitations on the use of the + Site and/or the Content contained therein. +
  8. +
  9. + Trick, defraud, or mislead us and other users, + especially in any attempt to learn sensitive account + information such as user passwords. +
  10. +
  11. + Make improper use of our support services or submit + false reports of abuse or misconduct. +
  12. +
  13. + Engage in any automated use of the system, such as using + scripts to send comments or messages, or using any data + mining, robots, or similar data gathering and extraction + tools. +
  14. +
  15. + Interfere with, disrupt, or create an undue burden on + the Site or the networks or services connected to the + Site. +
  16. +
  17. + Attempt to impersonate another user or person or use the + username of another user. +
  18. +
  19. Sell or otherwise transfer your profile.
  20. +
  21. + Use any information obtained from the Site in order to + harass, abuse, or harm another person. +
  22. +
  23. + Use the Marketplace Offerings as part of any effort to + compete with us or otherwise use the Site and/or the + Content for any revenue-generating endeavor or + commercial enterprise. +
  24. +
  25. + Attempt to bypass any measures of the Site designed to + prevent or restrict access to the Site, or any portion + of the Site. +
  26. +
  27. + Harass, annoy, intimidate, or threaten any of our + employees or agents engaged in providing any portion of + the Marketplace Offerings to you. +
  28. +
  29. + Delete the copyright or other proprietary rights notice + from any Content. +
  30. +
  31. + Upload or transmit (or attempt to upload or to transmit) + viruses, Trojan horses, or other material, including + excessive use of capital letters and spamming + (continuous posting of repetitive text), that interferes + with any party’s uninterrupted use and enjoyment of the + Site or modifies, impairs, disrupts, alters, or + interferes with the use, features, functions, operation, + or maintenance of the Marketplace Offerings. +
  32. +
  33. + Upload or transmit (or attempt to upload or to transmit) + any material that acts as a passive or active + information collection or transmission mechanism, + including without limitation, clear graphics interchange + formats (“gifs”), 1×1 pixels, web bugs, cookies, or + other similar devices (sometimes referred to as + “spyware” or “passive collection mechanisms” or “pcms”). +
  34. +
  35. + Except as may be the result of standard search engine or + Internet browser usage, use, launch, develop, or + distribute any automated system, including without + limitation, any spider, robot, cheat utility, scraper, + or offline reader that accesses the Site, or using or + launching any unauthorized script or other software. +
  36. +
  37. + Disparage, tarnish, or otherwise harm, in our opinion, + us and/or the Site. +
  38. +
  39. + Use the Site in a manner inconsistent with any + applicable laws or regulations. +
  40. +
+ + ), + }, + { + title: 'User generated contributions', + description: ( + <> +

+ The Site may invite you to chat, contribute to, or + participate in blogs, message boards, online forums, and + other functionality, and may provide you with the + opportunity to create, submit, post, display, transmit, + perform, publish, distribute, or broadcast content and + materials to us or on the Site, including but not limited to + text, writings, video, audio, photographs, graphics, + comments, suggestions, or personal information or other + material (collectively, "Contributions"). + Contributions may be viewable by other users of the Site and + the Marketplace Offerings and through third-party websites. + As such, any Contributions you transmit may be treated as + non-confidential and non-proprietary. When you create or + make available any Contributions, you thereby represent and + warrant that: +

+
    +
  1. + The creation, distribution, transmission, public + display, or performance, and the accessing, downloading, + or copying of your Contributions do not and will not + infringe the proprietary rights, including but not + limited to the copyright, patent, trademark, trade + secret, or moral rights of any third party. +
  2. +
  3. + You are the creator and owner of or have the necessary + licenses, rights, consents, releases, and permissions to + use and to authorize us, the Site, and other users of + the Site to use your Contributions in any manner + contemplated by the Site and these Terms of Use. +
  4. +
  5. + You have the written consent, release, and/or permission + of each and every identifiable individual person in your + Contributions to use the name or likeness of each and + every such identifiable individual person to enable + inclusion and use of your Contributions in any manner + contemplated by the Site and these Terms of Use. +
  6. +
  7. + Your Contributions are not false, inaccurate, or + misleading. +
  8. +
  9. + Your Contributions are not unsolicited or unauthorized + advertising, promotional materials, pyramid schemes, + chain letters, spam, mass mailings, or other forms of + solicitation. +
  10. +
  11. + Your Contributions are not obscene, lewd, lascivious, + filthy, violent, harassing, libelous, slanderous, or + otherwise objectionable (as determined by us). +
  12. +
  13. + Your Contributions do not ridicule, mock, disparage, + intimidate, or abuse anyone. +
  14. +
  15. + Your Contributions are not used to harass or threaten + (in the legal sense of those terms) any other person and + to promote violence against a specific person or class + of people. +
  16. +
  17. + Your Contributions do not violate any applicable law, + regulation, or rule. +
  18. +
  19. + Your Contributions do not violate the privacy or + publicity rights of any third party. +
  20. +
  21. + Your Contributions do not contain any material that + solicits personal information from anyone under the age + of 18 or exploits people under the age of 18 in a sexual + or violent manner. +
  22. +
  23. + Your Contributions do not violate any applicable law + concerning child pornography, or otherwise intended to + protect the health or well-being of minors. +
  24. +
  25. + Your Contributions do not include any offensive comments + that are connected to race, national origin, gender, + sexual preference, or physical handicap. +
  26. +
  27. + Your Contributions do not otherwise violate, or link to + material that violates, any provision of these Terms of + Use, or any applicable law or regulation. +
  28. +
+

+ Any use of the Site or the Marketplace Offerings in + violation of the foregoing violates these Terms of Use and + may result in, among other things, termination or suspension + of your rights to use the Site and the Marketplace + Offerings. +

+ + ), + }, + { + title: 'Contribution license', + description: ( + <> +

+ By posting your Contributions to any part of the Site or + making Contributions accessible to the Site by linking your + account from the Site to any of your social networking + accounts, you automatically grant, and you represent and + warrant that you have the right to grant, to us an + unrestricted, unlimited, irrevocable, perpetual, + non-exclusive, transferable, royalty-free, fully-paid, + worldwide right, and license to host, use, copy, reproduce, + disclose, sell, resell, publish, broadcast, retitle, + archive, store, cache, publicly perform, publicly display, + reformat, translate, transmit, excerpt (in whole or in + part), and distribute such Contributions (including, without + limitation, your image and voice) for any purpose, + commercial, advertising, or otherwise, and to prepare + derivative works of, or incorporate into other works, such + Contributions, and grant and authorize sublicenses of the + foregoing. The use and distribution may occur in any media + formats and through any media channels. +

+

+ This license will apply to any form, media, or technology + now known or hereafter developed, and includes our use of + your name, company name, and franchise name, as applicable, + and any of the trademarks, service marks, trade names, + logos, and personal and commercial images you provide. You + waive all moral rights in your Contributions, and you + warrant that moral rights have not otherwise been asserted + in your Contributions. +

+

+ We do not assert any ownership over your Contributions. You + retain full ownership of all of your Contributions and any + intellectual property rights or other proprietary rights + associated with your Contributions. We are not liable for + any statements or representations in your Contributions + provided by you in any area on the Site. You are solely + responsible for your Contributions to the Site and you + expressly agree to exonerate us from any and all + responsibility and to refrain from any legal action against + us regarding your Contributions. +

+

+ We have the right, in our sole and absolute discretion, (1) + to edit, redact, or otherwise change any Contributions; (2) + to re-categorize any Contributions to place them in more + appropriate locations on the Site; and (3) to pre-screen or + delete any Contributions at any time and for any reason, + without notice. We have no obligation to monitor your + Contributions. +

+ + ), + }, + { + title: 'Social media', + description: + 'As part of the functionality of the Site, you may link your account with online accounts you have with third-party service providers (each such account, a “Third-Party Account”) by either: (1) providing your Third-Party Account login information through the Site; or (2) allowing us to access your Third-Party Account, as is permitted under the applicable terms and conditions that govern your use of each Third-Party Account. You represent and warrant that you are entitled to disclose your Third-Party Account login information to us and/or grant us access to your Third-Party Account, without breach by you of any of the terms and conditions that govern your use of the applicable Third-Party Account, and without obligating us to pay any fees or making us subject to any usage limitations imposed by the third-party service provider of the Third-Party Account. By granting us access to any Third-Party Accounts, you understand that (1) we may access, make available, and store (if applicable) any content that you have provided to and stored in your Third-Party Account (the “Social Network Content”) so that it is available on and through the Site via your account, including without limitation any friend lists and (2) we may submit to and receive from your Third-Party Account additional information to the extent you are notified when you link your account with the Third-Party Account. Depending on the Third-Party Accounts you choose and subject to the privacy settings that you have set in such Third-Party Accounts, personally identifiable information that you post to your Third-Party Accounts may be available on and through your account on the Site. Please note that if a Third-Party Account or associated service becomes unavailable or our access to such Third-Party Account is terminated by the third-party service provider, then Social Network Content may no longer be available on and through the Site. You will have the ability to disable the connection between your account on the Site and your Third-Party Accounts at any time. PLEASE NOTE THAT YOUR RELATIONSHIP WITH THE THIRD-PARTY SERVICE PROVIDERS ASSOCIATED WITH YOUR THIRD-PARTY ACCOUNTS IS GOVERNED SOLELY BY YOUR AGREEMENT(S) WITH SUCH THIRD-PARTY SERVICE PROVIDERS. We make no effort to review any Social Network Content for any purpose, including but not limited to, for accuracy, legality, or non-infringement, and we are not responsible for any Social Network Content. You acknowledge and agree that we may access your email address book associated with a Third-Party Account and your contacts list stored on your mobile device or tablet computer solely for purposes of identifying and informing you of those contacts who have also registered to use the Site. You can deactivate the connection between the Site and your Third-Party Account by contacting us using the contact information below or through your account settings (if applicable). We will attempt to delete any information stored on our servers that was obtained through such Third-Party Account, except the username and profile picture that become associated with your account.', + }, + { + title: 'Submissions', + description: + 'You acknowledge and agree that any questions, comments, suggestions, ideas, feedback, or other information regarding the Site or the Marketplace Offerings ("Submissions") provided by you to us are non-confidential and shall become our sole property. We shall own exclusive rights, including all intellectual property rights, and shall be entitled to the unrestricted use and dissemination of these Submissions for any lawful purpose, commercial or otherwise, without acknowledgment or compensation to you. You hereby waive all moral rights to any such Submissions, and you hereby warrant that any such Submissions are original with you or that you have the right to submit such Submissions. You agree there shall be no recourse against us for any alleged or actual infringement or misappropriation of any proprietary right in your Submissions.', + }, + { + title: 'Third-party websites and content', + description: + 'The Site may contain (or you may be sent via the Site or the Marketplace Offerings) links to other websites ("Third-Party Websites") as well as articles, photographs, text, graphics, pictures, designs, music, sound, video, information, applications, software, and other content or items belonging to or originating from third parties ("Third-Party Content"). Such Third-Party Websites and Third-Party Content are not investigated, monitored, or checked for accuracy, appropriateness, or completeness by us, and we are not responsible for any Third Party Websites accessed through the Site or any Third-Party Content posted on, available through, or installed from the Site, including the content, accuracy, offensiveness, opinions, reliability, privacy practices, or other policies of or contained in the Third-Party Websites or the Third-Party Content. Inclusion of, linking to, or permitting the use or installation of any Third-Party Websites or any Third-Party Content does not imply approval or endorsement thereof by us. If you decide to leave the Site and access the Third-Party Websites or to use or install any Third-Party Content, you do so at your own risk, and you should be aware these Terms of Use no longer govern. You should review the applicable terms and policies, including privacy and data gathering practices, of any website to which you navigate from the Site or relating to any applications you use or install from the Site. Any purchases you make through Third-Party Websites will be through other websites and from other companies, and we take no responsibility whatsoever in relation to such purchases which are exclusively between you and the applicable third party. You agree and acknowledge that we do not endorse the products or services offered on Third-Party Websites and you shall hold us harmless from any harm caused by your purchase of such products or services. Additionally, you shall hold us harmless from any losses sustained by you or harm caused to you relating to or resulting in any way from any Third-Party Content or any contact with Third-Party Websites.', + }, + { + title: 'Site management', + description: + 'We reserve the right, but not the obligation, to: (1) monitor the Site for violations of these Terms of Use; (2) take appropriate legal action against anyone who, in our sole discretion, violates the law or these Terms of Use, including without limitation, reporting such user to law enforcement authorities; (3) in our sole discretion and without limitation, refuse, restrict access to, limit the availability of, or disable (to the extent technologically feasible) any of your Contributions or any portion thereof; (4) in our sole discretion and without limitation, notice, or liability, to remove from the Site or otherwise disable all files and content that are excessive in size or are in any way burdensome to our systems; and (5) otherwise manage the Site in a manner designed to protect our rights and property and to facilitate the proper functioning of the Site and the Marketplace Offerings.', + }, + { + title: 'Privacy policy', + description: + 'We care about data privacy and security. By using the Site or the Marketplace Offerings, you agree to be bound by our Privacy Policy posted on the Site, which is incorporated into these Terms of Use. Please be advised the Site and the Marketplace Offerings are hosted in the United States. If you access the Site or the Marketplace Offerings from any other region of the world with laws or other requirements governing personal data collection, use, or disclosure that differ from applicable laws in the United States, then through your continued use of the Site, you are transferring your data to the United States, and you agree to have your data transferred to and processed in the United States.', + }, + { + title: 'Term and termination', + description: ( + <> +

+ These Terms of Use shall remain in full force and effect + while you use the Site. WITHOUT LIMITING ANY OTHER PROVISION + OF THESE TERMS OF USE, WE RESERVE THE RIGHT TO, IN OUR SOLE + DISCRETION AND WITHOUT NOTICE OR LIABILITY, DENY ACCESS TO + AND USE OF THE SITE AND THE MARKETPLACE OFFERINGS (INCLUDING + BLOCKING CERTAIN IP ADDRESSES), TO ANY PERSON FOR ANY REASON + OR FOR NO REASON, INCLUDING WITHOUT LIMITATION FOR BREACH OF + ANY REPRESENTATION, WARRANTY, OR COVENANT CONTAINED IN THESE + TERMS OF USE OR OF ANY APPLICABLE LAW OR REGULATION. WE MAY + TERMINATE YOUR USE OR PARTICIPATION IN THE SITE AND THE + MARKETPLACE OFFERINGS OR DELETE YOUR ACCOUNT AND ANY CONTENT + OR INFORMATION THAT YOU POSTED AT ANY TIME, WITHOUT WARNING, + IN OUR SOLE DISCRETION. +

+

+ If we terminate or suspend your account for any reason, you + are prohibited from registering and creating a new account + under your name, a fake or borrowed name, or the name of any + third party, even if you may be acting on behalf of the + third party. In addition to terminating or suspending your + account, we reserve the right to take appropriate legal + action, including without limitation pursuing civil, + criminal, and injunctive redress. +

+ + ), + }, + { + title: 'Modifications and interruptions', + description: ( + <> +

+ We reserve the right to change, modify, or remove the + contents of the Site at any time or for any reason at our + sole discretion without notice. However, we have no + obligation to update any information on our Site. We also + reserve the right to modify or discontinue all or part of + the Marketplace Offerings without notice at any time. We + will not be liable to you or any third party for any + modification, price change, suspension, or discontinuance of + the Site or the Marketplace Offerings. +

+

+ We cannot guarantee the Site and the Marketplace Offerings + will be available at all times. We may experience hardware, + software, or other problems or need to perform maintenance + related to the Site, resulting in interruptions, delays, or + errors. We reserve the right to change, revise, update, + suspend, discontinue, or otherwise modify the Site or the + Marketplace Offerings at any time or for any reason without + notice to you. You agree that we have no liability + whatsoever for any loss, damage, or inconvenience caused by + your inability to access or use the Site or the Marketplace + Offerings during any downtime or discontinuance of the Site + or the Marketplace Offerings. Nothing in these Terms of Use + will be construed to obligate us to maintain and support the + Site or the Marketplace Offerings or to supply any + corrections, updates, or releases in connection therewith. +

+ + ), + }, + { + title: 'Governing law', + description: + 'These Terms of Use and your use of the Site and the Marketplace Offerings are governed by and construed in accordance with the laws of the State of Georgia applicable to agreements made and to be entirely performed within the State of Georgia, without regard to its conflict of law principles.', + }, + { + title: 'Dispute resolution', + description: ( + <> +
Informal Negotiations
+

+ To expedite resolution and control the cost of any dispute, + controversy, or claim related to these Terms of Use (each a + "Dispute" and collectively, the + "Disputes") brought by either you or us + (individually, a "Party" and collectively, the + "Parties"), the Parties agree to first attempt to + negotiate any Dispute (except those Disputes expressly + provided below) informally for at least thirty (30) days + before initiating arbitration. Such informal negotiations + commence upon written notice from one Party to the other + Party. +

+
Binding Arbitration
+

+ If the Parties are unable to resolve a Dispute through + informal negotiations, the Dispute (except those Disputes + expressly excluded below) will be finally and exclusively + resolved through binding arbitration. YOU UNDERSTAND THAT + WITHOUT THIS PROVISION, YOU WOULD HAVE THE RIGHT TO SUE IN + COURT AND HAVE A JURY TRIAL. The arbitration shall be + commenced and conducted under the Commercial Arbitration + Rules of the American Arbitration Association + ("AAA") and, where appropriate, the AAA’s + Supplementary Procedures for Consumer Related Disputes + ("AAA Consumer Rules"), both of which are + available at the AAA website:{' '} + + www.adr.org + {' '} + . Your arbitration fees and your share of arbitrator + compensation shall be governed by the AAA Consumer Rules + and, where appropriate, limited by the AAA Consumer Rules. + The arbitration may be conducted in person, through the + submission of documents, by phone, or online. The arbitrator + will make a decision in writing, but need not provide a + statement of reasons unless requested by either Party. The + arbitrator must follow applicable law, and any award may be + challenged if the arbitrator fails to do so. Except where + otherwise required by the applicable AAA rules or applicable + law, the arbitration will take place in United States, + Georgia. Except as otherwise provided herein, the Parties + may litigate in court to compel arbitration, stay + proceedings pending arbitration, or to confirm, modify, + vacate, or enter judgment on the award entered by the + arbitrator. +

+

+ If for any reason, a Dispute proceeds in court rather than + arbitration, the Dispute shall be commenced or prosecuted in + the state and federal courts located in Bartow, Georgia, and + the Parties hereby consent to, and waive all defenses of + lack of personal jurisdiction, and forum non conveniens with + respect to venue and jurisdiction in such state and federal + courts. Application of the United Nations Convention on + Contracts for the International Sale of Goods and the + Uniform Computer Information Transaction Act (UCITA) is + excluded from these Terms of Use. +

+

+ If this provision is found to be illegal or unenforceable, + then neither Party will elect to arbitrate any Dispute + falling within that portion of this provision found to be + illegal or unenforceable, and such Dispute shall be decided + by a court of competent jurisdiction within the courts + listed for jurisdiction above, and the Parties agree to + submit to the personal jurisdiction of that court. +

+
Restrictions
+

+ The Parties agree that any arbitration shall be limited to + the Dispute between the Parties individually. To the full + extent permitted by law, (a) no arbitration shall be joined + with any other proceeding; (b) there is no right or + authority for any Dispute to be arbitrated on a class-action + basis or to utilize class action procedures; and (c) there + is no right or authority for any Dispute to be brought in a + purported representative capacity on behalf of the general + public or any other persons. +

+
Exceptions to Informal Negotiations and Arbitration
+

+ The Parties agree that the following Disputes are not + subject to the above provisions concerning informal + negotiations and binding arbitration: (a) any Disputes + seeking to enforce or protect, or concerning the validity + of, any of the intellectual property rights of a Party; (b) + any Dispute related to, or arising from, allegations of + theft, piracy, invasion of privacy, or unauthorized use; and + (c) any claim for injunctive relief. If this provision is + found to be illegal or unenforceable, then neither Party + will elect to arbitrate any Dispute falling within that + portion of this provision found to be illegal or + unenforceable and such Dispute shall be decided by a court + of competent jurisdiction within the courts listed for + jurisdiction above, and the Parties agree to submit to the + personal jurisdiction of that court. +

+ + ), + }, + { + title: 'Corrections', + description: + 'There may be information on the Site that contains typographical errors, inaccuracies, or omissions that may relate to the Marketplace Offerings, including descriptions, pricing, availability, and various other information. We reserve the right to correct any errors, inaccuracies, or omissions and to change or update the information on the Site at any time, without prior notice.', + }, + { + title: 'Disclaimer', + description: + 'The site and the marketplace offerings are provided on an as-is and as-available basis. You agree that your use of the site and our services will be at your sole risk. To the fullest extent permitted by law, we disclaim all warranties, express or implied, in connection with the site and the marketplace offerings and your use thereof, including, without limitation, the implied warranties of merchantability, fitness for a particular purpose, and non-infringement. We make no warranties or representations about the accuracy or completeness of the site’s content or the content of any websites linked to the site and we will assume no liability or responsibility for any (1) errors, mistakes, or inaccuracies of content and materials, (2) personal injury or property damage, of any nature whatsoever, resulting from your access to and use of the site, (3) any unauthorized access to or use of our secure servers and/or any and all personal information and/or financial information stored therein, (4) any interruption or cessation of transmission to or from the site or the marketplace offerings, (5) any bugs, viruses, trojan horses, or the like which may be transmitted to or through the site by any third party, and/or (6) any errors or omissions in any content and materials or for any loss or damage of any kind incurred as a result of the use of any content posted, transmitted, or otherwise made available via the site. We do not warrant, endorse, guarantee, or assume responsibility for any product or service advertised or offered by a third party through the site, any hyperlinked website, or any website or mobile application featured in any banner or other advertising, and we will not be a party to or in any way be responsible for monitoring any transaction between you and any third-party providers of products or services. As with the purchase of a product or service through any medium or in any environment, you should use your best judgment and exercise caution where appropriate.', + }, + { + title: 'Limitations of liability', + description: + 'In no event will we or our directors, employees, or agents be liable to you or any third party for any direct, indirect, consequential, exemplary, incidental, special, or punitive damages, including lost profit, lost revenue, loss of data, or other damages arising from your use of the site or the marketplace offerings, even if we have been advised of the possibility of such damages. Notwithstanding anything to the contrary contained herein, our liability to you for any cause whatsoever and regardless of the form of the action, will at all times be limited to the amount paid, if any, by you to us. Certain us state laws and international laws do not allow limitations on implied warranties or the exclusion or limitation of certain damages. If these laws apply to you, some or all of the above disclaimers or limitations may not apply to you, and you may have additional rights.', + }, + { + title: 'Indemnification', + description: + 'You agree to defend, indemnify, and hold us harmless, including our subsidiaries, affiliates, and all of our respective officers, agents, partners, and employees, from and against any loss, damage, liability, claim, or demand, including reasonable attorneys’ fees and expenses, made by any third party due to or arising out of: (1) your Contributions; (2) use of the Marketplace Offerings; (3) breach of these Terms of Use; (4) any breach of your representations and warranties set forth in these Terms of Use; (5) your violation of the rights of a third party, including but not limited to intellectual property rights; or (6) any overt harmful act toward any other user of the Site or the Marketplace Offerings with whom you connected via the Site. Notwithstanding the foregoing, we reserve the right, at your expense, to assume the exclusive defense and control of any matter for which you are required to indemnify us, and you agree to cooperate, at your expense, with our defense of such claims. We will use reasonable efforts to notify you of any such claim, action, or proceeding which is subject to this indemnification upon becoming aware of it.', + }, + { + title: 'User data', + description: + 'We will maintain certain data that you transmit to the Site for the purpose of managing the performance of the Marketplace Offerings, as well as data relating to your use of the Marketplace Offerings. Although we perform regular routine backups of data, you are solely responsible for all data that you transmit or that relates to any activity you have undertaken using the Marketplace Offerings. You agree that we shall have no liability to you for any loss or corruption of any such data, and you hereby waive any right of action against us arising from any such loss or corruption of such data.', + }, + { + title: 'Electronic communications, transactions, and signatures', + description: + 'Visiting the Site, sending us emails, and completing online forms constitute electronic communications. You consent to receive electronic communications, and you agree that all agreements, notices, disclosures, and other communications we provide to you electronically, via email and on the Site, satisfy any legal requirement that such communication be in writing. YOU HEREBY AGREE TO THE USE OF ELECTRONIC SIGNATURES, CONTRACTS, ORDERS, AND OTHER RECORDS, AND TO ELECTRONIC DELIVERY OF NOTICES, POLICIES, AND RECORDS OF TRANSACTIONS INITIATED OR COMPLETED BY US OR VIA THE SITE. You hereby waive any rights or requirements under any statutes, regulations, rules, ordinances, or other laws in any jurisdiction which require an original signature or delivery or retention of non-electronic records, or to payments or the granting of credits by any means other than electronic means.', + }, + { + title: 'California users and residents', + description: + 'If any complaint with us is not satisfactorily resolved, you can contact the Complaint Assistance Unit of the Division of Consumer Services of the California Department of Consumer Affairs in writing at 1625 North Market Blvd., Suite N 112, Sacramento, California 95834 or by telephone at (800) 952-5210 or (916) 445-1254.', + }, + { + title: 'Miscellaneous', + description: + 'These Terms of Use and any policies or operating rules posted by us on the Site or in respect to the Marketplace Offerings constitute the entire agreement and understanding between you and us. Our failure to exercise or enforce any right or provision of these Terms of Use shall not operate as a waiver of such right or provision. These Terms of Use operate to the fullest extent permissible by law. We may assign any or all of our rights and obligations to others at any time. We shall not be responsible or liable for any loss, damage, delay, or failure to act caused by any cause beyond our reasonable control. If any provision or part of a provision of these Terms of Use is determined to be unlawful, void, or unenforceable, that provision or part of the provision is deemed severable from these Terms of Use and does not affect the validity and enforceability of any remaining provisions. There is no joint venture, partnership, employment or agency relationship created between you and us as a result of these Terms of Use or use of the Marketplace Offerings. You agree that these Terms of Use will not be construed against us by virtue of having drafted them. You hereby waive any and all defenses you may have based on the electronic form of these Terms of Use and the lack of signing by the parties hereto to execute these Terms of Use.', + }, + { + title: 'Contact us', + description: ( + <> +

+ In order to resolve a complaint regarding the Site or the + Marketplace Offerings or to receive further information + regarding use of the Site or the Marketplace Offerings, + please contact us at: +

+
    + + Giveth Foundation +

    + 475 E. Main Street #154 Cartersville, GA 30121 + United States +

    + info@giveth.io +
    +
+

+ These terms of use were created using + + Termly’s Terms and Conditions Generator + + . +

+ + ), + }, +]; + +export default termsArray; From 01a575b89ddff8fbaeb0ff2c4cb55edde79dbacd Mon Sep 17 00:00:00 2001 From: Ramin Date: Mon, 28 Mar 2022 04:11:27 +0430 Subject: [PATCH 16/43] H #354 fix close modal button position and remove unused icons --- public/images/info-icon.svg | 3 - public/images/wallet_icon.svg | 7 -- public/images/warning.svg | 3 - public/images/x-icon-mustard.svg | 3 - src/components/modals/DonateModal.tsx | 67 ++++++++----------- src/components/modals/ModalHeader.tsx | 1 + src/components/modals/RemoveUpdateModal.tsx | 14 +++- src/components/toasts/FixedToast.tsx | 6 +- .../PublicProfileProjectsTab.tsx | 2 +- .../UserPublicProfile.view.tsx | 15 ++--- 10 files changed, 53 insertions(+), 68 deletions(-) delete mode 100644 public/images/info-icon.svg delete mode 100644 public/images/wallet_icon.svg delete mode 100644 public/images/warning.svg delete mode 100644 public/images/x-icon-mustard.svg diff --git a/public/images/info-icon.svg b/public/images/info-icon.svg deleted file mode 100644 index 475fe6b124..0000000000 --- a/public/images/info-icon.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/public/images/wallet_icon.svg b/public/images/wallet_icon.svg deleted file mode 100644 index 094f25f954..0000000000 --- a/public/images/wallet_icon.svg +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/public/images/warning.svg b/public/images/warning.svg deleted file mode 100644 index a40c354b84..0000000000 --- a/public/images/warning.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/public/images/x-icon-mustard.svg b/public/images/x-icon-mustard.svg deleted file mode 100644 index 0a357da5fb..0000000000 --- a/public/images/x-icon-mustard.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/src/components/modals/DonateModal.tsx b/src/components/modals/DonateModal.tsx index c42b07f0ff..f23fdf8b45 100644 --- a/src/components/modals/DonateModal.tsx +++ b/src/components/modals/DonateModal.tsx @@ -1,7 +1,6 @@ import { useState } from 'react'; import { useWeb3React } from '@web3-react/core'; import UserContext from '../../context/UserProvider'; -import Image from 'next/image'; import styled from 'styled-components'; import { brandColors, @@ -12,13 +11,14 @@ import { neutralColors, Button, semanticColors, + IconInfo, } from '@giveth/ui-design-system'; +import { IconWalletApprove } from '@giveth/ui-design-system/lib/cjs/components/icons/WalletApprove'; import { IModal, Modal } from '@/components/modals/Modal'; import { InsufficientFundModal } from '@/components/modals/InsufficientFund'; import { WrongNetworkModal } from '@/components/modals/WrongNetwork'; import { IProject } from '@/apollo/types/types'; -import { Flex } from '../styled-components/Flex'; import Logger from '../../utils/Logger'; import { checkNetwork } from '@/utils'; import { isAddressENS, getAddressFromENS } from '@/lib/wallet'; @@ -254,17 +254,16 @@ const DonateModal = ({ /> ); } + return ( - + } + > - - -
Donating
-

You are donating

@@ -293,14 +292,17 @@ const DonateModal = ({ {donationSaved && ( - - } - /> - + + } + /> )} { - setShowModal(false); - }} + onClick={() => setShowModal(false)} /> )} @@ -329,23 +329,14 @@ const DonateModal = ({ const DonateContainer = styled.div` background: white; color: black; - padding: 0 24px 38px 24px; - margin: -30px 0 0 0; + padding: 24px 24px 38px; + margin: 0; width: 100%; - ${mediaQueries['tablet']} { + ${mediaQueries.tablet} { width: 494px; } `; -const DonateTopTitle = styled(Flex)` - gap: 14px; - h6 { - padding: 24px 0; - font-weight: bold; - color: ${neutralColors.gray[900]}; - } -`; - const DonatingBox = styled.div` display: flex; flex-direction: column; @@ -389,6 +380,10 @@ const Buttons = styled.div` display: flex; flex-direction: column; justify-content: center; + + > :first-child { + margin: 15px 0; + } `; const CloseButton = styled(Button)` @@ -398,8 +393,4 @@ const CloseButton = styled(Button)` } `; -const ToastContainer = styled.div` - margin: 15px 0; -`; - export default DonateModal; diff --git a/src/components/modals/ModalHeader.tsx b/src/components/modals/ModalHeader.tsx index 4e56633339..2101e62503 100644 --- a/src/components/modals/ModalHeader.tsx +++ b/src/components/modals/ModalHeader.tsx @@ -37,6 +37,7 @@ export const ModalHeader: React.FC = ({ export const ModalHeaderRow = styled(Flex)` gap: 14px; + min-height: 48px; padding: 24px 24px 8px; position: relative; align-items: center; diff --git a/src/components/modals/RemoveUpdateModal.tsx b/src/components/modals/RemoveUpdateModal.tsx index 9cc6955a50..b57ac999fd 100644 --- a/src/components/modals/RemoveUpdateModal.tsx +++ b/src/components/modals/RemoveUpdateModal.tsx @@ -2,7 +2,12 @@ import { IModal, Modal } from '@/components/modals/Modal'; import { FC } from 'react'; import styled from 'styled-components'; import { IconTrash } from '@giveth/ui-design-system/lib/cjs/components/icons/Trash'; -import { Button, Lead, brandColors } from '@giveth/ui-design-system'; +import { + Button, + Lead, + brandColors, + IconAlertTriangle, +} from '@giveth/ui-design-system'; import FixedToast from '@/components/toasts/FixedToast'; export const RemoveUpdateModal: FC = ({ @@ -27,7 +32,12 @@ export const RemoveUpdateModal: FC = ({ message={`You can't undo this action`} color={brandColors.mustard[700]} backgroundColor={brandColors.mustard[200]} - icon={() => } + icon={ + + } /> { const { message, icon, color, backgroundColor, boldColor, href } = props; return ( - {icon && {icon()}} + {icon && {icon}} {message} {href && ( @@ -32,7 +32,7 @@ const FixedToast = (props: IFToast) => { const Container = styled.div` display: flex; - flex-direction: row; + align-items: center; background-color: ${props => props.color}; padding: 13.5px 16px; border: 1px solid ${(props: IToastContainer) => props.borderColor}; diff --git a/src/components/views/userPublicProfile/PublicProfileProjectsTab.tsx b/src/components/views/userPublicProfile/PublicProfileProjectsTab.tsx index 33f85e5357..5632425c7e 100644 --- a/src/components/views/userPublicProfile/PublicProfileProjectsTab.tsx +++ b/src/components/views/userPublicProfile/PublicProfileProjectsTab.tsx @@ -83,7 +83,7 @@ const PublicProfileProjectsTab: FC = ({ {!loading && totalCount === 0 ? ( - + ) : myAccount ? ( diff --git a/src/components/views/userPublicProfile/UserPublicProfile.view.tsx b/src/components/views/userPublicProfile/UserPublicProfile.view.tsx index 76a9f99372..46c4cfda82 100644 --- a/src/components/views/userPublicProfile/UserPublicProfile.view.tsx +++ b/src/components/views/userPublicProfile/UserPublicProfile.view.tsx @@ -12,6 +12,8 @@ import { H5, Caption, Button, + IconAlertTriangle, + IconX, } from '@giveth/ui-design-system'; import { mediaQueries } from '@/utils/constants'; @@ -70,7 +72,7 @@ const IncompleteProfileToast = ({ close }: IIncompleteToast) => { return ( - +
Your profile is incomplete @@ -86,12 +88,9 @@ const IncompleteProfileToast = ({ close }: IIncompleteToast) => { buttonType='texty' onClick={showCompleteProfile} /> - +
+ +
); @@ -381,7 +380,7 @@ const LetsDoIt = styled.div` color: ${brandColors.mustard[800]}; } } - img { + > :last-child { cursor: pointer; margin: 7px 0 0 0; } From c72b5b70d8e6c38d2ede93b407272b472765597e Mon Sep 17 00:00:00 2001 From: Amin Latifi Date: Mon, 28 Mar 2022 11:29:23 +0430 Subject: [PATCH 17/43] Read sentry setting from environmental variables --- src/utils/Logger.ts | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/utils/Logger.ts b/src/utils/Logger.ts index ccde728ede..5072e63cd4 100644 --- a/src/utils/Logger.ts +++ b/src/utils/Logger.ts @@ -1,10 +1,9 @@ import { init, captureException } from '@sentry/browser'; if (typeof window === 'object') { - // const sentryId = process.env.SENTRY_ID - const sentryId = 'de31cb89ac0045afbb9d28322cc9c040@o510515'; + const sentryDsn = process.env.SENTRY_DSN; init({ - dsn: `https://${sentryId}.ingest.sentry.io/5606310`, + dsn: sentryDsn, tracesSampleRate: 1.0, // james: look at dropping this, release: 'giveth-dapp@' + process.env.npm_package_version, }); From 2e55527953b18b22b14a3f8d037434edd00c10f0 Mon Sep 17 00:00:00 2001 From: Ramin Date: Mon, 28 Mar 2022 16:34:12 +0430 Subject: [PATCH 18/43] H #319 1. Show givback for verified projects and hide for admins 2. show "View similar projects" and "Report an issue" for non-admin --- src/components/ExternalLink.tsx | 16 +++--- src/components/InternalLink.tsx | 17 ++++++ .../views/project/ProjectDonateCard.tsx | 52 +++++++++---------- 3 files changed, 49 insertions(+), 36 deletions(-) create mode 100644 src/components/InternalLink.tsx diff --git a/src/components/ExternalLink.tsx b/src/components/ExternalLink.tsx index cf402f4bb7..571d73b632 100644 --- a/src/components/ExternalLink.tsx +++ b/src/components/ExternalLink.tsx @@ -1,20 +1,16 @@ -import { semanticColors } from '@giveth/ui-design-system'; import React, { ReactElement } from 'react'; -import styled from 'styled-components'; const ExternalLink = (props: { - children: ReactElement | string; + children?: ReactElement[] | ReactElement; href: string; + title?: string; }) => { + const { children, href, title } = props; return ( - - {props.children} - +
+ {title || children} + ); }; -const StyledLink = styled.a` - color: ${semanticColors.blueSky[500]} !important; -`; - export default ExternalLink; diff --git a/src/components/InternalLink.tsx b/src/components/InternalLink.tsx new file mode 100644 index 0000000000..626d3fa2af --- /dev/null +++ b/src/components/InternalLink.tsx @@ -0,0 +1,17 @@ +import React, { ReactElement } from 'react'; +import Link from 'next/link'; + +const InternalLink = (props: { + href: string; + title?: string; + children?: ReactElement[] | ReactElement; +}) => { + const { href, title, children } = props; + return ( + + {title || children} + + ); +}; + +export default InternalLink; diff --git a/src/components/views/project/ProjectDonateCard.tsx b/src/components/views/project/ProjectDonateCard.tsx index 57f401d055..583c99a721 100644 --- a/src/components/views/project/ProjectDonateCard.tsx +++ b/src/components/views/project/ProjectDonateCard.tsx @@ -24,7 +24,7 @@ import { motion } from 'framer-motion'; import ShareLikeBadge from '@/components/badges/ShareLikeBadge'; import { Shadow } from '@/components/styled-components/Shadow'; import CategoryBadge from '@/components/badges/CategoryBadge'; -import { showToastError } from '@/lib/helpers'; +import { compareAddresses, showToastError } from '@/lib/helpers'; import { IProject } from '@/apollo/types/types'; import links from '@/lib/constants/links'; import useUser from '@/context/UserProvider'; @@ -40,6 +40,9 @@ import { ACTIVATE_PROJECT } from '@/apollo/gql/gqlProjects'; import { idToProjectEdit, slugToProjectDonate } from '@/lib/routeCreators'; import { VerificationModal } from '@/components/modals/VerificationModal'; import { mediaQueries } from '@/utils/constants'; +import ExternalLink from '@/components/ExternalLink'; +import InternalLink from '@/components/InternalLink'; +import Routes from '@/lib/constants/Routes'; interface IProjectDonateCard { project?: IProject; @@ -162,10 +165,9 @@ const ProjectDonateCard = ({ useEffect(() => { setIsAdmin( - !!user?.walletAddress && - adminUser?.walletAddress === user?.walletAddress, + compareAddresses(adminUser?.walletAddress, user?.walletAddress), ); - }, [user, adminUser]); + }, [user]); useEffect(() => { setWrapperHeight(wrapperRef?.current?.clientHeight || 0); @@ -287,22 +289,18 @@ const ProjectDonateCard = ({ onClick={likeUnlikeProject} /> - {!isDraft && ( + {!isAdmin && verified && ( When you donate to verified projects, you get GIV back. - + Learn more - + )} {isCategories && ( @@ -312,17 +310,17 @@ const ProjectDonateCard = ({ ))} )} - {!isDraft && ( - <> -
- + - Report an issue - - + title='Report an issue' + /> + + )} {isAdmin && !isDraft && ( @@ -339,6 +337,13 @@ const ProjectDonateCard = ({ ); }; +const Links = styled.div` + color: ${brandColors.pinky[500]}; + display: flex; + flex-direction: column; + gap: 8px; +`; + const BlueBar = styled.div` width: 80px; height: 3px; @@ -361,11 +366,6 @@ const GivingBlocksText = styled(Overline)` font-size: 10px; `; -const Links = styled.a` - font-size: 14px; - color: ${brandColors.pinky[500]} !important; -`; - const CategoryWrapper = styled.div` display: flex; flex-wrap: wrap; From daeb4a2732dfd728fa7ac390e310d035df8f1eb0 Mon Sep 17 00:00:00 2001 From: Amin Latifi Date: Mon, 28 Mar 2022 20:41:56 +0430 Subject: [PATCH 19/43] Renamed env variable --- src/utils/Logger.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/utils/Logger.ts b/src/utils/Logger.ts index 5072e63cd4..7928d1faf3 100644 --- a/src/utils/Logger.ts +++ b/src/utils/Logger.ts @@ -1,7 +1,7 @@ import { init, captureException } from '@sentry/browser'; if (typeof window === 'object') { - const sentryDsn = process.env.SENTRY_DSN; + const sentryDsn = process.env.NEXT_PUBLIC_SENTRY_DSN; init({ dsn: sentryDsn, tracesSampleRate: 1.0, // james: look at dropping this, From dd2a88eee1935503908f310b7ad719df30f71c25 Mon Sep 17 00:00:00 2001 From: Ramin Date: Mon, 28 Mar 2022 21:13:05 +0430 Subject: [PATCH 20/43] H #346 1. fix typo for "projects", "donations" and "liked projects" tab in my account and public profile view 2. Add user not found for public profile view --- pages/account.tsx | 2 +- pages/user/[address].tsx | 24 +++++++++++++++---- .../project-card/ProjectCardBadges.tsx | 3 ++- .../PublicProfileDonationsTab.tsx | 11 +++++++-- .../PublicProfileLikedTab.tsx | 9 +++++-- .../PublicProfileProjectsTab.tsx | 6 ++++- .../UserPublicProfile.view.tsx | 2 +- 7 files changed, 45 insertions(+), 12 deletions(-) diff --git a/pages/account.tsx b/pages/account.tsx index 7a8d01e3b8..d730d6741c 100644 --- a/pages/account.tsx +++ b/pages/account.tsx @@ -11,7 +11,7 @@ const NoUserContainer = styled.div` const UserRoute: FC = () => { const { - state: { isSignedIn, user }, + state: { user }, } = useUser(); return ( <> diff --git a/pages/user/[address].tsx b/pages/user/[address].tsx index 11aa1ac1e2..70f93039b4 100644 --- a/pages/user/[address].tsx +++ b/pages/user/[address].tsx @@ -1,16 +1,28 @@ +import { GetServerSideProps } from 'next'; +import Head from 'next/head'; +import { FC } from 'react'; +import styled from 'styled-components'; +import { Container } from '@/components/Grid'; +import { H3 } from '@giveth/ui-design-system'; + import { client } from '@/apollo/apolloClient'; import { GET_USER_BY_ADDRESS } from '@/apollo/gql/gqlUser'; import { IUser } from '@/apollo/types/types'; import UserPublicProfileView from '@/components/views/userPublicProfile/UserPublicProfile.view'; -import { GetServerSideProps } from 'next'; -import Head from 'next/head'; -import { FC } from 'react'; interface IUserRouteProps { - user: IUser; + user?: IUser; } const UserRoute: FC = ({ user }) => { + if (!user) { + return ( + + User not found + + ); + } + return ( <> @@ -21,6 +33,10 @@ const UserRoute: FC = ({ user }) => { ); }; +const NotFound = styled(H3)` + margin: 200px 0; +`; + export const getServerSideProps: GetServerSideProps = async context => { const { query } = context; const queryAddress = query.address; diff --git a/src/components/project-card/ProjectCardBadges.tsx b/src/components/project-card/ProjectCardBadges.tsx index 0fca35225d..8028f0799c 100644 --- a/src/components/project-card/ProjectCardBadges.tsx +++ b/src/components/project-card/ProjectCardBadges.tsx @@ -14,6 +14,7 @@ import { import styled from 'styled-components'; import ShareModal from '../modals/ShareModal'; import { likeProject, unlikeProject } from '@/lib/reaction'; +import { showToastError } from '@/lib/helpers'; interface IBadgeWrapper { width?: string; @@ -83,7 +84,7 @@ const ProjectCardBadges = (props: IProjectCardBadges) => { } } } catch (e) { - console.error('Error on like/unlike project ', e); + showToastError(e); } finally { setLoading(false); } diff --git a/src/components/views/userPublicProfile/PublicProfileDonationsTab.tsx b/src/components/views/userPublicProfile/PublicProfileDonationsTab.tsx index f2e9fa9b8b..0297c8be18 100644 --- a/src/components/views/userPublicProfile/PublicProfileDonationsTab.tsx +++ b/src/components/views/userPublicProfile/PublicProfileDonationsTab.tsx @@ -45,7 +45,10 @@ const injectSortIcon = (order: IOrder, title: EOrderBy) => { ); }; -const PublicProfileDonationsTab: FC = ({ user }) => { +const PublicProfileDonationsTab: FC = ({ + myAccount, + user, +}) => { const [loading, setLoading] = useState(false); const [donations, setDonations] = useState([]); const [totalDonations, setTotalDonations] = useState(0); @@ -102,7 +105,11 @@ const PublicProfileDonationsTab: FC = ({ user }) => { {!loading && totalDonations === 0 ? ( - + ) : ( = ({ user }) => { +const PublicProfileLikedTab: FC = ({ + myAccount, + user, +}) => { const [loading, setLoading] = useState(false); const [projects, setProjects] = useState([]); const [totalCount, setTotalCount] = useState(0); @@ -46,7 +49,9 @@ const PublicProfileLikedTab: FC = ({ user }) => { {!loading && totalCount == 0 ? ( diff --git a/src/components/views/userPublicProfile/PublicProfileProjectsTab.tsx b/src/components/views/userPublicProfile/PublicProfileProjectsTab.tsx index 33f85e5357..5ebed357c1 100644 --- a/src/components/views/userPublicProfile/PublicProfileProjectsTab.tsx +++ b/src/components/views/userPublicProfile/PublicProfileProjectsTab.tsx @@ -83,7 +83,11 @@ const PublicProfileProjectsTab: FC = ({ {!loading && totalCount === 0 ? ( - + ) : myAccount ? ( diff --git a/src/components/views/userPublicProfile/UserPublicProfile.view.tsx b/src/components/views/userPublicProfile/UserPublicProfile.view.tsx index 76a9f99372..6d331e08d9 100644 --- a/src/components/views/userPublicProfile/UserPublicProfile.view.tsx +++ b/src/components/views/userPublicProfile/UserPublicProfile.view.tsx @@ -141,7 +141,7 @@ const UserPublicProfileView: FC = ({ /> )} -
Not logged in or user not found
+
Not logged in
); From c0b172bc4f7facdd7d671078e4f84036d0619ccf Mon Sep 17 00:00:00 2001 From: mitch Date: Mon, 28 Mar 2022 10:52:15 -0600 Subject: [PATCH 21/43] content updates --- src/content/FAQ.tsx | 109 ++++++++++++++++++++++++++++++-------------- 1 file changed, 76 insertions(+), 33 deletions(-) diff --git a/src/content/FAQ.tsx b/src/content/FAQ.tsx index 9c2e120b73..8f92299e39 100644 --- a/src/content/FAQ.tsx +++ b/src/content/FAQ.tsx @@ -214,30 +214,74 @@ const faqContent = { }, { question: - 'Where can I see in detail how Giveth is spending their donations?', + 'Where can I see in detail how Giveth is spending their funds?', answer: ( <> One of the core values of Giveth is transparency. We invite everyone to have a look at our finances. Funding, - expenditures and payments relating to Giveth can be seen in - the{' '} - - Giveth Community - {' '} - on{' '} - - Giveth TRACE - - . All movements are visible at a very granular level in the - DApp as well as from an Ethereum blockchain explorer. + expenditures and payments relating to Giveth's Treasuries + can be seen in many places, including: + ), }, @@ -460,10 +504,9 @@ const faqContent = { 'I still need more detail on how Giveth works. Where can I find this?', answer: ( <> - For information about the DAO governing Giveth, please visit - the Wiki. For developer - documentation and user guides for the Donation Application - please have a look at the{' '} + For information about how Giveth works, its governance + structure, developer documentation and user guides for the + Donation Application please have a look at the{' '} GIV was deployed on Ethereum Mainnet and is used most - heavily on Gnosis (xDai). However, the GIViverse is + heavily on Gnosis Chain (xDai). However, the GIViverse is multi-chained and GIV will likely be bridged/transferred to other chains and Layer 2 networks. @@ -538,8 +581,8 @@ const faqContent = { question: 'Why are you using the Gnosis (xDai) network?', answer: ( <> - Giveth was part of the creation of the Gnosis (xDai) Network - and loves the low-gas fees! + Giveth was part of the creation of Gnosis Chain (formerly + xDai Network) and loves the low-gas fees! ), }, @@ -687,9 +730,9 @@ const faqContent = { "Why can't I see my successfully claimed GIV in my wallet?", answer: ( <> - The GIVdrop is on the Gnosis (xDai) Network. Ensure that - your wallet is connected to xDai and that you have added GIV - to your token list! The address for the GIV token on xDai is + The GIVdrop is on Gnosis Chain (xDai). Ensure that your + wallet is connected to xDai and that you have added GIV to + your token list! The address for the GIV token on xDai is 0x4f4F9b8D5B4d0Dc10506e5551B0513B61fD59e75. ), @@ -825,7 +868,7 @@ const faqContent = { 'I earned GIVbacks, but the GIVbacks page says my balance is zero. What happened?', answer: ( <> - When you harvest GIV rewards on Gnosis (xDai) from the{' '} + When you harvest GIV rewards on Gnosis Chain (xDai) from the{' '} , , or{' '} {' '} @@ -940,8 +983,8 @@ const faqContent = { question: 'How do I get a GIVstream?', answer: ( <> - You can get (or increase) your GIVstream flow-rate on xDai - chain by donating (on Gnosis (xDai) or Mainnet) and getting{' '} + You can get (or increase) your GIVstream flow-rate on Gnosis + Chain by donating (on Gnosis (xDai) or Mainnet) and getting{' '} , by wrapping GIV to use in the{' '} , From b7da664fe3a0589675d3d057071c4b4880532c9e Mon Sep 17 00:00:00 2001 From: Pedro Kretzschmar Date: Mon, 28 Mar 2022 17:50:37 -0300 Subject: [PATCH 22/43] hotfix: move states to handle modal to parent component --- src/components/menu/RewardMenu.tsx | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/components/menu/RewardMenu.tsx b/src/components/menu/RewardMenu.tsx index b6bef97383..41104a5184 100644 --- a/src/components/menu/RewardMenu.tsx +++ b/src/components/menu/RewardMenu.tsx @@ -33,13 +33,19 @@ import { ETheme, useGeneral } from '@/context/general.context'; import Routes from '@/lib/constants/Routes'; import { networkInfo } from '@/lib/constants/NetworksObj'; -export const RewardMenu = () => { +interface IRewardMenu { + showWhatIsGIVstreamModal: boolean; + setShowWhatIsGIVstreamModal: (value: boolean) => void; +} + +export const RewardMenu = ({ + showWhatIsGIVstreamModal, + setShowWhatIsGIVstreamModal, +}: IRewardMenu) => { const [isMounted, setIsMounted] = useState(false); const [farmsLiquidPart, setFarmsLiquidPart] = useState(Zero); const [givStreamLiquidPart, setGIVstreamLiquidPart] = useState(Zero); const [flowRateNow, setFlowRateNow] = useState(0); - const [showWhatIsGIVstreamModal, setShowWhatIsGIVstreamModal] = - useState(false); const { givTokenDistroHelper } = useTokenDistro(); const { currentValues } = useSubgraph(); const { rewardBalance } = useStakingNFT(); From f71d35d5f661142985f4b40865768150620a9c9d Mon Sep 17 00:00:00 2001 From: Pedro Kretzschmar Date: Mon, 28 Mar 2022 17:50:52 -0300 Subject: [PATCH 23/43] hotfix: modify logic of on leave to stop closing the modal --- src/components/Header/Header.tsx | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/src/components/Header/Header.tsx b/src/components/Header/Header.tsx index f23822cf4e..f22e1b9c94 100644 --- a/src/components/Header/Header.tsx +++ b/src/components/Header/Header.tsx @@ -50,6 +50,7 @@ export interface IHeader { const Header: FC = () => { const [showRewardMenu, setShowRewardMenu] = useState(false); + const [showRewardMenuModal, setShowRewardMenuModal] = useState(false); const [showUserMenu, setShowUserMenu] = useState(false); const [showHeader, setShowHeader] = useState(true); const [showWalletModal, setShowWalletModal] = useState(false); @@ -137,6 +138,12 @@ const Header: FC = () => { } }; + const handleRewardMenuOnLeave = () => { + if (!showRewardMenuModal) { + setShowRewardMenu(false); + } + }; + return ( <> = () => { setShowRewardMenu(true)} onMouseEnter={() => setShowRewardMenu(true)} - onMouseLeave={() => setShowRewardMenu(false)} + onMouseLeave={handleRewardMenuOnLeave} > @@ -244,7 +251,16 @@ const Header: FC = () => { - {showRewardMenu && } + {showRewardMenu && ( + + )} setShowUserMenu(true)} From 26f2d4e648e00c600b1a9e19f55dacc34109a9e0 Mon Sep 17 00:00:00 2001 From: Ramin Date: Tue, 29 Mar 2022 14:09:23 +0430 Subject: [PATCH 24/43] fix conflicts --- src/content/FAQ.tsx | 22 ++++++++-------------- src/lib/constants/links.ts | 2 ++ 2 files changed, 10 insertions(+), 14 deletions(-) diff --git a/src/content/FAQ.tsx b/src/content/FAQ.tsx index 8f92299e39..29cfaee625 100644 --- a/src/content/FAQ.tsx +++ b/src/content/FAQ.tsx @@ -918,13 +918,10 @@ const faqContent = { is the Giveth liquidity mining program that allows GIV holders to provide liquidity and stake tokens to earn GIV rewards. To learn more, check out the{' '} - - GIVfarm documentation - + . ), @@ -942,13 +939,10 @@ const faqContent = { is created, the GIViverse expands -- More GIV becomes liquid and more GIV spreads out to our community of stakeholders. To learn more, check out the{' '} - - GIVstream documentation - + . ), diff --git a/src/lib/constants/links.ts b/src/lib/constants/links.ts index 4870fb5013..2bcf5fde3d 100644 --- a/src/lib/constants/links.ts +++ b/src/lib/constants/links.ts @@ -22,6 +22,8 @@ const links: any = { YOUTUBE: 'https://www.youtube.com/channel/UClfutpRoY0WTVnq0oB0E0wQ', REDDIT: 'https://reddit.com/r/giveth', DOCS, + GIVFARM_DOCS: DOCS + 'giveconomy/givfarm', + GIVSTREAM_DOCS: DOCS + 'giveconomy/givstream', GIVBACK_DOC: DOCS + 'giveconomy/givbacks', COVENANT_DOC: DOCS + 'whatisgiveth/covenant/', GIVETH_DOCS: DOCS + 'whatisgiveth/', From fc87ade923a72f6ea9edb7e3b0235a53313f17c0 Mon Sep 17 00:00:00 2001 From: markoprljic Date: Tue, 29 Mar 2022 17:00:15 +0200 Subject: [PATCH 25/43] Update issue templates --- .../ISSUE_TEMPLATE/design-issue-template.md | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE/design-issue-template.md diff --git a/.github/ISSUE_TEMPLATE/design-issue-template.md b/.github/ISSUE_TEMPLATE/design-issue-template.md new file mode 100644 index 0000000000..5f4ee44f3d --- /dev/null +++ b/.github/ISSUE_TEMPLATE/design-issue-template.md @@ -0,0 +1,24 @@ +--- +name: Design Issue Template +about: Please select this template for any design request. It will automatically add + Design label, feel free to add other labels as needed. +title: '' +labels: Design +assignees: '' + +--- + +**What problem is this design solving? Why is it necessary?** +*A clear and concise description of what the problem is. Link to any relevant issues, PRs, and other resources.* + + +**Is there any user data or feedback backing up this feature request?** +*Share any user research conducted by yourself or others.* + + +**Which metrics will define this feature's success?** +*Provide current and/or expected metrics.* + + +**Additional context** +*Add any other context or screenshots related to your design here.* From 921f1fef4e90ffcbc1248572453a9af1fb40d1ed Mon Sep 17 00:00:00 2001 From: Cherik Date: Tue, 29 Mar 2022 23:26:57 +0430 Subject: [PATCH 26/43] update regenstreamCard --- .../{RegenStream.tsx => RegenStreamCard.tsx} | 147 +++++++++++++++--- 1 file changed, 123 insertions(+), 24 deletions(-) rename src/components/{RegenStream.tsx => RegenStreamCard.tsx} (56%) diff --git a/src/components/RegenStream.tsx b/src/components/RegenStreamCard.tsx similarity index 56% rename from src/components/RegenStream.tsx rename to src/components/RegenStreamCard.tsx index bc54a42e9f..bab288a295 100644 --- a/src/components/RegenStream.tsx +++ b/src/components/RegenStreamCard.tsx @@ -9,12 +9,17 @@ import { import { B, brandColors, + Button, + Caption, H4, H5, H6, IconGIVStream, IconHelp, + Lead, P, + SemiTitle, + Subline, } from '@giveth/ui-design-system'; import { IconWithTooltip } from '@/components/IconWithToolTip'; import { RegenStreamConfig, StreamType } from '@/types/config'; @@ -24,14 +29,14 @@ import { formatWeiHelper } from '@/helpers/number'; import { IconFox } from '@/components/Icons/Fox'; import BigNumber from 'bignumber.js'; import styled from 'styled-components'; -import { RegenRewardCard } from './RegenRewardCard'; import { Flex } from './styled-components/Flex'; -import { Row, Col } from './Grid'; +import { HarvestAllModal } from './modals/HarvestAll'; +import { usePrice } from '@/context/price.context'; +import { Col, Row } from './Grid'; interface RegenStreamProps { network: number; streamConfig: RegenStreamConfig; - showRewardCard?: boolean; } export const getStreamIconWithType = (type: StreamType, size?: number) => { @@ -43,11 +48,12 @@ export const getStreamIconWithType = (type: StreamType, size?: number) => { } }; -export const RegenStream: FC = ({ +export const RegenStreamCard: FC = ({ network, streamConfig, - showRewardCard = false, }) => { + const [showModal, setShowModal] = useState(false); + const [usdAmount, setUSDAmount] = useState('0'); const { regenTokenDistroHelpers } = useTokenDistro(); const [rewardLiquidPart, setRewardLiquidPart] = useState(constants.Zero); const [rewardStream, setRewardStream] = useState(0); @@ -62,6 +68,26 @@ export const RegenStream: FC = ({ } = useSubgraph(); const tokenDistroHelper = regenTokenDistroHelpers[streamConfig.type]; + const { getTokenPrice } = usePrice(); + + useEffect(() => { + const price = getTokenPrice( + streamConfig.tokenAddressOnUniswapV2, + network, + ); + if (!price || price.isNaN()) return; + + const usd = (+ethers.utils.formatEther( + price.times(rewardLiquidPart.toString()).toFixed(0), + )).toFixed(2); + setUSDAmount(usd); + }, [ + getTokenPrice, + rewardLiquidPart, + network, + streamConfig.tokenAddressOnUniswapV2, + ]); + useEffect(() => { switch (streamConfig.type) { case StreamType.FOX: @@ -92,10 +118,12 @@ export const RegenStream: FC = ({ return ( <> - - + + {icon} -
{streamConfig.rewardTokenSymbol} Flowrate
+
{streamConfig.title}
+
+ {formatWeiHelper(rewardStream)} @@ -111,11 +139,13 @@ export const RegenStream: FC = ({ stream to reach full power! -
+ + +
- {streamConfig.rewardTokenSymbol}stream prgress + {streamConfig.rewardTokenSymbol}stream progress
= ({
-

{`Time remaining: ` + remainTime}

{percentage?.toFixed(2)}% 100% - - {showRewardCard && ( - - - +
+ {`Time remaining: ` + remainTime} + +
+ + {getStreamIconWithType(streamConfig.type, 24)} + {formatWeiHelper(rewardLiquidPart)} + + {streamConfig.rewardTokenSymbol} + + + ~${usdAmount} +
+ setShowModal(true)} + buttonType='primary' + disabled={rewardLiquidPart.isZero()} + size='large' + /> +
+ {showModal && ( + )}
); }; -const RegenStreamContainer = styled(Row)``; +const RegenStreamContainer = styled(Flex)` + height: 488px; + background-color: ${brandColors.giv[700]}; + border-radius: 8px; + padding: 24px; + position: relative; + flex-direction: column; + justify-content: space-between; + overflow: hidden; +`; + +const HeaderRow = styled(Flex)` + margin-bottom: 76px; +`; -const RegenStreamTitleRow = styled(Flex)` +const RateRow = styled(Flex)` gap: 8px; align-items: flex-end; - margin-bottom: 26px; + overflow: hidden; `; const StreamRate = styled(H4)` @@ -172,4 +236,39 @@ const RegenStreamInfoRow = styled(Flex)` margin-bottom: 24px; `; -const Info = styled(Col)``; +const Remaining = styled(P)` + /* margin-top: 24px; */ +`; + +const HarvestContainer = styled(Flex)` + /* margin-top: 90px; */ + padding-top: 24px; + border-top: 1px solid ${brandColors.giv[500]}; + justify-content: space-between; + align-items: center; +`; + +const AmountInfo = styled(Flex)` + align-items: center; +`; + +const Amount = styled(Lead)` + margin-left: 4px; +`; + +const AmountUnit = styled(Subline)` + color: ${brandColors.deep[100]}; + padding-top: 6px; +`; + +const Converted = styled(Caption)` + color: ${brandColors.deep[200]}; + padding-top: 4px; + padding-left: 32px; +`; + +const HarvestButton = styled(Button)` + width: auto; + padding-left: 64px; + padding-right: 64px; +`; From ea8f54f8734b4db8ad1eb3e6c2170f33c033a8dd Mon Sep 17 00:00:00 2001 From: Cherik Date: Tue, 29 Mar 2022 23:28:16 +0430 Subject: [PATCH 27/43] add title to regenstream --- src/config/development.ts | 2 +- src/types/config.ts | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/config/development.ts b/src/config/development.ts index 38d8f4fee1..d6a59c658f 100644 --- a/src/config/development.ts +++ b/src/config/development.ts @@ -153,7 +153,7 @@ const config: EnvConfig = { tokenDistroAddress: '0xCA29ec6F4218E230294993E0d77d5ece5a6573D8', type: StreamType.FOX, - // title: 'FOXStream', + title: 'ShapeShift DAO', rewardTokenAddress: '0x18cE354571ba71bC7b3d633b254954C5A9cfC195', rewardTokenSymbol: 'FOX', diff --git a/src/types/config.ts b/src/types/config.ts index a3dc56f540..856d4d262a 100644 --- a/src/types/config.ts +++ b/src/types/config.ts @@ -69,6 +69,7 @@ export interface GasPreference { } export interface RegenStreamConfig { + title: string; tokenDistroAddress: string; type: StreamType; rewardTokenAddress: string; From 24fc56e961f5d01bf1c6157fd69ccd87e640ece5 Mon Sep 17 00:00:00 2001 From: Cherik Date: Tue, 29 Mar 2022 23:29:18 +0430 Subject: [PATCH 28/43] remove unused components --- src/components/RegenRewardCard.tsx | 103 ---------------------------- src/components/RegenStreamBlock.tsx | 102 --------------------------- 2 files changed, 205 deletions(-) delete mode 100644 src/components/RegenRewardCard.tsx delete mode 100644 src/components/RegenStreamBlock.tsx diff --git a/src/components/RegenRewardCard.tsx b/src/components/RegenRewardCard.tsx deleted file mode 100644 index b89334940d..0000000000 --- a/src/components/RegenRewardCard.tsx +++ /dev/null @@ -1,103 +0,0 @@ -import { usePrice } from '@/context/price.context'; -import { formatWeiHelper } from '@/helpers/number'; -import { RegenStreamConfig } from '@/types/config'; -import { - brandColors, - Button, - SemiTitle, - Subline, -} from '@giveth/ui-design-system'; -import { ethers } from 'ethers'; -import { FC, useEffect, useState } from 'react'; -import styled from 'styled-components'; -import { HarvestAllModal } from './modals/HarvestAll'; -import { getStreamIconWithType } from './RegenStream'; -import { Flex } from './styled-components/Flex'; - -interface IRegenRewardCardProps { - streamConfig: RegenStreamConfig; - network: number; - liquidAmount: ethers.BigNumber; -} - -export const RegenRewardCard: FC = ({ - streamConfig, - network, - liquidAmount = ethers.constants.Zero, -}) => { - const [usdAmount, setUSDAmount] = useState('0'); - const [showModal, setShowModal] = useState(false); - const { getTokenPrice } = usePrice(); - - useEffect(() => { - const price = getTokenPrice( - streamConfig.tokenAddressOnUniswapV2, - network, - ); - if (!price || price.isNaN()) return; - - const usd = (+ethers.utils.formatEther( - price.times(liquidAmount.toString()).toFixed(0), - )).toFixed(2); - setUSDAmount(usd); - }, [ - getTokenPrice, - liquidAmount, - network, - streamConfig.tokenAddressOnUniswapV2, - ]); - - return ( - <> - - - {getStreamIconWithType(streamConfig.type, 24)} - {formatWeiHelper(liquidAmount)} - {streamConfig.rewardTokenSymbol} - - ~${usdAmount} - setShowModal(true)} - buttonType='primary' - disabled={liquidAmount.isZero()} - /> - - {showModal && ( - - )} - - ); -}; - -const RewardCardContainer = styled.div` - padding: 24px; - background-color: ${brandColors.giv[700]}; - border-radius: 8px; -`; - -const AmountInfo = styled(Flex)``; - -const Amount = styled(SemiTitle)` - margin-left: 4px; -`; - -const AmountUnit = styled(Subline)` - color: ${brandColors.deep[100]}; -`; - -const Converted = styled(Subline)` - color: ${brandColors.deep[200]}; - margin-left: 32px; - margin-bottom: 22px; -`; - -const HarvestButton = styled(Button)` - width: 100%; -`; diff --git a/src/components/RegenStreamBlock.tsx b/src/components/RegenStreamBlock.tsx deleted file mode 100644 index c6b3e9f689..0000000000 --- a/src/components/RegenStreamBlock.tsx +++ /dev/null @@ -1,102 +0,0 @@ -import config from '@/configuration'; -import { givEconomySupportedNetworks } from '@/utils/constants'; -import { H3, Lead } from '@giveth/ui-design-system'; -import { useWeb3React } from '@web3-react/core'; -import styled from 'styled-components'; -import { GIVfrensLink } from './GIVfrens.sc'; -import { RegenStream } from './RegenStream'; -import { Flex } from './styled-components/Flex'; - -const RegenStreamBlock = () => { - const { chainId } = useWeb3React(); - - const networkConfig = - chainId === config.XDAI_NETWORK_NUMBER - ? config.XDAI_CONFIG - : config.MAINNET_CONFIG; - const { regenStreams } = networkConfig; - - return regenStreams.length > 0 ? ( - - RegenStreams - - When you harvest farming rewards from the RegenFarms, a portion - of the rewards is added to a RegenStream. Each stream flows - continuously until its respective end date.{' '} - - Learn more - - . - - {/* - {regenStreams.map(streamConfig => { - return ( - - - - ); - })} - */} - - {regenStreams.map(streamConfig => { - return ( - - - - ); - })} - - - ) : null; -}; - -const RegenStreamBlockContainer = styled.div` - margin: 48px 0; -`; - -const Title = styled(H3)` - margin-bottom: 16px; -`; - -const Desc = styled(Lead)` - width: 70%; - margin-bottom: 48px; -`; - -const RegenStreamsContainer = styled(Flex)` - flex-wrap: wrap; - gap: 64px 128px; - margin-bottom: 64px; -`; -const RegenStreamContainer = styled.div` - width: calc(50% - 64px); -`; -const RegenStreamWithRewardCardContainer = styled.div` - flex: 1; -`; - -export default RegenStreamBlock; From fb1e7fda626f988c43adb4248571237375c6f406 Mon Sep 17 00:00:00 2001 From: Cherik Date: Tue, 29 Mar 2022 23:29:41 +0430 Subject: [PATCH 29/43] show new component in givfarm --- src/components/GIVfrens.tsx | 50 +++++++++++++++++++++------ src/components/homeTabs/GIVstream.tsx | 1 - 2 files changed, 40 insertions(+), 11 deletions(-) diff --git a/src/components/GIVfrens.tsx b/src/components/GIVfrens.tsx index 7a2514a5a7..ff4aeedfd4 100644 --- a/src/components/GIVfrens.tsx +++ b/src/components/GIVfrens.tsx @@ -14,6 +14,9 @@ import { useWeb3React } from '@web3-react/core'; import StakingPoolCard from '@/components/cards/StakingPoolCard'; import { Col } from './Grid'; import links from '@/lib/constants/links'; +import config from '@/configuration'; +import { givEconomySupportedNetworks } from '@/utils/constants'; +import { RegenStreamCard } from './RegenStreamCard'; interface IGIVfrensProps { regenFarms: RegenPoolStakingConfig[]; @@ -42,17 +45,44 @@ export const GIVfrens: FC = ({ regenFarms, network }) => { {regenFarms.map((poolStakingConfig, index) => { + const regenStream = config.NETWORKS_CONFIG[ + network + ].regenStreams.find( + s => s.type === poolStakingConfig.regenStreamType, + ); return ( - - - + <> + + + + + {regenStream && ( + + )} + + ); })} diff --git a/src/components/homeTabs/GIVstream.tsx b/src/components/homeTabs/GIVstream.tsx index c2f034d62e..e3a9ada2f5 100644 --- a/src/components/homeTabs/GIVstream.tsx +++ b/src/components/homeTabs/GIVstream.tsx @@ -196,7 +196,6 @@ export const TabGIVstreamBottom = () => { - History Date: Tue, 29 Mar 2022 23:30:06 +0430 Subject: [PATCH 30/43] remove unused import --- src/components/homeTabs/GIVstream.tsx | 1 - 1 file changed, 1 deletion(-) diff --git a/src/components/homeTabs/GIVstream.tsx b/src/components/homeTabs/GIVstream.tsx index e3a9ada2f5..93dbb1b326 100644 --- a/src/components/homeTabs/GIVstream.tsx +++ b/src/components/homeTabs/GIVstream.tsx @@ -64,7 +64,6 @@ import { ITokenAllocation } from '@/types/subgraph'; import { useWeb3React } from '@web3-react/core'; import { IconGIV } from '../Icons/GIV'; import { givEconomySupportedNetworks } from '@/utils/constants'; -import RegenStreamBlock from '../RegenStreamBlock'; import { Flex } from '../styled-components/Flex'; import Pagination from '../Pagination'; import Routes from '@/lib/constants/Routes'; From a4de29f41a22691f1d3fc8b4a7950bb306ad86ad Mon Sep 17 00:00:00 2001 From: Cherik Date: Wed, 30 Mar 2022 01:12:25 +0430 Subject: [PATCH 31/43] move DAO card --- src/components/homeTabs/GIVfarm.tsx | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/src/components/homeTabs/GIVfarm.tsx b/src/components/homeTabs/GIVfarm.tsx index a4356f6b28..48bbd83310 100644 --- a/src/components/homeTabs/GIVfarm.tsx +++ b/src/components/homeTabs/GIVfarm.tsx @@ -33,6 +33,13 @@ import { GIVfrens } from '@/components/GIVfrens'; import { givEconomySupportedNetworks } from '@/utils/constants'; import { shortenAddress } from '@/lib/helpers'; import { Col, Container, Row } from '@/components/Grid'; +import links from '@/lib/constants/links'; +import { + DaoCard, + DaoCardTitle, + DaoCardQuote, + DaoCardButton, +} from '../GIVfrens.sc'; const GIVfarmTabContainer = styled(Container)``; @@ -233,11 +240,25 @@ export const TabGIVfarmBottom = () => { )} + + + Add Your DAO + + Apply to kickstart a RegenFarm for your for-good DAO + + + + ); From 53d0663318c2e00aa90eafcfda12c999a9445055 Mon Sep 17 00:00:00 2001 From: Cherik Date: Wed, 30 Mar 2022 01:12:46 +0430 Subject: [PATCH 32/43] add DAO Container --- src/components/GIVfrens.sc.tsx | 16 ++++++ src/components/GIVfrens.tsx | 76 ++++++++++---------------- src/components/homeTabs/GIVfarm.sc.tsx | 2 +- 3 files changed, 47 insertions(+), 47 deletions(-) diff --git a/src/components/GIVfrens.sc.tsx b/src/components/GIVfrens.sc.tsx index 7dbada6685..f27b10d20c 100644 --- a/src/components/GIVfrens.sc.tsx +++ b/src/components/GIVfrens.sc.tsx @@ -8,6 +8,7 @@ import { QuoteText, } from '@giveth/ui-design-system'; import styled from 'styled-components'; +import { Col, Row } from './Grid'; export const Subtitle = styled(Lead)` margin-bottom: 24px; @@ -49,3 +50,18 @@ export const DaoCardButton = styled(ButtonLink)` margin-top: 36px; margin-bottom: 12px; `; + +export const DAOContainer = styled(Col)` + position: relative; + padding-top: 24px; +`; + +export const DAOChangeNetwork = styled.div` + position: absolute; + left: 0; + top: 0; + right: 0; + bottom: 0; + backdrop-filter: blur(2px); + z-index: 2; +`; diff --git a/src/components/GIVfrens.tsx b/src/components/GIVfrens.tsx index ff4aeedfd4..ae045d41a4 100644 --- a/src/components/GIVfrens.tsx +++ b/src/components/GIVfrens.tsx @@ -6,13 +6,15 @@ import { DaoCardButton, DaoCardQuote, DaoCardTitle, + DAOContainer, GIVfrensLink, Subtitle, + DAOChangeNetwork, } from '@/components/GIVfrens.sc'; import { PoolRow } from '@/components/homeTabs/GIVfarm.sc'; import { useWeb3React } from '@web3-react/core'; import StakingPoolCard from '@/components/cards/StakingPoolCard'; -import { Col } from './Grid'; +import { Col, Row } from './Grid'; import links from '@/lib/constants/links'; import config from '@/configuration'; import { givEconomySupportedNetworks } from '@/utils/constants'; @@ -51,54 +53,36 @@ export const GIVfrens: FC = ({ regenFarms, network }) => { s => s.type === poolStakingConfig.regenStreamType, ); return ( - <> - - - - - {regenStream && ( - + + + - )} - - + + + {regenStream && ( + + )} + + + + ); })} - - - Add Your DAO - - Apply to kickstart a RegenFarm for your for-good DAO - - - - ); diff --git a/src/components/homeTabs/GIVfarm.sc.tsx b/src/components/homeTabs/GIVfarm.sc.tsx index 761fba72a1..492493574a 100644 --- a/src/components/homeTabs/GIVfarm.sc.tsx +++ b/src/components/homeTabs/GIVfarm.sc.tsx @@ -38,7 +38,7 @@ interface PoolRowProps { export const PoolRow = styled(Row)` margin-top: 24px; margin-bottom: 24px; - opacity: ${props => (props.disabled ? '0.2' : '1')}; + opacity: ${props => (props.disabled ? '0.6' : '1')}; pointer-events: ${props => (props.disabled ? 'none' : 'auto')}; `; From 5466107cafbb0b5067f360862d55c149aa9a1011 Mon Sep 17 00:00:00 2001 From: Cherik Date: Wed, 30 Mar 2022 02:51:44 +0430 Subject: [PATCH 33/43] add change modal --- src/components/GIVfrens.tsx | 72 ++++++++++++++++++++++++++++++++----- 1 file changed, 64 insertions(+), 8 deletions(-) diff --git a/src/components/GIVfrens.tsx b/src/components/GIVfrens.tsx index ae045d41a4..a3ebb5bad3 100644 --- a/src/components/GIVfrens.tsx +++ b/src/components/GIVfrens.tsx @@ -1,11 +1,14 @@ import { RegenPoolStakingConfig } from '@/types/config'; import React, { FC } from 'react'; -import { H3 } from '@giveth/ui-design-system'; import { - DaoCard, - DaoCardButton, - DaoCardQuote, - DaoCardTitle, + brandColors, + Button, + Caption, + H3, + IconInfo16, + neutralColors, +} from '@giveth/ui-design-system'; +import { DAOContainer, GIVfrensLink, Subtitle, @@ -15,10 +18,12 @@ import { PoolRow } from '@/components/homeTabs/GIVfarm.sc'; import { useWeb3React } from '@web3-react/core'; import StakingPoolCard from '@/components/cards/StakingPoolCard'; import { Col, Row } from './Grid'; -import links from '@/lib/constants/links'; import config from '@/configuration'; import { givEconomySupportedNetworks } from '@/utils/constants'; import { RegenStreamCard } from './RegenStreamCard'; +import styled from 'styled-components'; +import { Flex } from './styled-components/Flex'; +import { switchNetwork } from '@/lib/wallet'; interface IGIVfrensProps { regenFarms: RegenPoolStakingConfig[]; @@ -45,7 +50,7 @@ export const GIVfrens: FC = ({ regenFarms, network }) => { . - + {regenFarms.map((poolStakingConfig, index) => { const regenStream = config.NETWORKS_CONFIG[ network @@ -79,7 +84,12 @@ export const GIVfrens: FC = ({ regenFarms, network }) => { )} - + {chainId !== config.XDAI_NETWORK_NUMBER && ( + <> + + + + )} ); })} @@ -87,3 +97,49 @@ export const GIVfrens: FC = ({ regenFarms, network }) => { ); }; + +const DAOChangeNetworkModal = () => { + return ( + + + + Switch network + + This RegenFarm is only available on Gnosis chain. + switchNetwork(config.XDAI_NETWORK_NUMBER)} + /> + + ); +}; + +const DAOChangeNetworkModalContainer = styled.div` + background-color: ${neutralColors.gray[100]}; + color: ${brandColors.giv[300]}; + border: 1px solid ${brandColors.giv[300]}; + border-radius: 8px; + width: 320px; + z-index: 4; + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + opacity: 2; + padding: 16px; +`; + +const Title = styled(Caption)` + font-weight: bold; +`; + +const Desc = styled(Caption)` + margin-left: 32px; + margin-bottom: 16px; +`; + +const ChangeButton = styled(Button)` + color: ${brandColors.giv[300]}; + margin-left: auto; +`; From 37871b96003eacd1e0ec3421504a54026d58b5e7 Mon Sep 17 00:00:00 2001 From: Pedro Kretzschmar Date: Wed, 30 Mar 2022 11:42:45 -0300 Subject: [PATCH 34/43] fix: grammar issues --- src/components/modals/APR.tsx | 24 +++--------------------- src/components/modals/HarvestAll.tsx | 28 ++++++++++++++-------------- 2 files changed, 17 insertions(+), 35 deletions(-) diff --git a/src/components/modals/APR.tsx b/src/components/modals/APR.tsx index b10434b5ee..42c0d53e36 100644 --- a/src/components/modals/APR.tsx +++ b/src/components/modals/APR.tsx @@ -58,13 +58,9 @@ export const APRModal: FC = ({ A percentage of the {rewardTokenSymbol} you earn from staking is claimable immediately, and the remaining percent goes into increasing your{' '} - {rewardTokenSymbol} - stream flowrate. Over time, a greater percentage of - your total earnings will be claimable immediately - following the continued expansion of the{' '} - - GIViverse - + {rewardTokenSymbol} stream flowrate. Over time, a + greater percentage of your total earnings will be + claimable immediately. Current Distribution: @@ -75,15 +71,6 @@ export const APRModal: FC = ({ Increasing your {streamName}:{' '} {100 - tokenDistroHelper.GlobalReleasePercentage}% - - - Read More - - @@ -124,8 +111,3 @@ const DescTitle = styled(Subline)` font-weight: bold; margin-top: 8px; `; - -const Whatis = styled(GLink)` - cursor: pointer; - color: ${brandColors.cyan[500]}; -`; diff --git a/src/components/modals/HarvestAll.tsx b/src/components/modals/HarvestAll.tsx index 8da1cfd351..4783934ca9 100644 --- a/src/components/modals/HarvestAll.tsx +++ b/src/components/modals/HarvestAll.tsx @@ -238,6 +238,7 @@ export const HarvestAllModal: FC = ({ }; const streamName = regenStreamConfig ? 'RegenStream ' : 'GIVstream '; + const modalTitle = regenStreamConfig ? 'RegenFarm Rewards' : title; const calcUSD = (amount: string) => { const price = tokenPrice || givPrice; @@ -248,7 +249,7 @@ export const HarvestAllModal: FC = ({ @@ -304,8 +305,8 @@ export const HarvestAllModal: FC = ({ /> - Added to your {streamName} - flowrate + Added to your {tokenSymbol} + stream flowrate = ({ direction={'top'} > - Increase you {streamName} - flowrate when you claim - liquid rewards! + Increase you {tokenSymbol} + stream flowrate when you + claim liquid rewards! @@ -355,8 +356,8 @@ export const HarvestAllModal: FC = ({ /> - Added to your {streamName} - flowrate + Added to your {tokenSymbol} + stream flowrate = ({ direction={'top'} > - Increase you {streamName} - flowrate when you claim - liquid rewards! + Increase you {tokenSymbol} + stream flowrate when you + claim liquid rewards! @@ -443,9 +444,8 @@ export const HarvestAllModal: FC = ({ )} When you harvest {tokenSymbol} rewards, all - liquid - {tokenSymbol} allocated to you is sent to - your wallet. + liquid {tokenSymbol} allocated to you is + sent to your wallet. {state === HarvestStates.HARVEST && ( Date: Wed, 30 Mar 2022 13:53:07 -0600 Subject: [PATCH 35/43] fix link routing GIVbacks page link --- src/components/homeTabs/GIVbacks.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/homeTabs/GIVbacks.tsx b/src/components/homeTabs/GIVbacks.tsx index d1524e7185..f9b38f5ab6 100644 --- a/src/components/homeTabs/GIVbacks.tsx +++ b/src/components/homeTabs/GIVbacks.tsx @@ -163,7 +163,7 @@ export const TabGIVbacksBottom = () => { label='DONATE TO EARN GIV' linkType='secondary' size='large' - href={Routes.Project} + href={Routes.Projects} /> } > From ec85429e1d5a885f9eb68139d2ddfd7040e9280f Mon Sep 17 00:00:00 2001 From: Pedro Kretzschmar Date: Wed, 30 Mar 2022 18:09:23 -0300 Subject: [PATCH 36/43] fix: minor UI issues --- src/components/RegenStreamCard.tsx | 11 +++++------ src/components/homeTabs/GIVfarm.tsx | 2 +- src/components/modals/APR.tsx | 2 +- src/components/modals/HarvestAll.tsx | 5 ++++- 4 files changed, 11 insertions(+), 9 deletions(-) diff --git a/src/components/RegenStreamCard.tsx b/src/components/RegenStreamCard.tsx index bab288a295..55df9cebc1 100644 --- a/src/components/RegenStreamCard.tsx +++ b/src/components/RegenStreamCard.tsx @@ -129,16 +129,15 @@ export const RegenStreamCard: FC = ({ {streamConfig.rewardTokenSymbol}/week - } - direction={'right'} + direction={'left'} > - Time left for the{' '} - {streamConfig.rewardTokenSymbol} - stream to reach full power! + Your {streamConfig.rewardTokenSymbol}stream + flowrate - + */}
diff --git a/src/components/homeTabs/GIVfarm.tsx b/src/components/homeTabs/GIVfarm.tsx index 48bbd83310..c192328b5a 100644 --- a/src/components/homeTabs/GIVfarm.tsx +++ b/src/components/homeTabs/GIVfarm.tsx @@ -252,7 +252,7 @@ export const TabGIVfarmBottom = () => { Apply to kickstart a RegenFarm for your for-good DAO = ({ A percentage of the {rewardTokenSymbol} you earn from staking is claimable immediately, and the remaining percent goes into increasing your{' '} - {rewardTokenSymbol} stream flowrate. Over time, a + {rewardTokenSymbol}stream flowrate. Over time, a greater percentage of your total earnings will be claimable immediately. diff --git a/src/components/modals/HarvestAll.tsx b/src/components/modals/HarvestAll.tsx index 4783934ca9..f3f86a48b4 100644 --- a/src/components/modals/HarvestAll.tsx +++ b/src/components/modals/HarvestAll.tsx @@ -423,7 +423,10 @@ export const HarvestAllModal: FC = ({ {!claimableNow.isZero() && ( <> - Claimable from {streamName} + + Claimable from {tokenSymbol} + stream + Date: Thu, 31 Mar 2022 17:34:58 +0430 Subject: [PATCH 37/43] 2.2.0 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 786b296145..a420079846 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "givethdapp", - "version": "2.1.0", + "version": "2.2.0", "private": true, "scripts": { "build": "next build", From b936a2210eefe3b758a267c2e2c9d5df76fe183b Mon Sep 17 00:00:00 2001 From: Amin Latifi Date: Thu, 31 Mar 2022 18:41:21 +0430 Subject: [PATCH 38/43] Configured fox regen farm https://github.com/Giveth/liquidity-mining-dapp/issues/178 Fixed an issue when unipool smart contract has not used yet. --- src/config/production.ts | 47 ++++++++++++++++++++++++++++++++---- src/hooks/useStakingPool.tsx | 10 +++----- 2 files changed, 46 insertions(+), 11 deletions(-) diff --git a/src/config/production.ts b/src/config/production.ts index 77c34ca248..7ed3e27796 100644 --- a/src/config/production.ts +++ b/src/config/production.ts @@ -1,4 +1,9 @@ -import { EnvConfig, StakingType } from '@/types/config'; +import { + EnvConfig, + RegenFarmType, + StakingType, + StreamType, +} from '@/types/config'; import { gwei2wei } from '@/helpers/number'; const INFURA_API_KEY = process.env.NEXT_PUBLIC_INFURA_API_KEY; @@ -27,7 +32,7 @@ const config: EnvConfig = { blockExplorerName: ['etherscan'], blockExplorerUrls: ['https://etherscan.io/'], subgraphAddress: - 'https://api.thegraph.com/subgraphs/name/aminlatifi/giveth-economy', + 'https://api.thegraph.com/subgraphs/name/giveth/giveth-economy-mainnet', TOKEN_ADDRESS: '0x900db999074d9277c5da2a43f252d74366230da0', WETH_TOKEN_ADDRESS: '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2', @@ -100,7 +105,7 @@ const config: EnvConfig = { blockExplorerName: ['Blockscout'], blockExplorerUrls: ['https://blockscout.com/xdai/mainnet'], subgraphAddress: - 'https://api.thegraph.com/subgraphs/name/aminlatifi/giveth-economy-xdai', + 'https://api.thegraph.com/subgraphs/name/giveth/giveth-economy-xdai', TOKEN_ADDRESS: '0x4f4F9b8D5B4d0Dc10506e5551B0513B61fD59e75', MERKLE_ADDRESS: '0xFad63adEFb8203F7605F25f6a921c8bf45604A5e', @@ -140,8 +145,40 @@ const config: EnvConfig = { uniswapV2Subgraph: 'https://api.thegraph.com/subgraphs/name/1hive/honeyswap-v2', - regenStreams: [], - regenFarms: [], + regenStreams: [ + { + tokenDistroAddress: + '0xFB109Ac6c32929A8717f7C2cBce47B9a4E9985Bf', + type: StreamType.FOX, + title: 'ShapeShift DAO', + rewardTokenAddress: + '0x21a42669643f45bc0e086b8fc2ed70c23d67509d', + rewardTokenSymbol: 'FOX', + tokenAddressOnUniswapV2: + '0x21a42669643f45bc0e086b8fc2ed70c23d67509d', + }, + ], + regenFarms: [ + { + POOL_ADDRESS: '0x8a0bee989c591142414ad67fb604539d917889df', + LM_ADDRESS: '0xBeD9fa28E68CF9e56812ff99e0fa4b2e0AbB5E97', + type: StakingType.HONEYSWAP, + title: 'FOX / HNY', + description: '50% FOX, 50% HNY', + provideLiquidityLink: + 'https://app.honeyswap.org/#/add/0x21a42669643f45bc0e086b8fc2ed70c23d67509d/0x71850b7e9ee3f13ab46d67167341e4bdc905eef9?chainId=100', + unit: 'LP', + regenStreamType: StreamType.FOX, + regenFarmType: RegenFarmType.FOX_HNY, + regenFarmIntro: { + title: 'FOX', + description: + 'ShapeShift is the free and open-source one-stop-shop for cross-chain DeFi. Buy, sell, send, receive, trade, and earn yield on your crypto across a growing number of protocols and chains with no added fees ever. FOX is the governance token of the ShapeShift DAO.', + link: 'https://shapeshift.com/', + }, + regenFarmStartTime: 1649001600000, + }, + ], }, }; diff --git a/src/hooks/useStakingPool.tsx b/src/hooks/useStakingPool.tsx index a4e2516948..0f46739e10 100644 --- a/src/hooks/useStakingPool.tsx +++ b/src/hooks/useStakingPool.tsx @@ -85,12 +85,10 @@ export const useStakingPool = ( useEffect(() => { const unipoolInfo = currentValues[regenFarmType || type]; - if (unipoolInfo) { - const unipoolHelper = new UnipoolHelper(unipoolInfo); - setUserStakeInfo( - getUserStakeInfo(type, regenFarmType, balances, unipoolHelper), - ); - } + const unipoolHelper = unipoolInfo && new UnipoolHelper(unipoolInfo); + setUserStakeInfo( + getUserStakeInfo(type, regenFarmType, balances, unipoolHelper), + ); }, [type, regenFarmType, currentValues, balances]); return { From 2d5914bee1340c4f1492501478195903ae54de0a Mon Sep 17 00:00:00 2001 From: mitch Date: Thu, 31 Mar 2022 09:36:03 -0600 Subject: [PATCH 39/43] update change network modal text --- src/components/modals/ChangeNetwork.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/modals/ChangeNetwork.tsx b/src/components/modals/ChangeNetwork.tsx index 7f18990053..72a966dafa 100644 --- a/src/components/modals/ChangeNetwork.tsx +++ b/src/components/modals/ChangeNetwork.tsx @@ -29,8 +29,8 @@ export const ChangeNetworkModal: FC = ({ const NetworkName = targetNetwork === config.MAINNET_NETWORK_NUMBER - ? 'Ethereum' - : 'Ethereum or Gnosis Chain'; + ? 'Ethereum Mainnet' + : 'Ethereum Mainnet or Gnosis Chain'; return ( From 8bc755a02ad56d2cde3883f7af721f29a3c32ef9 Mon Sep 17 00:00:00 2001 From: Amin Latifi Date: Thu, 31 Mar 2022 21:16:53 +0430 Subject: [PATCH 40/43] Updated to new contracts of fox --- src/config/development.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/config/development.ts b/src/config/development.ts index d6a59c658f..ab25d34e2b 100644 --- a/src/config/development.ts +++ b/src/config/development.ts @@ -151,7 +151,7 @@ const config: EnvConfig = { regenStreams: [ { tokenDistroAddress: - '0xCA29ec6F4218E230294993E0d77d5ece5a6573D8', + '0xA9a37a14E562D0E1d335B4714E3455483ede7A9a', type: StreamType.FOX, title: 'ShapeShift DAO', rewardTokenAddress: @@ -164,7 +164,7 @@ const config: EnvConfig = { regenFarms: [ { POOL_ADDRESS: '0xD28C07F802212F04AF41834ec0CC81d2d283124B', - LM_ADDRESS: '0x06851400866e065972ff21e1ECdE035b4772736d', + LM_ADDRESS: '0x502EC7a040F486EE6Cb7d634D94764874B29dE68', type: StakingType.HONEYSWAP, title: 'FOX / HNY', description: '50% FOX, 50% HNY', From 74303ff8e1aea177ce5e92c49b99830b0cf45819 Mon Sep 17 00:00:00 2001 From: Amin Latifi Date: Thu, 31 Mar 2022 21:17:23 +0430 Subject: [PATCH 41/43] Revert "Updated to new contracts of fox" This reverts commit 8bc755a02ad56d2cde3883f7af721f29a3c32ef9. --- src/config/development.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/config/development.ts b/src/config/development.ts index ab25d34e2b..d6a59c658f 100644 --- a/src/config/development.ts +++ b/src/config/development.ts @@ -151,7 +151,7 @@ const config: EnvConfig = { regenStreams: [ { tokenDistroAddress: - '0xA9a37a14E562D0E1d335B4714E3455483ede7A9a', + '0xCA29ec6F4218E230294993E0d77d5ece5a6573D8', type: StreamType.FOX, title: 'ShapeShift DAO', rewardTokenAddress: @@ -164,7 +164,7 @@ const config: EnvConfig = { regenFarms: [ { POOL_ADDRESS: '0xD28C07F802212F04AF41834ec0CC81d2d283124B', - LM_ADDRESS: '0x502EC7a040F486EE6Cb7d634D94764874B29dE68', + LM_ADDRESS: '0x06851400866e065972ff21e1ECdE035b4772736d', type: StakingType.HONEYSWAP, title: 'FOX / HNY', description: '50% FOX, 50% HNY', From 138be2da1ab1e8d4ae2586da927762ac2c6e6adc Mon Sep 17 00:00:00 2001 From: Amin Latifi Date: Thu, 31 Mar 2022 21:18:05 +0430 Subject: [PATCH 42/43] Updated to new contracts of fox --- src/config/production.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/config/production.ts b/src/config/production.ts index 7ed3e27796..9cd46dec75 100644 --- a/src/config/production.ts +++ b/src/config/production.ts @@ -148,7 +148,7 @@ const config: EnvConfig = { regenStreams: [ { tokenDistroAddress: - '0xFB109Ac6c32929A8717f7C2cBce47B9a4E9985Bf', + '0xA9a37a14E562D0E1d335B4714E3455483ede7A9a', type: StreamType.FOX, title: 'ShapeShift DAO', rewardTokenAddress: @@ -161,7 +161,7 @@ const config: EnvConfig = { regenFarms: [ { POOL_ADDRESS: '0x8a0bee989c591142414ad67fb604539d917889df', - LM_ADDRESS: '0xBeD9fa28E68CF9e56812ff99e0fa4b2e0AbB5E97', + LM_ADDRESS: '0x502EC7a040F486EE6Cb7d634D94764874B29dE68', type: StakingType.HONEYSWAP, title: 'FOX / HNY', description: '50% FOX, 50% HNY', From 3a94b5c9b973ceccfad77f98395103edff9f48a2 Mon Sep 17 00:00:00 2001 From: Amin Latifi Date: Thu, 31 Mar 2022 23:14:44 +0430 Subject: [PATCH 43/43] Changed removing selectedWallet item location --- src/components/menu/MenuWallet.tsx | 1 - src/components/modals/WalletModal.tsx | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/menu/MenuWallet.tsx b/src/components/menu/MenuWallet.tsx index 9d29235873..df5563912b 100644 --- a/src/components/menu/MenuWallet.tsx +++ b/src/components/menu/MenuWallet.tsx @@ -101,7 +101,6 @@ const MenuWallet: FC = ({ setShowWalletModal }) => { { - window.localStorage.removeItem('selectedWallet'); setShowWalletModal(true); }} > diff --git a/src/components/modals/WalletModal.tsx b/src/components/modals/WalletModal.tsx index 8fb64bfe4e..2d5b05eb5f 100644 --- a/src/components/modals/WalletModal.tsx +++ b/src/components/modals/WalletModal.tsx @@ -29,6 +29,7 @@ const WalletModal = ({ value: EWallets; }) => { if (selectedWallet !== selected.value) { + window.localStorage.removeItem('selectedWallet'); deactivate(); let timeOut = 0; if (selectedWallet === EWallets.METAMASK) {