From 129f7de536068719c91a93a85602c253669c8aee Mon Sep 17 00:00:00 2001 From: mac Date: Thu, 30 May 2024 18:01:50 +0800 Subject: [PATCH] =?UTF-8?q?=E9=83=A8=E7=BD=B2=E4=B8=BB=E7=BD=91=EF=BC=8C?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=88=86=E4=BA=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- env.md | 1 + public/index.html | 19 ++++++++-- public/qrcode.png | Bin 0 -> 18122 bytes src/contract/index.ts | 16 ++++----- src/language/hk.json | 2 +- src/pages/invitation/index.tsx | 19 +++++----- src/router/layout/index.tsx | 5 +++ src/utils/share.ts | 64 +++++++++++++++++++++++++++++++++ 8 files changed, 107 insertions(+), 19 deletions(-) create mode 100644 public/qrcode.png create mode 100644 src/utils/share.ts diff --git a/env.md b/env.md index ec2dd1a..9e7599d 100644 --- a/env.md +++ b/env.md @@ -2,3 +2,4 @@ SKIP_PREFLIGHT_CHECK=true GENERATE_SOURCEMAP=false REACT_APP_CHAINID=56 REACT_APP_DAY_TIME=86400 +REACT_APP_SHARE_URL='https://app.sofil.io/index.html' diff --git a/public/index.html b/public/index.html index eaa5061..856a17a 100644 --- a/public/index.html +++ b/public/index.html @@ -2,14 +2,30 @@ + - + + SOFIL + + + + + + + + + + + + + + - SOFIL diff --git a/public/qrcode.png b/public/qrcode.png new file mode 100644 index 0000000000000000000000000000000000000000..0ef67c414061aab7c11b5177eec59049af9c8fde GIT binary patch literal 18122 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 literal 0 HcmV?d00001 diff --git a/src/contract/index.ts b/src/contract/index.ts index 1aaf743..557f0ed 100644 --- a/src/contract/index.ts +++ b/src/contract/index.ts @@ -4,15 +4,15 @@ import { ethers } from 'ethers'; import store from '~/store'; import { ContractType } from '~/types/store'; // 0x7a89c2D92Bf53160ab58d7889966741cA8Eb5855 - const config = { +const config = { 56: { chainId: 56, rpc: "https://bsc-dataseed1.defibit.io", address: { FIL__factory: "0x0d8ce2a99bb6e3b7db580ed848240e4a0f9ae153", - NFT__factory: "0x5fd156B6B47Bb0B363fa3D4e2E31a8394Ee7A630", - Pool__factory: "0xC31cEb39961076d8fAD3936D88489972c02b4D83", - Pledge__factory: "0x2F3d8761c8214627743F84F9890A8eEeD914ddf1", + NFT__factory: "0x16B73D32a3c26DaDb1E6823bB711cc1DCd49F3c7", + Pool__factory: "0xaF386022e8915642E1c0EC5DB1a973C683dfEaAD", + Pledge__factory: "0x2AdB2f2B95a518c3e71012ebaD4a4Cd778139Eb3", } }, 97: { @@ -37,9 +37,9 @@ import { ContractType } from '~/types/store'; }, } as any -if(process.env.REACT_APP_CHAINID === '56'){ +if (process.env.REACT_APP_CHAINID === '56') { delete config[97] -}else{ +} else { delete config[56] } @@ -124,6 +124,6 @@ const initContract = async () => { } -export{ - config,initContract +export { + config, initContract } \ No newline at end of file diff --git a/src/language/hk.json b/src/language/hk.json index 06d7b51..205072a 100644 --- a/src/language/hk.json +++ b/src/language/hk.json @@ -43,7 +43,7 @@ "Why should I stake Filecoin?":"問題一:為什麼我要質押 FIL?", "FAQ1":"透過質押FIL產生質押獎勵,讓你持有的 FIL 為您賺取,同時為 Filecoin 的安全性和效率做出貢獻。Filecoin已經從僅提供資料儲存驗證的區塊鏈發展到透過推出Filecoin虛擬機來實現去中心化應用,從而引發更大的市潛力和成長。", "What can I do with the NFT after receiving it?":"問題二:質押後獲得的NFT可以用來做什麼?", - "FAQ2":"NNFT是SOFIL平台上的鏈上質押通證。 持有NFT的人可以在質押期結束前提取每日收益,並在質押期結束後贖回質押金。你可以把NFT保存在錢包中,用於每日收益提取和質押金的兌現。 如果你在質押期結束前需要流動性,也可以將其出售或在公開市場上抵押借款。請注意,如果你把NFT轉讓給他人,儘管你是質押的發起者,但你把無法再提取收益或兌現質押金金額,提取和兌現的權歸於NFT持有人。", + "FAQ2":"NFT是SOFIL平台上的鏈上質押通證。 持有NFT的人可以在質押期結束前提取每日收益,並在質押期結束後贖回質押金。你可以把NFT保存在錢包中,用於每日收益提取和質押金的兌現。 如果你在質押期結束前需要流動性,也可以將其出售或在公開市場上抵押借款。請注意,如果你把NFT轉讓給他人,儘管你是質押的發起者,但你把無法再提取收益或兌現質押金金額,提取和兌現的權歸於NFT持有人。", "Where do my reward from staking come from?":"問題三:我的質押收益從哪裡來?", "FAQ3":"所有收益均來自Filecoin挖礦獎勵,而非其他外部平台,Filecoin挖礦由SOFIL策略夥伴營運。", diff --git a/src/pages/invitation/index.tsx b/src/pages/invitation/index.tsx index 5c4d906..74f9ec9 100644 --- a/src/pages/invitation/index.tsx +++ b/src/pages/invitation/index.tsx @@ -13,10 +13,11 @@ import { useRouter } from '~/hooks/useRouter' import ModalLoading from '~/components/ModalLoading' import UnLogin from '~/components/Unlogin' import { useTranslation } from 'react-i18next' +import { LanguageType, shareLK, shareTG, shareTW } from '~/utils/share' const Invitation = () => { - const { t,i18n } = useTranslation() + const { t, i18n } = useTranslation() const { walletAddress, contract } = store.state const { copyVal } = useCopyLink() const [tabIndex, setTabIndex] = useState(0) @@ -39,7 +40,9 @@ const Invitation = () => { const navbarRefs = useRef(document.querySelector('.layout .header')) const getData = async () => { + const res = await eth_invitation(walletAddress) + if (res) { setRecommendAmount(res.recommendAmount) setUnExpiredContract(res.unExpiredContract) @@ -94,13 +97,13 @@ const Invitation = () => { } }, []) - const renderTitle = ()=>{ - if(i18n.language === 'en'){ + const renderTitle = () => { + if (i18n.language === 'en') { return (
Up To 7% of Referees Staking Rewards
) } - if(i18n.language === 'hk'){ + if (i18n.language === 'hk') { return (
高達質押人賺取的 7%
) @@ -207,9 +210,9 @@ const Invitation = () => {
copyVal(walletAddress)} />
- - - + shareTG(i18n.language as LanguageType, walletAddress)} /> + shareTW(i18n.language as LanguageType, walletAddress)} /> + shareLK(i18n.language as LanguageType, walletAddress)} />
@@ -261,7 +264,7 @@ const ContractRecord = (props: ContractRecordProps) => { const { list, rate, currentTime } = props const { t } = useTranslation() const { push } = useRouter() - + return (
diff --git a/src/router/layout/index.tsx b/src/router/layout/index.tsx index f17ea19..93382cb 100644 --- a/src/router/layout/index.tsx +++ b/src/router/layout/index.tsx @@ -49,6 +49,11 @@ const LayoutRouter = () => { push('/', null, true) window.sessionStorage.setItem(SOFIL_LANGUAGE, pathname) } + console.log('----------------------'); + + if (location.pathname === '/') { + push('/', null, true) + } } diff --git a/src/utils/share.ts b/src/utils/share.ts new file mode 100644 index 0000000..3ce6e7a --- /dev/null +++ b/src/utils/share.ts @@ -0,0 +1,64 @@ +export type LanguageType = 'en' | 'zh' | 'hk' + +export const shareTG = async (language: LanguageType, address: string) => { + const text = shareText(language, address) + const url = process.env.REACT_APP_SHARE_URL as string + + const tg = `https://t.me/share/url?url=${encodeURIComponent(url)}&text=${encodeURIComponent(text)}` + window.open(tg) +} + +export const shareTW = async (language: LanguageType, address: string) => { + const text = shareText(language, address) + const url = process.env.REACT_APP_SHARE_URL as string + const tw = `https://twitter.com/intent/tweet?url=${encodeURIComponent(url)}&text=${encodeURIComponent(text)}` + window.open(tw) +} + +export const shareLK = async (language: LanguageType, address: string) => { + const text = shareText(language, address) + const url = process.env.REACT_APP_SHARE_URL as string + const linkedinShareUrl = `https://www.linkedin.com/sharing/share-offsite/?url=${encodeURIComponent(url)}&text=${encodeURIComponent(text)}`; + window.open(linkedinShareUrl) +} + + +const shareText = (language: LanguageType, address: string) => { + const ts = { + 'en': ` + Join me to stake $FIL on SOFIL with my referral code to earn up to 16.23% APY ! + SOFIL is a DeFi platform offering stake-to-earn opportunities to crypto holders. + + My referral code: ${address} + You can insert my referral code before you stake. + + Come and explore more with me on SOFIL by scanning the following QR code or directly visit app.sofil.io on your MetaMask + + SOFIL Official Website: https://sofil.io + `, + + 'hk': + ` + 使用我的推薦碼在 SOFIL 上質押 $FIL,即可賺取高達 16.23% 年利率!\n + SOFIL 是一個去中心金融平台,為加密貨幣持有者提供質押賺取的機會。\n + 我的推薦碼:${address} \n + 您可以在質押前輸入我的推薦碼。\n + 掃描以下二維碼或直接在 MetaMask 上瀏覽 app.sofil.io,與我一起探索 SOFIL 的更多內容!\n + SOFIL官方網站:https://sofil.io + `, + + 'zh': ` + 使用我的推荐码在 SOFIL 上质押 $FIL,即可赚取高达 16.23% 年利率! + SOFIL 是一个去中心金融平台,为加密货币持有者提供质押赚取的机会。 + + 我的推荐码:${address} + 您可以在质押前输入我的推荐码。 + + 扫描以下二维码或直接在 MetaMask 上浏览 app.sofil.io,与我一起探索 SOFIL 的更多内容! + + SOFIL官方网站:https://sofil.io + ` + } as { [key: string]: string } + return ts[language] +} +// https://t.me/share/url?url=https://baidu.com&text=sdasdasdasdasd\nasdkahdkashdkajshd \ No newline at end of file