{"version":3,"file":"common.fb09a9846c893c28.chunk.js","mappings":"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","sources":["webpack:///./src/app/components/access/AccessWaitlistContent.tsx","webpack:///./src/app/components/access/AccessWaitlistDialog.tsx","webpack:///./src/app/components/access/common.tsx","webpack:///./src/app/components/access/LoopscaleBetaCard.tsx"],"sourcesContent":["import { Column, Icon, Text } from \"@bridgesplit/ui\";\nimport { useAppNavigate } from \"@bridgesplit/react\";\nimport { AppDialog, useAppDialog } from \"app/utils\";\n\nimport { AppButton } from \"../common\";\nimport { POINTS_SLUG } from \"app/constants\";\n\ninterface AccessWaitlistProps {\n onClose?: () => void;\n showNotifyButton?: boolean;\n}\n\nexport default function AccessWaitlistContent({ onClose, showNotifyButton = false }: AccessWaitlistProps): JSX.Element {\n const navigate = useAppNavigate();\n\n const { open } = useAppDialog();\n function handleNavigation(): void {\n navigate(POINTS_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 \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","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 { 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 {\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":["AccessWaitlistContent","onClose","showNotifyButton","navigate","useAppNavigate","open","useAppDialog","_jsxs","Column","spacing","alignItems","children","_jsx","Text","svgColor","Icon","type","sx","width","height","bgcolor","borderRadius","variant","color","AppButton","overrideAccess","isTransaction","onClick","AppDialog","Notifications","undefined","POINTS_SLUG","AccessWaitlistDialog","close","DialogWrapper","padding","AccessStat","caption","value","ALLOWED_MARKETS","LoopscaleWalletBlockCard","action","betaStats","data","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","map","item","apy","loopWithMaxLeveragedApy","findMaxElement","loopVault","maxLeveragedApyPct","formatPercent","StackedCustodianImages","featuredCustodians","useNeedBetaAccessStats","OutlinedCard","textAlign","fontWeight","Row","justifyContent","b","i","Object","assign","Connect","COPY","CONNECT_PROMPT","OverlappingImages","size","images","maxLength"],"sourceRoot":""}