From 0170bf5b689ac579f0ae4ff68b2126802ef9a504 Mon Sep 17 00:00:00 2001 From: jinhojang6 Date: Fri, 1 Nov 2024 21:29:37 +0900 Subject: [PATCH] feat: implement /user/referral --- src/components/WalletConnect/WalletConnect.tsx | 18 +++++++++++++++--- .../Dashboard/DashboardContainer.tsx | 10 ++++------ 2 files changed, 19 insertions(+), 9 deletions(-) diff --git a/src/components/WalletConnect/WalletConnect.tsx b/src/components/WalletConnect/WalletConnect.tsx index 6dff98a59e..c4d954c316 100644 --- a/src/components/WalletConnect/WalletConnect.tsx +++ b/src/components/WalletConnect/WalletConnect.tsx @@ -1,6 +1,7 @@ import { numberWithCommas, truncateString } from '@/utils/general.utils' import styled from '@emotion/styled' import { useAtom } from 'jotai' +import { useRouter } from 'next/router' import React, { useEffect, useRef, useState } from 'react' import { userInfoAtom } from '../../../atoms/userInfo' import { walletAddressAtom } from '../../../atoms/wallet' @@ -23,6 +24,10 @@ const Dropdown: React.FC = () => { const [isExpanded, setIsExpanded] = useState(false) const [walletAddress, setWalletAddress] = useAtom(walletAddressAtom) + const router = useRouter() + + const { referral_code, referral_address, referral_source } = router.query + const [userInfo, setUserInfo] = useAtom(userInfoAtom) const [showMultiPass, setShowMultiPass] = useState(false) @@ -51,20 +56,27 @@ const Dropdown: React.FC = () => { } const { addr: address, sig: signature } = await handler() - setWalletAddress(address) const response = await api.post('/token/pair', { address, signature }) + setIsExpanded(false) + setWalletAddress(address) + const { access, refresh } = response.data.token sessionStorage.setItem('accessToken', access) sessionStorage.setItem('refreshToken', refresh) sessionStorage.setItem('walletAddress', address) - setIsExpanded(false) + if (referral_code?.length && referral_address?.length) { + await api.post('/user/referral', { + referral_code: referral_code, + referral_address, + referral_source, + }) + } } } catch (error: any) { console.log('Failed to connect or disconnect wallet:', error) - alert(error) setWalletAddress(null) } diff --git a/src/containers/Dashboard/DashboardContainer.tsx b/src/containers/Dashboard/DashboardContainer.tsx index 6b82d0eae0..102c63f8a9 100644 --- a/src/containers/Dashboard/DashboardContainer.tsx +++ b/src/containers/Dashboard/DashboardContainer.tsx @@ -5,7 +5,7 @@ import { breakpoints } from '@/configs/ui.configs' import styled from '@emotion/styled' import { useAtom, useSetAtom } from 'jotai' import React, { useEffect } from 'react' -import useGetUserXP from '../../../apis/general/useGetUserXP' +// import useGetUserXP from '../../../apis/general/useGetUserXP' import useGetUserInfo from '../../../apis/operators/useGetUserInfo' import { userInfoAtom } from '../../../atoms/userInfo' import { walletAddressAtom } from '../../../atoms/wallet' @@ -44,11 +44,9 @@ const DashboardContainer: React.FC = ({ const processedOperators = processMyOperators(userInfoData?.operators) - console.log('processedOperators', processedOperators) - - const { data: userXP } = useGetUserXP({ - enabled: !!walletAddress && walletAddress.length > 0, - }) + // const { data: userXP } = useGetUserXP({ + // enabled: !!walletAddress && walletAddress.length > 0, + // }) // console.log('userXP', userXP)