From 68da4553d0d27fe149a52f2d06847d0a1b374dbd Mon Sep 17 00:00:00 2001 From: RadoslavDimchev Date: Thu, 31 Aug 2023 17:37:35 +0300 Subject: [PATCH] feat: update and clean advisories --- .../Advicsories/Advicsories.tsx | 107 ++++++++++-------- .../Advicsories/AdvisoriesContent.tsx | 3 + 2 files changed, 62 insertions(+), 48 deletions(-) diff --git a/src/pages/ValidatorOnboarding/Advicsories/Advicsories.tsx b/src/pages/ValidatorOnboarding/Advicsories/Advicsories.tsx index 747ec864..0c4516a4 100644 --- a/src/pages/ValidatorOnboarding/Advicsories/Advicsories.tsx +++ b/src/pages/ValidatorOnboarding/Advicsories/Advicsories.tsx @@ -1,55 +1,22 @@ import { Text } from '@status-im/components' import { useState } from 'react' import { Stack, XStack, YStack } from 'tamagui' + import AdvisoriesContent from './AdvisoriesContent' type AdvisoryTopicsType = { [key: string]: string[] } -const unicodeNumbers = ['➀', '➁', '➂', '➃', '➄', '➅'] - -const advisoryTopics: AdvisoryTopicsType = { - 'Proof of Stake': [ - 'Proof of Stake systems require validators to hold and lock up a certain amount of cryptocurrency to participate.', - 'In Proof of Stake, the chances of creating a block is proportional to the amount of cryptocurrency held.', - 'Unlike Proof of Work, Proof of Stake aims to achieve consensus without intensive computational work.' - ], - Deposit: [ - 'Deposits are often irreversible, so ensure to double-check transaction details before confirming.', - 'Delay in deposit acknowledgment might be due to network congestion or node synchronization.', - 'Always keep transaction IDs or hashes for records and future references in case of disputes.' - ], - 'Key Management': [ - 'Storing your private keys on a device connected to the internet is susceptible to hacks and malware.', - 'Hardware wallets provide an added layer of security by keeping private keys isolated from online systems.', - 'Regularly back up and encrypt your key management solutions to prevent potential losses.' - ], - 'Bad Behaviour': [ - 'If you try to cheat the system, or act contrary to the specification, you will be liable to incur a penalty known as slashing.', - 'Running your validator keys simultaneously on two or more machines will result in slashing.', - 'Simply being offline with an otherwise healthy network does not result in slashing, but will result in small inactivity penalties.' - ], - Requirements: [ - 'Ensure your system meets the minimum software and hardware requirements before initiating any operations.', - 'Staying updated with the latest versions is vital to maintain system integrity and performance.', - 'Failure to meet requirements might result in operational inefficiencies or security vulnerabilities.' - ], - Risks: [ - 'Cryptocurrency investments are subject to high volatility and can result in both significant gains and losses.', - 'Always do thorough research before making investment decisions or engaging in transactions.', - 'Be wary of phishing scams, malicious software, and too-good-to-be-true offers.' - ], -} const Advicsories = () => { const [selectedTitle, setSelectedTitle] = useState('Bad Behaviour') + const isSameTitle = (title: string) => selectedTitle === title + return ( @@ -59,23 +26,67 @@ const Advicsories = () => { {Object.keys(advisoryTopics).map((title, index) => ( - setSelectedTitle(title)} style={{ cursor: 'pointer' }}> + setSelectedTitle(title)} + style={{ cursor: 'pointer', alignItems: 'center' }} + space={'$2'} + > - {unicodeNumbers[index]} {title} + {unicodeNumbers[index]} - + + {title} + + ))} - + ) } export default Advicsories + +const unicodeNumbers = ['➀', '➁', '➂', '➃', '➄', '➅'] + +const advisoryTopics: AdvisoryTopicsType = { + 'Proof of Stake': [ + 'Proof of Stake systems require validators to hold and lock up a certain amount of cryptocurrency to participate.', + 'In Proof of Stake, the chances of creating a block is proportional to the amount of cryptocurrency held.', + 'Unlike Proof of Work, Proof of Stake aims to achieve consensus without intensive computational work.', + ], + Deposit: [ + 'Deposits are often irreversible, so ensure to double-check transaction details before confirming.', + 'Delay in deposit acknowledgment might be due to network congestion or node synchronization.', + 'Always keep transaction IDs or hashes for records and future references in case of disputes.', + ], + 'Key Management': [ + 'Storing your private keys on a device connected to the internet is susceptible to hacks and malware.', + 'Hardware wallets provide an added layer of security by keeping private keys isolated from online systems.', + 'Regularly back up and encrypt your key management solutions to prevent potential losses.', + ], + 'Bad Behaviour': [ + 'If you try to cheat the system, or act contrary to the specification, you will be liable to incur a penalty known as slashing.', + 'Running your validator keys simultaneously on two or more machines will result in slashing.*', + 'Simply being offline with an otherwise healthy network does not result in slashing, but will result in small inactivity penalties.', + ], + Requirements: [ + 'Ensure your system meets the minimum software and hardware requirements before initiating any operations.', + 'Staying updated with the latest versions is vital to maintain system integrity and performance.', + 'Failure to meet requirements might result in operational inefficiencies or security vulnerabilities.', + ], + Risks: [ + 'Cryptocurrency investments are subject to high volatility and can result in both significant gains and losses.', + 'Always do thorough research before making investment decisions or engaging in transactions.', + 'Be wary of phishing scams, malicious software, and too-good-to-be-true offers.', + ], +} diff --git a/src/pages/ValidatorOnboarding/Advicsories/AdvisoriesContent.tsx b/src/pages/ValidatorOnboarding/Advicsories/AdvisoriesContent.tsx index 438d3096..8b5a97ba 100644 --- a/src/pages/ValidatorOnboarding/Advicsories/AdvisoriesContent.tsx +++ b/src/pages/ValidatorOnboarding/Advicsories/AdvisoriesContent.tsx @@ -1,10 +1,12 @@ import { Text } from '@status-im/components' import { Link } from 'react-router-dom' import { Stack, YStack } from 'tamagui' + type AdvisoriesContentProps = { title: string content: string[] } + const AdvisoriesContent = ({ title, content }: AdvisoriesContentProps) => { return ( @@ -39,4 +41,5 @@ const AdvisoriesContent = ({ title, content }: AdvisoriesContentProps) => { ) } + export default AdvisoriesContent