{"version":3,"file":"index-2a8d8741.js","sources":["../../src/pages/Portfolio/index.tsx"],"sourcesContent":["import React, { useContext, useEffect, useRef, useState } from 'react';\nimport { faCalendar } from '@fortawesome/free-regular-svg-icons';\nimport {\n faCoins,\n faPlus,\n faRefresh,\n faSearch,\n faShare,\n faX\n} from '@fortawesome/free-solid-svg-icons';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport clsx from 'clsx/lite';\nimport dayjs from 'dayjs';\nimport relativeTime from 'dayjs/plugin/relativeTime';\nimport { Link, useNavigate, useParams } from 'react-router-dom';\nimport ConnectButton from 'components/ConnectButton';\nimport CopyIcon from 'components/CopyIcon';\nimport LinkIcon from 'components/LinkIcon';\nimport MyPools from 'components/MyPools';\nimport MyTokens from 'components/MyTokens';\nimport PageHeader from 'components/PageHeader';\nimport PoolName from 'components/PoolName';\nimport ShareModal from 'components/ShareModal';\nimport Skeleton from 'components/Skeleton';\nimport Spinner from 'components/Spinner';\nimport { AccountWrapperContext } from 'context/AccountWrapperContext';\nimport useFetchAccount from 'hooks/useFetchAccount';\nimport useFetchTxs from 'hooks/useFetchTxs';\nimport ErrorPage from 'pages/ErrorPage';\nimport { routeNames } from 'routes';\nimport { FEATURE_FLAGS } from 'utils/config';\nimport { getWmasIfMas } from 'utils/coreMethods';\nimport {\n buildExplorerLink,\n isAddressValid,\n printAddress,\n printUSD\n} from 'utils/methods';\nimport { Pool } from 'utils/pools';\nimport {\n getImportedPools,\n getPoolsCreated,\n updateImportedPools\n} from 'utils/storage';\nimport { Transaction } from 'utils/types';\nimport { DCAsOwn } from './components/DCAs';\nimport './index.scss';\n\ndayjs.extend(relativeTime);\n\nconst Portfolio = () => {\n const [searchAddress, setSearchAddress] = useState('');\n const [isInputFocused, setInputFocused] = useState(false);\n const [poolsImported, setPoolsImported] = useState(getImportedPools());\n const [showRelativeTime, setShowRelativeTime] = useState(true);\n const toggleRelativeTime = () => setShowRelativeTime(!showRelativeTime);\n\n const history = useNavigate();\n const inputRef = useRef(null);\n const { userAddress } = useParams();\n const connectedAccount = useContext(AccountWrapperContext);\n const { connectedAddress } = connectedAccount;\n const userAccount = useFetchAccount(userAddress || '');\n const address = userAddress || connectedAddress;\n const isSelf = !userAddress || userAddress === connectedAddress;\n const {\n tokensInfo,\n poolsOwn,\n autoPoolsOwn,\n activeDCAs,\n portfolioValue,\n tokensValue,\n poolsValue,\n autopoolsValue,\n isLoading\n } = userAddress ? userAccount : connectedAccount;\n const poolsCreated = getPoolsCreated();\n\n const { recentTxs, isGetTxsLoading, refreshTxsFn } = useFetchTxs(address);\n\n // useEffect(() => {\n // if (!userAddress) return;\n // userAccount.trigger();\n // }, [userAddress]);\n\n // useEffect(() => {\n // if (!address) return;\n // refreshTxsFn();\n // }, [address]);\n\n const renderTxs = () => {\n return (\n <>\n {!isGetTxsLoading && !recentTxs.length ? (\n No recent transactions\n ) : (\n
\n \n \n \n \n \n \n \n \n \n \n \n \n {isGetTxsLoading\n ? Array.from({ length: 10 }, (_, i) => (\n \n \n \n \n \n \n \n \n ))\n : recentTxs.map((tx, index) => {\n return (\n \n );\n })}\n \n
Tx hash\n Age\n \n StatusToMethodDescription
\n \n \n \n \n \n \n \n \n \n \n \n
\n
\n )}\n \n );\n };\n\n const values = FEATURE_FLAGS.AUTONOMOUS_LIQUIDITY\n ? [tokensValue, poolsValue, autopoolsValue]\n : [tokensValue, poolsValue];\n\n const handleKeyDown = (e: React.KeyboardEvent) => {\n if (e.key === 'Enter') {\n history(`/portfolio/${searchAddress}`);\n setSearchAddress('');\n }\n };\n\n const handleKeysPress = (e: KeyboardEvent) => {\n if (e.ctrlKey && e.key === 'k') {\n e.preventDefault();\n if (inputRef.current) {\n (inputRef.current as HTMLInputElement).focus();\n }\n }\n };\n\n useEffect(() => {\n document.addEventListener('keydown', handleKeysPress);\n\n return () => {\n document.removeEventListener('keydown', handleKeysPress);\n };\n }, []);\n\n return (\n
\n \n
\n {\n inputRef.current &&\n (inputRef.current as HTMLInputElement).focus();\n }}\n >\n \n inputRef.current &&\n (inputRef.current as HTMLInputElement).focus()\n }\n />\n setSearchAddress(e.target.value)}\n onKeyDown={handleKeyDown}\n onFocus={() => setInputFocused(true)}\n onBlur={() => setInputFocused(false)}\n value={searchAddress}\n />\n {isInputFocused ? (\n {\n history(`/portfolio/${searchAddress}`);\n setSearchAddress('');\n }}\n >\n Enter\n \n ) : (\n \n inputRef.current &&\n (inputRef.current as HTMLInputElement).focus()\n }\n >\n CTRL + K\n \n )}\n
\n\n {userAddress && isAddressValid(userAddress) && (\n
\n
{printAddress(userAddress)}
\n \n history('/portfolio')}\n />\n
\n )}\n
\n \n
\n {userAddress && !isAddressValid(userAddress) ? (\n \n ) : !address ? (\n
\n \n
\n ) : (\n <>\n
\n
\n \n {!userAddress && 'Your'} Tokens\n \n
\n \n
\n
\n {poolsCreated.length > 0 && (\n
\n \n Your Pools Created\n \n
\n \n
\n
\n )}\n
\n \n {!userAddress && 'Your'} Pools\n \n \n
\n {FEATURE_FLAGS.DCA && (\n
\n \n {!userAddress && 'Your'} DCAs\n \n {!activeDCAs ? (\n \n ) : (\n
\n {activeDCAs.length !== 0 ? (\n \n ) : (\n
\n \n You do not have any active DCA.\n
\n )}\n
\n )}\n
\n )}\n\n
\n Total Portfolio\n \n <>\n {isNaN(portfolioValue) || isLoading ? (\n \n ) : (\n ${printUSD(portfolioValue, true)}\n )}\n {values.map((value, i) => {\n const text =\n i === 0\n ? 'Tokens'\n : i === 1\n ? `${\n FEATURE_FLAGS.AUTONOMOUS_LIQUIDITY\n ? 'Manual'\n : ''\n } Pools`\n : 'Auto Pools';\n if (value === 0) return null;\n return (\n
\n {text}\n ${printUSD(value, true)}\n
\n );\n })}\n \n
\n
\n
\n
\n
\n
\n Recent Transactions\n \n
\n
{renderTxs()}
\n
\n
\n \n )}\n
\n \n );\n};\n\nexport default Portfolio;\n\n// prettier-ignore\nconst TransactionItem = ({ tx, showRelativeTime }: { tx: Transaction, showRelativeTime: boolean }) => {\n return (\n \n \n \n \n {showRelativeTime ? dayjs(tx.timestamp).fromNow() : dayjs(tx.timestamp).format('YYYY-MM-DD HH:mm:ss')}\n {tx.status}\n \n {printAddress(tx.to)}\n \n \n {tx.targetFunction}\n {tx.description}\n \n );\n};\n\nconst MyPoolsCreated = ({\n poolsCreated,\n poolsImported,\n setPoolsImported\n}: {\n poolsCreated: Pool[];\n poolsImported: Pool[];\n setPoolsImported: React.Dispatch>;\n}) => {\n const [showShareModal, setShowShareModal] = useState(false);\n const [poolToShare, setPoolToShare] = useState();\n\n return (\n <>\n
\n
\n {poolsCreated.map((pool, index) => {\n const token0 = getWmasIfMas(pool.token0);\n const token1 = getWmasIfMas(pool.token1);\n const isPoolImported = poolsImported.some((poolImported) => {\n return (\n poolImported.token0.address === token0.address &&\n poolImported.token1.address === token1.address &&\n poolImported.binStep === pool.binStep\n );\n });\n\n return (\n <>\n
\n \n \n \n
\n {\n if (isPoolImported) return;\n\n const _pools = [\n ...poolsImported,\n { token0, token1, binStep: pool.binStep }\n ];\n updateImportedPools(_pools);\n setPoolsImported(_pools);\n }}\n >\n {isPoolImported ? (\n Imported to Pools ✅\n ) : (\n <>\n \n Add to Pools\n \n )}\n
\n {\n setPoolToShare(pool);\n setShowShareModal(true);\n }}\n >\n Share\n \n
\n
\n
\n {index < poolsCreated.length - 1 && (\n
\n )}\n \n );\n })}\n \n \n {showShareModal && poolToShare && (\n \n )}\n \n );\n};\n"],"names":["dayjs","relativeTime","Portfolio","searchAddress","setSearchAddress","useState","isInputFocused","setInputFocused","poolsImported","setPoolsImported","getImportedPools","showRelativeTime","setShowRelativeTime","toggleRelativeTime","history","useNavigate","inputRef","useRef","userAddress","useParams","connectedAccount","useContext","AccountWrapperContext","connectedAddress","userAccount","useFetchAccount","address","isSelf","tokensInfo","poolsOwn","autoPoolsOwn","activeDCAs","portfolioValue","tokensValue","poolsValue","autopoolsValue","isLoading","poolsCreated","getPoolsCreated","recentTxs","isGetTxsLoading","refreshTxsFn","useFetchTxs","renderTxs","jsx","jsxs","FontAwesomeIcon","faCalendar","_","i","Skeleton","tx","index","TransactionItem","values","FEATURE_FLAGS","handleKeyDown","e","handleKeysPress","useEffect","PageHeader","faSearch","isAddressValid","printAddress","CopyIcon","faX","ErrorPage","Fragment","MyTokens","MyPoolsCreated","MyPools","DCAsOwn","faCoins","Spinner","printUSD","value","text","faRefresh","ConnectButton","LinkIcon","buildExplorerLink","showShareModal","setShowShareModal","poolToShare","setPoolToShare","pool","token0","getWmasIfMas","token1","isPoolImported","poolImported","Link","routeNames","PoolName","clsx","_pools","updateImportedPools","faPlus","faShare","ShareModal"],"mappings":"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"}