{"version":3,"file":"common.4d40f5a8a5e95e22.chunk.js","mappings":"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","sources":["webpack:///./src/app/components/access/common.tsx","webpack:///./src/app/components/access/AccessWaitlistContent.tsx","webpack:///./src/app/components/access/AccessWaitlistDialog.tsx","webpack:///./src/app/components/access/LoopscaleBetaCard.tsx"],"sourcesContent":["import { StatRawValue, Column, Text } from \"@bridgesplit/ui\";\n\nexport interface AccessStat {\n value: StatRawValue | [StatRawValue, StatRawValue];\n caption: string;\n}\nexport function AccessStat({ caption, value }: AccessStat) {\n return (\n \n \n {caption}\n \n {value}\n \n );\n}\n","import { useUserPoints, useUserWhitelistRank } from \"@bridgesplit/abf-react\";\nimport { Column, Icon, Row, Text, TextSkeleton } from \"@bridgesplit/ui\";\nimport { REWARDS_SLUG } from \"app/constants\";\nimport { useAppNavigate } from \"@bridgesplit/react\";\nimport { AppDialog, useAppDialog } from \"app/utils\";\n\nimport { Points } from \"../navbar/points\";\nimport { AppButton } from \"../common\";\nimport { AccessStat } from \"./common\";\n\ninterface AccessWaitlistProps {\n onClose?: () => void;\n showNotifyButton?: boolean;\n}\n\nexport default function AccessWaitlistContent({ onClose, showNotifyButton = false }: AccessWaitlistProps): JSX.Element {\n const whitelistStats = useAccessWaitlistStat();\n const navigate = useAppNavigate();\n\n const { open } = useAppDialog();\n function handleNavigation(): void {\n navigate(REWARDS_SLUG);\n onClose?.();\n }\n\n return (\n \n \n \n \n \n You're on the waitlist!\n \n Move up by earning points and referring friends\n \n \n \n {whitelistStats.map((stat, index) => (\n \n ))}\n
\n \n {showNotifyButton && (\n open(AppDialog.Notifications, undefined)}\n >\n \n Notify me\n \n )}\n \n \n Earn points\n \n \n \n );\n}\n\nfunction useAccessWaitlistStat(): AccessStat[] {\n const { data: whitelist, isLoading } = useUserWhitelistRank();\n const { getPointsAtTime } = useUserPoints();\n\n const waitlistStats: AccessStat[] = [\n {\n value: (\n \n \n \n \n \n \n \n
\n ),\n caption: \"Your points\"\n },\n {\n value: whitelist?.userRank ? (\n #{whitelist?.userRank.toLocaleString()}\n ) : (\n \n ),\n caption: \"Your position\"\n }\n ];\n\n return waitlistStats;\n}\n","import { DialogWrapper } from \"@bridgesplit/ui\";\nimport { useAppDialog } from \"app/utils\";\n\nimport AccessWaitlistContent from \"./AccessWaitlistContent\";\n\nexport default function AccessWaitlistDialog() {\n const { close } = useAppDialog();\n return (\n \n \n \n );\n}\n","import {\n Icon,\n OutlinedCard,\n Text,\n Row,\n Column,\n OverlappingImages,\n JLP_LOGO,\n SANCTUM_LOGO,\n ORCA_LOGO,\n METEORA_LOGO\n} from \"@bridgesplit/ui\";\nimport { AppDialog, useAppDialog } from \"app/utils\";\nimport { MarketExpanded, useLoopsExpanded, useMarkets } from \"@bridgesplit/abf-react\";\nimport { findMaxElement, formatPercent } from \"@bridgesplit/utils\";\nimport { COPY } from \"app/constants\";\n\nimport { AppButton } from \"../common\";\nimport { AccessStat } from \"./common\";\n\nconst ALLOWED_MARKETS = [\n \"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v\",\n \"Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB\",\n \"2b1kV6DkPAnxd5ixfnxCpjxmKwqjjaYmCZfHsFu24GXo\"\n];\nexport default function LoopscaleWalletBlockCard({ action }: { action: string | null }) {\n const { open } = useAppDialog();\n const betaStats = useNeedBetaAccessStats();\n\n return (\n \n \n \n \n \n \n Connect your wallet to earn rewards!\n \n \n Experience higher yields, better rates, and expanded collateral options\n \n \n \n {betaStats.map((b, i) => (\n \n ))}\n
\n \n \n {`Connect your wallet to ${action ?? \"continue\"}`}\n \n open(AppDialog.Connect, undefined)}\n color=\"secondary\"\n isTransaction={false}\n >\n \n {COPY.CONNECT_PROMPT}\n \n \n \n );\n}\n\nfunction useNeedBetaAccessStats(): AccessStat[] {\n const { data } = useLoopsExpanded({\n showHidden: true,\n });\n const { data: markets } = useMarkets();\n const custodians = [ORCA_LOGO, METEORA_LOGO, SANCTUM_LOGO, JLP_LOGO];\n\n const filteredMarketStats = markets?.filter((m) =>\n ALLOWED_MARKETS.some((allowedMarket) => allowedMarket === m.metadata.mint)\n );\n\n const lowestApyMarket = findLowestApyMarket(filteredMarketStats);\n\n const apy = lowestApyMarket ? lowestApyMarket : undefined;\n\n const loopWithMaxLeveragedApy = findMaxElement(data, (item) => item.loopVault.maxLeveragedApyPct);\n const betaStats: AccessStat[] = [\n {\n value: (\n {formatPercent(loopWithMaxLeveragedApy?.loopVault.maxLeveragedApyPct)} APY\n ),\n caption: \"Earn up to\"\n },\n {\n value: {`${formatPercent(apy)} APY`},\n caption: \"Borrow at\"\n },\n {\n value: ,\n caption: \"Leverage\"\n }\n ];\n\n return betaStats;\n}\n\nfunction StackedCustodianImages({ featuredCustodians }: { featuredCustodians: string[] | undefined }) {\n return ;\n}\n\nfunction findLowestApyMarket(marketStats: MarketExpanded[] | undefined) {\n if (!marketStats) return undefined;\n return Math.min(...marketStats.flatMap((market) => market.strategyStats.durationToMinApy.map((item) => item.apy)));\n}\n"],"names":["AccessStat","caption","value","_jsxs","Column","alignItems","children","_jsx","Text","variant","color","AccessWaitlistContent","onClose","showNotifyButton","whitelistStats","data","whitelist","isLoading","useUserWhitelistRank","getPointsAtTime","useUserPoints","Row","spacing","Icon","type","loading","Points","getPoints","userRank","toLocaleString","TextSkeleton","width","useAccessWaitlistStat","navigate","useAppNavigate","open","useAppDialog","svgColor","sx","height","bgcolor","borderRadius","justifyContent","map","stat","index","Object","assign","AppButton","overrideAccess","isTransaction","onClick","AppDialog","Notifications","undefined","REWARDS_SLUG","AccessWaitlistDialog","close","DialogWrapper","padding","ALLOWED_MARKETS","LoopscaleWalletBlockCard","action","betaStats","useLoopsExpanded","showHidden","markets","useMarkets","custodians","ORCA_LOGO","METEORA_LOGO","SANCTUM_LOGO","JLP_LOGO","lowestApyMarket","marketStats","filter","m","some","allowedMarket","metadata","mint","Math","min","flatMap","market","strategyStats","durationToMinApy","item","apy","loopWithMaxLeveragedApy","findMaxElement","loopVault","maxLeveragedApyPct","formatPercent","StackedCustodianImages","featuredCustodians","useNeedBetaAccessStats","OutlinedCard","textAlign","fontWeight","b","i","Connect","COPY","CONNECT_PROMPT","OverlappingImages","size","images","maxLength"],"sourceRoot":""}