From 8886e3cba7c596b7592bc7a89c24d44ed4038173 Mon Sep 17 00:00:00 2001 From: john Date: Thu, 19 May 2022 17:19:14 +0700 Subject: [PATCH] 1 add whatsapp floating button 2 fix copyclipboard --- public/imgs/whatsapp.png | Bin 0 -> 18215 bytes src/AppContext.js | 13 +++++---- src/components/FloatingBtn.js | 30 ++++++++++++++++++++ src/components/Hero.js | 2 +- src/components/LatestScreen.js | 13 ++++----- src/components/Layout.js | 19 +++++++++---- src/components/WalletButton.js | 4 +-- src/components/base/FloatingButton.js | 5 ++++ src/components/index.js | 1 + src/data.js | 1 + src/pages/Team.js | 38 ++++++++++++++------------ 11 files changed, 86 insertions(+), 40 deletions(-) create mode 100644 public/imgs/whatsapp.png create mode 100644 src/components/FloatingBtn.js create mode 100644 src/components/base/FloatingButton.js diff --git a/public/imgs/whatsapp.png b/public/imgs/whatsapp.png new file mode 100644 index 0000000000000000000000000000000000000000..470ed37ee20cad94657067b620874ce40918d2f2 GIT binary patch literal 18215 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 { setBannerLink(s.pic_url) - SOCIALS[0].path = b.telegram - SOCIALS[1].path = b.twitter - SOCIALS[2].path = b.facebook - SOCIALS[3].path = b.whatsapp + let socl = [...SOCIALS] + socl[0].path = b.telegram + socl[1].path = b.twitter + socl[2].path = b.facebook + socl[3].path = b.whatsapp - setSocials(SOCIALS) - setKefuUrl(s.kefu_url) + setSocials(s) + setKefuUrl('whatsapp://send?phone=' + b.whatsapp) setRewards(s.reward) setAppAddress(s.app_address) setAppKey(s.app_key) diff --git a/src/components/FloatingBtn.js b/src/components/FloatingBtn.js new file mode 100644 index 0000000..2b94dca --- /dev/null +++ b/src/components/FloatingBtn.js @@ -0,0 +1,30 @@ +import { Image, Flex, IconButton } from "@chakra-ui/react" +import { Images } from "../data" + +export const FloatingBtn = ({ name, pic, url, ...rest }) => { + + const onClick = () => { + window.location.href = url + } + + return ( + + + } + onClick={onClick} + /> + + ) +} \ No newline at end of file diff --git a/src/components/Hero.js b/src/components/Hero.js index d23d729..f239ba0 100644 --- a/src/components/Hero.js +++ b/src/components/Hero.js @@ -19,7 +19,7 @@ export const Hero = ({ bg }) => { {/* */} - + ({text}) + +const TQuantity = ({ text }) => ({text}) + export const LatestScreen = ({ data, ...rest }) => { - const TAddress = ({ text }) => ({text}) - - const TQuantity = ({ text }) => ({text}) - return ( @@ -41,7 +38,7 @@ export const LatestScreen = ({ data, ...rest }) => { slidesPerView={6} spaceBetween={0} // centeredSlides={true} - speed={5000} + speed={3500} loop={true} autoplay={{ delay: 1, diff --git a/src/components/Layout.js b/src/components/Layout.js index f3a2c1a..8ee8cd8 100644 --- a/src/components/Layout.js +++ b/src/components/Layout.js @@ -1,19 +1,20 @@ import { - Box, Drawer, DrawerContent, - useColorModeValue, useDisclosure, DrawerOverlay, + Box, useColorModeValue, } from '@chakra-ui/react' import React from 'react' -import { SideBar } from './SideBar' -import { AppBar } from './AppBar' + import { BottomNav } from './BottomNav' import { Hero } from './Hero' import { HFStack } from './base' +import { FloatingBtn } from './FloatingBtn' +import { Images } from '../data' +import { useApp } from '../AppContext' /** * This component was not composed for more widely using but just for this project. */ export const Layout = ({ children }) => { - const { isOpen: isOpenDrawer, onOpen: onOpenDrawer, onClose: onCloseDrawer } = useDisclosure() + const app = useApp() const bg = useColorModeValue('gray.100', 'gray.900') @@ -36,6 +37,14 @@ export const Layout = ({ children }) => { {children} + + diff --git a/src/components/WalletButton.js b/src/components/WalletButton.js index b690ef3..fa4346c 100644 --- a/src/components/WalletButton.js +++ b/src/components/WalletButton.js @@ -83,12 +83,12 @@ export const WalletButton = ({ ...rest }) => { }) } }).catch(err => { - + console.error('get_ether() error:', err.message) }) } const onBtnThis = async () => { - if (!app.address) { + if (!authorized) { await connect() // checkAuth() } else { diff --git a/src/components/base/FloatingButton.js b/src/components/base/FloatingButton.js new file mode 100644 index 0000000..6bac757 --- /dev/null +++ b/src/components/base/FloatingButton.js @@ -0,0 +1,5 @@ +import React from "react" + +export const FloatingButton = ({img}) => { + +} \ No newline at end of file diff --git a/src/components/index.js b/src/components/index.js index d8cc7ce..2445e86 100644 --- a/src/components/index.js +++ b/src/components/index.js @@ -14,5 +14,6 @@ export * from './Hero' export * from './LatestScreen' export * from './PoolData' export * from './WalletButton' +export * from './FloatingBtn' export * from './alert' export * from './base' diff --git a/src/data.js b/src/data.js index c3f9684..e11b475 100644 --- a/src/data.js +++ b/src/data.js @@ -25,6 +25,7 @@ export const Images = { config.ENDPOINT + 'static/media/codebank.db7917c8.svg', ], + whatsapp: process.env.PUBLIC_URL + '/imgs/whatsapp.png', more: config.ENDPOINT + 'static/media/icon-more.c502d302.svg', new: config.ENDPOINT + 'static/media/jiaobiao-eth.4b55fb16.svg', stakingBanner: config.ENDPOINT + 'static/media/eth_mining.jpg', diff --git a/src/pages/Team.js b/src/pages/Team.js index a00ab4d..b971461 100644 --- a/src/pages/Team.js +++ b/src/pages/Team.js @@ -9,18 +9,22 @@ import { FiCopy, FiCheck } from 'react-icons/fi' import { get_page_team } from '../api' let teamData = [ - { name: 'Level 1 Total Output', value: 234, emp: true, unit: 'USDT' }, - { name: 'Level 2 Total Output', value: 2344.34, emp: true, unit: 'USDT' }, - { name: 'Level 3 Total Output', value: 2342342.32, emp: true, unit: 'USDT' }, - { name: 'Participant', value: 234234.04, emp: true, unit: 'USDT' }, - { name: 'Team revenue', value: 234234.04, emp: false, unit: 'USDT' }, + { name: 'Level 1 Total Output', value: 0, emp: true, unit: 'USDT' }, + { name: 'Level 2 Total Output', value: 0, emp: true, unit: 'USDT' }, + { name: 'Level 3 Total Output', value: 0, emp: true, unit: 'USDT' }, + { name: 'Participant', value: 0, emp: true, unit: 'USDT' }, + { name: 'Team revenue', value: 0, emp: false, unit: 'USDT' }, ] export const Team = () => { const app = useApp() + + const [va, setVa] = React.useState(app.address) + const [vs, setVs] = React.useState(app.shareLink) + const [teamInfo, setTeamInfo] = React.useState(teamData) - const { hasCopiedAddress, doCopyAddress } = useClipboard('12345') - const { hasCopiedShareLink, doCopyShareLink } = useClipboard(app.shareLink) + const { hasCopied: hasCopiedAddress, onCopy: doCopyAddress } = useClipboard(va) + const { hasCopied: hasCopiedShareLink, onCopy: doCopyShareLink } = useClipboard(vs) React.useEffect(() => { get_page_team().then(res => { @@ -39,13 +43,10 @@ export const Team = () => { }) }, []) - const onBtnCopyAddress = () => { - - } - - const onBtnCopyLink = () => { - - } + React.useEffect(() => { + setVa(app.address) + setVs(app.shareLink) + }, [app.address, app.shareLink]) return ( @@ -60,14 +61,15 @@ export const Team = () => { } onClick={doCopyAddress} /> @@ -81,12 +83,12 @@ export const Team = () => { My share link - + } onClick={doCopyShareLink} />