{"version":3,"file":"static/chunks/2824-15246643bc9c90ab.js","mappings":"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","sources":["webpack://_N_E/./node_modules/.pnpm/@heroicons+react@2.0.18_react@19.0.0/node_modules/@heroicons/react/20/solid/esm/WalletIcon.js","webpack://_N_E/./node_modules/.pnpm/@heroicons+react@2.0.18_react@19.0.0/node_modules/@heroicons/react/24/outline/esm/EllipsisHorizontalIcon.js","webpack://_N_E/./node_modules/.pnpm/@heroicons+react@2.0.18_react@19.0.0/node_modules/@heroicons/react/24/outline/esm/LockClosedIcon.js","webpack://_N_E/./components/brackets/BracketList.js","webpack://_N_E/./app/(main)/(header)/(currency-header)/select/page.js","webpack://_N_E/./components/IconButton.js","webpack://_N_E/./components/account/DiscordLinkButton.js","webpack://_N_E/./components/shared/GenericDialog.js","webpack://_N_E/./hooks/use-interval.js","webpack://_N_E/./hooks/use-isReady.ts","webpack://_N_E/./hooks/use-web3.js","webpack://_N_E/./util/achievements.js","webpack://_N_E/./constants/brackets.js","webpack://_N_E/./util/bracket.js","webpack://_N_E/./util/web3.js","webpack://_N_E/./node_modules/.pnpm/@heroicons+react@2.0.18_react@19.0.0/node_modules/@heroicons/react/24/solid/esm/ArrowPathIcon.js"],"sourcesContent":["import * as React from \"react\";\nfunction WalletIcon({\n title,\n titleId,\n ...props\n}, svgRef) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 20 20\",\n fill: \"currentColor\",\n \"aria-hidden\": \"true\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1 4.25a3.733 3.733 0 012.25-.75h13.5c.844 0 1.623.279 2.25.75A2.25 2.25 0 0016.75 2H3.25A2.25 2.25 0 001 4.25zM1 7.25a3.733 3.733 0 012.25-.75h13.5c.844 0 1.623.279 2.25.75A2.25 2.25 0 0016.75 5H3.25A2.25 2.25 0 001 7.25zM7 8a1 1 0 011 1 2 2 0 104 0 1 1 0 011-1h3.75A2.25 2.25 0 0119 10.25v5.5A2.25 2.25 0 0116.75 18H3.25A2.25 2.25 0 011 15.75v-5.5A2.25 2.25 0 013.25 8H7z\"\n }));\n}\nconst ForwardRef = React.forwardRef(WalletIcon);\nexport default ForwardRef;","import * as React from \"react\";\nfunction EllipsisHorizontalIcon({\n title,\n titleId,\n ...props\n}, svgRef) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\",\n strokeWidth: 1.5,\n stroke: \"currentColor\",\n \"aria-hidden\": \"true\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n d: \"M6.75 12a.75.75 0 11-1.5 0 .75.75 0 011.5 0zM12.75 12a.75.75 0 11-1.5 0 .75.75 0 011.5 0zM18.75 12a.75.75 0 11-1.5 0 .75.75 0 011.5 0z\"\n }));\n}\nconst ForwardRef = React.forwardRef(EllipsisHorizontalIcon);\nexport default ForwardRef;","import * as React from \"react\";\nfunction LockClosedIcon({\n title,\n titleId,\n ...props\n}, svgRef) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\",\n strokeWidth: 1.5,\n stroke: \"currentColor\",\n \"aria-hidden\": \"true\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n d: \"M16.5 10.5V6.75a4.5 4.5 0 10-9 0v3.75m-.75 11.25h10.5a2.25 2.25 0 002.25-2.25v-6.75a2.25 2.25 0 00-2.25-2.25H6.75a2.25 2.25 0 00-2.25 2.25v6.75a2.25 2.25 0 002.25 2.25z\"\n }));\n}\nconst ForwardRef = React.forwardRef(LockClosedIcon);\nexport default ForwardRef;","\"use client\";\n\nimport useInterval from \"@/hooks/use-interval\";\nimport {achievementValueTypeToName} from \"@/util/achievements\";\nimport {pickMostImportantRequirement} from \"@/util/bracket\";\nimport {pad} from \"@/util/strings\";\nimport {WalletIcon} from \"@heroicons/react/20/solid\";\nimport {\n EllipsisHorizontalIcon,\n LockClosedIcon,\n} from \"@heroicons/react/24/outline\";\nimport {ArrowPathIcon, PlayIcon} from \"@heroicons/react/24/solid\";\nimport Image from \"next/image\";\nimport Link from \"next/link\";\nimport {useMemo, useState} from \"react\";\nimport {discordLinkUrl} from \"../account/DiscordLinkButton\";\n\nexport const themeToBorderColor = {\n blue: \"blue-0\",\n yellow: \"yellow-0\",\n red: \"red-0\",\n};\n\nconst RefreshTimer = ({refreshTimeEpochUtc, className = \"\"}) => {\n const [seconds, setSeconds] = useState(0);\n\n useInterval(() => {\n const now = new Date();\n const nowUtcSeconds = Math.floor(now.getTime() / 1000);\n const diff = refreshTimeEpochUtc - nowUtcSeconds;\n\n setSeconds(diff);\n }, 475);\n\n const hours = Math.floor(seconds / 3600);\n const minutes = Math.floor((seconds % 3600) / 60);\n const secs = seconds % 60;\n\n return (\n \n \n  \n {seconds > 0 && (\n \n {pad(hours, 2)}:{pad(minutes, 2)}:{pad(secs, 2)}\n \n )}\n {seconds <= 0 && \"...\"}\n

\n );\n};\n\nconst PlaySection = ({onChain, payoutToken, href, disabled, flashPlay}) => (\n
\n {\n if (disabled) {\n e.preventDefault();\n }\n }}\n >\n {/* Mobile play button (circular) - only on xs screens */}\n \n \n\n {disabled ? (\n \n ) : (\n \n )}\n \n\n {/* Desktop play button (no gradient) - sm and up */}\n \n PLAY\n {disabled ? (\n \n ) : (\n \n )}\n \n \n
\n);\n\nconst RequirementRenderer = ({requirement}) => {\n const {type, min, meta, params = {}} = requirement || {};\n\n const name = useMemo(() => {\n if (params && params.hasOwnProperty(\"description\")) {\n return params.description;\n }\n\n return achievementValueTypeToName[type];\n }, [type, params]);\n\n const href = useMemo(() => {\n if (params && params.hasOwnProperty(\"href\")) {\n return params.href;\n }\n\n return \"/account?section=stats\";\n }, [params]);\n\n if (type === \"achievement\") {\n if (meta === \"account.wallet.linked\") {\n return (\n \n
\n {/* Mobile circular button with lock and Wallet icon - xs only */}\n \n
\n
\n \n
\n
\n \n
\n\n {/* Desktop button-based version - sm and up */}\n \n
\n \n );\n }\n\n if (meta === \"discord.linked\") {\n return (\n \n
\n {/* Mobile circular button with lock and Discord logo - xs only */}\n \n
\n
\n \n
\n
\n \n
\n\n {/* Desktop button-based version - sm and up */}\n \n
\n \n );\n }\n\n return (\n \n
\n

\n Requires {min}\n

\n

{name}

\n
\n \n );\n }\n\n return <>;\n};\n\nconst MissingRequirementsSection = ({requirements}) => {\n const requirement = useMemo(\n () => pickMostImportantRequirement(requirements),\n [requirements],\n );\n\n return (\n
\n \n
\n );\n};\n\nconst RewardsBar = ({payoutToken, onChain, description, raffleTickets}) => (\n \n
\n
\n

{description}

\n
\n \n {payoutToken}\n {onChain ? (\n \"move\"\n ) : (\n \"coin\"\n )}\n \n
\n
\n Win\n \n {raffleTickets}\n \n \n \n just for playing!\n \n
\n \n);\n\nconst BracketEntry = ({\n id,\n isReady,\n title,\n description,\n onChain,\n href,\n entryToken,\n payoutToken,\n themes,\n dictOverrides,\n imgSrc,\n theme,\n refreshSecUTC,\n flashPlay,\n raffleTickets,\n missingRequirements,\n}) => {\n const {requirements = []} = missingRequirements;\n\n return (\n \n
\n {/* Header with game image, title, and play button */}\n \n \n\n
\n

\n {title}\n

\n\n
\n {themes.map((theme, i) => (\n \n {theme}\n
\n ))}\n {dictOverrides.length === 0 && (\n \n )}\n
\n
\n\n
\n {/* Play button or requirements */}\n {requirements.length > 0 ? (\n \n ) : (\n \n )}\n
\n \n\n {/* Rewards section with description and raffle tickets */}\n
\n \n
\n\n {/* Entry fee - smaller but still full width */}\n
\n
\n \n Entry Fee\n \n
\n \n {entryToken}\n \n {onChain ? (\n \"move\"\n ) : (\n \"coin\"\n )}\n
\n
\n
\n \n \n );\n};\n\nconst BracketList = ({brackets, refreshSecUTC, flashPlay}) => (\n \n {brackets.map((bracket) => (\n \n ))}\n \n);\n\nexport default BracketList;\n","\"use client\";\n\nimport BracketList from \"@/components/brackets/BracketList\";\nimport useIsReady from \"@/hooks/use-isReady\";\nimport {useWeb3EthBalance} from \"@/hooks/use-web3\";\nimport {\n getConnectedSubtitle,\n getCta,\n getHref,\n getHrefAction,\n getStatus,\n styles,\n} from \"@/util/bracket\";\nimport {useWeb3DepositAmount} from \"@/util/web3\";\nimport {\n fromWei,\n useAccount,\n useMpBracketRefreshSecUTC,\n useMpBrackets,\n useWeb3IsWalletConnected,\n useWeb3RefreshBalances,\n useWeb3SwitchChain,\n} from \"@spyre-io/js\";\nimport mixpanel from \"mixpanel-browser\";\nimport {useEffect, useMemo, useState} from \"react\";\nimport {useDispatch} from \"react-redux\";\n\n// todo: store latest in local storage\nconst hardCodedBrackets = [\n {\n id: 1,\n dictRotType: \"daily\",\n dictCount: 3,\n onChain: false,\n maxPenalties: 8,\n title: \"Loosen Up\",\n description: \"Free tier for new players.\",\n entryToken: 2,\n payoutToken: 3,\n platformFee: 1,\n words: [\n {wordMin: 5, wordMax: 12},\n {wordMin: 5, wordMax: 12},\n {wordMin: 5, wordMax: 12},\n ],\n boostWeights: [\n {id: 10, weight: 2},\n {id: 11, weight: 4},\n {id: 12, weight: 3},\n {id: 13, weight: 1},\n ],\n href: \"/match?bracketId=1\",\n imgSrc: \"/ui/select/bracket-loosen-up.png\",\n theme: \"blue\",\n difficulty: \"easy\",\n raffleTickets: 1,\n missingRequirements: [],\n },\n {\n id: 2,\n dictRotType: \"daily\",\n dictCount: 3,\n onChain: true,\n maxPenalties: 8,\n title: \"Challenge\",\n description: \"Bring the pain.\",\n entryToken: 0.6,\n payoutToken: 1,\n platformFee: 0.2,\n words: [\n {wordMin: 5, wordMax: 13},\n {wordMin: 5, wordMax: 13},\n {wordMin: 5, wordMax: 13},\n ],\n boostWeights: [\n {id: 10, weight: 2},\n {id: 11, weight: 4},\n {id: 12, weight: 3},\n {id: 13, weight: 1},\n ],\n href: \"/match?bracketId=2\",\n imgSrc: \"/ui/select/bracket-challenge.png\",\n theme: \"yellow\",\n difficulty: \"medium\",\n raffleTickets: 5,\n missingRequirements: [],\n },\n {\n id: 3,\n dictRotType: \"daily\",\n dictCount: 3,\n onChain: true,\n maxPenalties: 8,\n title: \"Hard Mode\",\n description: \"Put fear in their eyes.\",\n entryToken: 1.8,\n payoutToken: 3,\n platformFee: 0.6,\n words: [\n {wordMin: 7, wordMax: 13},\n {wordMin: 7, wordMax: 13},\n {wordMin: 7, wordMax: 13},\n ],\n boostWeights: [\n {id: 10, weight: 2},\n {id: 11, weight: 4},\n {id: 12, weight: 3},\n {id: 13, weight: 1},\n ],\n href: \"/match?bracketId=3\",\n imgSrc: \"/ui/select/bracket-hard-mode.png\",\n theme: \"red\",\n difficulty: \"hard\",\n raffleTickets: 10,\n missingRequirements: [],\n },\n];\n\nconst readHardCodedBrackets = () => {\n if (typeof window === \"undefined\") {\n return hardCodedBrackets;\n }\n\n const brackets = localStorage.getItem(\"hardCodedBrackets\");\n if (brackets) {\n return JSON.parse(brackets);\n }\n\n return hardCodedBrackets;\n};\n\nconst writeHardCodedBrackets = (brackets) => {\n if (typeof window === \"undefined\") {\n return;\n }\n\n localStorage.setItem(\"hardCodedBrackets\", JSON.stringify(brackets));\n};\n\nexport const readTutorialMatchStatus = () => {\n if (typeof window === \"undefined\") {\n return null;\n }\n\n const status = localStorage.getItem(\"tutorialMatchStatus\");\n if (status) {\n return JSON.parse(status).status;\n }\n\n // fallback to tutorials blob\n const tutorials = localStorage.getItem(\"tutorials\");\n if (tutorials) {\n if (JSON.parse(tutorials).initialized) {\n writeTutorialMatchStatus(\"started\");\n\n return \"started\";\n }\n }\n\n return \"not-started\";\n};\n\nexport const writeTutorialMatchStatus = (status) => {\n if (typeof window === \"undefined\") {\n return;\n }\n\n localStorage.setItem(\"tutorialMatchStatus\", JSON.stringify({status}));\n};\n\nexport default function SelectBracket() {\n const [brackets, setBrackets] = useState([]);\n const dispatch = useDispatch();\n const isReady = useIsReady();\n const {data: account} = useAccount();\n\n const ethWei = useWeb3EthBalance();\n const isWalletConnected = useWeb3IsWalletConnected();\n const switchChain = useWeb3SwitchChain();\n\n const ethBalance = useMemo(() => {\n if (!ethWei) {\n return 0;\n }\n\n return Number(fromWei(ethWei, 8));\n }, [ethWei]);\n const depositBalance = useWeb3DepositAmount();\n const refreshBalances = useWeb3RefreshBalances();\n\n const coins = account?.coins || 0;\n const tokenBalance = useMemo(() => {\n return ethBalance + depositBalance;\n }, [ethBalance, depositBalance]);\n\n // pull on mount\n useEffect(() => {\n setBrackets(readHardCodedBrackets());\n }, []);\n\n // refresh on mount\n useEffect(() => {\n refreshBalances();\n }, [refreshBalances]);\n\n // calculates meta for each bracket\n const refreshSecUTC = useMpBracketRefreshSecUTC();\n const {data: networkBrackets} = useMpBrackets();\n useEffect(() => {\n if (networkBrackets) {\n setBrackets(networkBrackets);\n writeHardCodedBrackets(networkBrackets);\n }\n }, [networkBrackets]);\n\n const bracketMeta = useMemo(\n () =>\n brackets.map((bracket) => {\n const status = getStatus({\n isReady,\n bracket,\n isWalletConnected,\n coins,\n tokenBalance,\n });\n\n const style = styles[status];\n const cta = getCta({\n bracket,\n isWalletConnected,\n isLoading: false,\n status,\n chainName: \"Base\",\n });\n const href = getHref({bracket, status});\n\n const hrefAction = getHrefAction({bracket, status, switchChain});\n\n const meta = {\n id: bracket.id,\n isReady,\n onChain: bracket.onChain,\n imgSrc: bracket.imgSrc,\n theme: bracket.theme,\n difficulty: bracket.difficulty,\n title: bracket.title,\n description: bracket.description,\n entryToken: bracket.entryToken,\n payoutToken: bracket.payoutToken,\n raffleTickets: bracket.raffleTickets,\n subtitle: getConnectedSubtitle(bracket),\n themes: bracket.dictNames || [\n \"Loading...\",\n \"Loading...\",\n \"Loading...\",\n ],\n dictOverrides: bracket.dictOverrides || [],\n hrefTarget: null,\n missingRequirements: bracket.missingRequirements,\n status,\n cta,\n style,\n href,\n hrefAction,\n };\n\n return meta;\n }),\n [brackets, isReady, isWalletConnected, coins, depositBalance, dispatch],\n );\n\n // tracking\n useEffect(() => {\n mixpanel.track(\"select/land\");\n\n /*const status = readTutorialMatchStatus();\n if (status === \"not-started\") {\n router.push(\"/tutorial\");\n }*/\n }, []);\n\n useEffect(() => {\n if (isReady) {\n mixpanel.track(\"select/loaded\");\n }\n }, [isReady]);\n\n return (\n
\n \n
\n );\n}\n","import {useRouter} from \"next/navigation\";\nimport {useMemo} from \"react\";\n\nconst themes = {\n green: {\n background: \"bg-green-0\",\n hoverBackground: \"hover:bg-green-1\",\n text: \"text-blue-2\",\n hoverText: \"hover:text-white-2\",\n },\n blue: {\n background: \"bg-blue-0\",\n hoverBackground: \"hover:bg-blue-1\",\n text: \"text-blue-2\",\n hoverText: \"hover:text-white-2\",\n },\n yellow: {\n background: \"bg-yellow-0\",\n hoverBackground: \"hover:bg-yellow-1\",\n text: \"text-blue-2\",\n hoverText: \"hover:text-white-2\",\n },\n [\"black-3\"]: {\n background: \"bg-black-3\",\n hoverBackground: \"hover:bg-black-4\",\n text: \"text-white-2\",\n hoverText: \"hover:text-white-2\",\n },\n};\n\nexport default function IconButton({\n message,\n IconClass,\n href,\n onClick,\n disabled,\n className = \"\",\n theme: themeName = \"green\",\n}) {\n const router = useRouter();\n\n const theme = useMemo(() => {\n if (themes[themeName]) {\n return themes[themeName];\n }\n\n return themes.green;\n }, [themeName]);\n\n const {background, hoverBackground, text, hoverText} = theme;\n\n return (\n {}\n : onClick\n ? onClick\n : href\n ? () => router.push(href)\n : () => {}\n }\n >\n {message}\n {IconClass && }\n \n );\n}\n","\"use client\";\n\nimport {XMarkIcon} from \"@heroicons/react/24/solid\";\nimport {\n useDiscordConnectionStatus,\n useDiscordIsGuildMember,\n useDiscordUnlink,\n useDiscordUsername,\n} from \"@spyre-io/js\";\nimport Link from \"next/link\";\nimport {useState} from \"react\";\nimport IconButton from \"../IconButton\";\nimport GenericDialog from \"../shared/GenericDialog\";\n\nexport function DiscordIcon({className}) {\n return (\n \n );\n}\n\nexport const discordLinkUrl = `https://discord.com/oauth2/authorize?client_id=${process.env.NEXT_PUBLIC_DISCORD_CLIENT_ID}&response_type=code&redirect_uri=${process.env.NEXT_PUBLIC_DISCORD_REDIRECT_URI}&scope=guilds.members.read+identify`;\n\nexport default function DiscordLinkButton() {\n const [isUnlinkOpen, setIsUnlinkOpen] = useState(false);\n\n const connectionStatus = useDiscordConnectionStatus();\n const userName = useDiscordUsername();\n const unlink = useDiscordUnlink();\n const isGuildMember = useDiscordIsGuildMember();\n\n if (connectionStatus === \"connecting\") {\n return (\n
\n \n Connecting...\n \n
\n );\n } else if (connectionStatus === \"connected\") {\n if (!isGuildMember) {\n return (\n \n
\n \n \n Join server\n \n
\n \n );\n }\n\n return (\n <>\n setIsUnlinkOpen(false)}\n className=\"flex flex-col gap-4 mx-2 py-4\"\n >\n
\n Unlink Discord\n
\n
\n Are you sure you want to unlink your Discord account? You may lose\n access to your Hangman account.\n
\n
\n {\n unlink.mutate();\n setIsUnlinkOpen(false);\n }}\n message=\"Unlink\"\n />\n
\n \n
\n \n \n {userName}\n \n
\n setIsUnlinkOpen(true)} />\n
\n
\n \n );\n }\n\n return (\n \n
\n \n \n Connect Discord\n \n
\n \n );\n}\n","import {Dialog, Transition} from \"@headlessui/react\";\nimport {Fragment} from \"react\";\n\nconst GenericDialog = ({\n isOpen,\n onClose,\n children,\n width = \"w-full\",\n className = \"\",\n backgroundImage = `url(\"/ui/compliance/bg.jpg\")`,\n}) => (\n \n \n {/* Background overlay */}\n \n
\n \n\n {/* Modal panel, animates in/out */}\n
\n
\n \n \n {children}\n \n \n
\n
\n
\n
\n);\n\nexport default GenericDialog;\n","import { useEffect, useRef } from 'react';\n \nfunction useInterval(callback, delay, deps = []) {\n const savedCallback = useRef();\n \n // Remember the latest callback.\n useEffect(() => {\n savedCallback.current = callback;\n }, [callback]);\n \n // Set up the interval.\n useEffect(() => {\n function tick() {\n savedCallback.current();\n }\n if (delay !== null) {\n let id = setInterval(tick, delay);\n return () => clearInterval(id);\n }\n }, [delay, ...deps]);\n}\n\nexport default useInterval;\n","\nimport { globalSelectors } from \"@/store/reducers/global\";\nimport { useIsConnected } from \"@spyre-io/js\";\nimport { useSelector } from \"react-redux\";\n\nconst useIsReady = () => {\n const isConnectedSuccessfully = useIsConnected();\n const { isSuccess: isInitedSuccessfully, } = useSelector(globalSelectors.selectInit);\n\n if (isConnectedSuccessfully && isInitedSuccessfully) {\n return true;\n }\n\n return false;\n}\n\nexport default useIsReady;\n","const {useClient} = require(\"@spyre-io/js\");\nconst {useSyncExternalStore} = require(\"react\");\n\nexport const useWeb3EthBalance = () => {\n const {web3} = useClient();\n const ethBalance = web3.ethBalance.value;\n\n return useSyncExternalStore(\n ethBalance.watch,\n ethBalance.getValue,\n ethBalance.getValue,\n );\n};\n","export const achievementValueTypeToName = {\n \"matches.played\": \"Matches Played\",\n \"matches.won\": \"Matches Won\",\n \"matches.boosts.used\": \"Boosts Used\",\n \"matches.boosts.earned\": \"Boosts Earned\",\n \"matches.letters.guessed\": \"Letters Guessed\",\n \"matches.letters.correct\": \"Letters Correct\",\n \"matches.words.solved\": \"Words Solved\",\n \"matches.coins.won\": \"Coins Won\",\n \"matches.cash.won\": \"Cash Won\",\n \"leaderboards.awards.won\": \"Leaderboard Awards Won\",\n \"raffles.awards.won\": \"Raffle Awards Won\",\n \"raffles.tickets.earned\": \"Raffle Tickets Earned\",\n \"raffles.tickets.used\": \"Raffle Tickets Used\",\n};\n\nexport const achievementSortOrder = [\n \"matches.played\",\n \"matches.won\",\n \"matches.boosts.used\",\n \"matches.boosts.earned\",\n \"matches.letters.guessed\",\n \"matches.letters.correct\",\n \"matches.words.solved\",\n \"matches.coins.won\",\n \"matches.cash.won\",\n \"leaderboards.awards.won\",\n \"raffles.awards.won\",\n \"raffles.tickets.earned\",\n \"raffles.tickets.used\",\n];\n","export const BracketStatus = {\n NOT_READY: \"NOT_READY\",\n READY: \"READY\",\n INSUFFICIENT_ERC20: \"INSUFFICIENT_ERC20\",\n INSUFFICIENT_DEPOSIT: \"INSUFFICIENT_DEPOSIT\",\n INSUFFICIENT_COINS: \"INSUFFICIENT_COINS\",\n CONNECT_WALLET: \"CONNECT_WALLET\",\n SWITCH_CHAINS: \"SWITCH_CHAINS\",\n};\n","import {BracketStatus} from \"@/constants/brackets\";\nimport Image from \"next/image\";\nimport {achievementSortOrder} from \"./achievements\";\n\nexport const getStatus = ({\n isReady,\n bracket,\n isWalletConnected,\n coins,\n tokenBalance,\n}) => {\n if (!isReady) {\n return BracketStatus.NOT_READY;\n }\n\n if (!bracket.onChain) {\n if (coins < bracket.entryToken) {\n return BracketStatus.INSUFFICIENT_COINS;\n }\n\n return BracketStatus.READY;\n }\n\n if (!isWalletConnected) {\n return BracketStatus.CONNECT_WALLET;\n }\n\n if (tokenBalance < bracket.entryToken) {\n return BracketStatus.INSUFFICIENT_ERC20;\n }\n\n return BracketStatus.READY;\n};\n\nexport const getCta = ({\n bracket,\n isWalletConnected,\n isLoading,\n status,\n chainName,\n}) => {\n if (isWalletConnected && isLoading) {\n return () => \"Loading...\";\n }\n\n switch (status) {\n case BracketStatus.NOT_READY: {\n return () => \"...\";\n }\n case BracketStatus.CONNECT_WALLET:\n case BracketStatus.READY: {\n if (bracket.onChain) {\n return () => (\n \n WIN ${bracket.payoutToken} \n \n );\n }\n\n return () => (\n \n WIN {bracket.payoutToken}\n \"coins\"\n \n );\n }\n case BracketStatus.INSUFFICIENT_COINS: {\n return () => (\n \n GET \n \"coins\"\n \n );\n }\n case BracketStatus.INSUFFICIENT_ERC20: {\n return () => (\n \n BUY \n \"erc20\"\n \n );\n }\n case BracketStatus.INSUFFICIENT_DEPOSIT: {\n return () => (\n DEPOSIT \n );\n }\n case BracketStatus.SWITCH_CHAINS: {\n return () => `Switch to ${chainName}`;\n }\n default: {\n return () => `Sign Up`;\n }\n }\n};\n\nexport const getHref = ({bracket, status}) => {\n if (status === BracketStatus.NOT_READY) {\n return \"\";\n }\n\n if (status === BracketStatus.INSUFFICIENT_ERC20) {\n return \"/buy\";\n }\n\n if (status === BracketStatus.INSUFFICIENT_DEPOSIT) {\n return \"/deposit\";\n }\n\n if (status === BracketStatus.INSUFFICIENT_COINS) {\n // ?\n }\n\n if (status === BracketStatus.CONNECT_WALLET) {\n return \"/connect\";\n }\n\n return `/match?bracketId=${bracket.id}`;\n};\n\nexport const getHrefAction = ({status, switchChain}) => {\n if (status === BracketStatus.SWITCH_CHAINS) {\n return async (evt) => {\n evt.preventDefault();\n\n try {\n await switchChain(requiredChainId);\n } catch {\n //\n }\n };\n }\n\n if (status === BracketStatus.INSUFFICIENT_COINS) {\n // todo: modal?\n return (evt) => {\n evt.preventDefault();\n };\n }\n\n return null;\n};\n\nexport const styles = {\n [BracketStatus.INSUFFICIENT_COINS]:\n \"text-indigo-400 bg-indigo-400/10 ring-indigo-400/30\",\n [BracketStatus.INSUFFICIENT_ERC20]:\n \"text-indigo-400 bg-indigo-400/10 ring-indigo-400/30\",\n [BracketStatus.INSUFFICIENT_DEPOSIT]:\n \"text-slate-400 bg-indigo-600/10 ring-slate-400/30\",\n [BracketStatus.CONNECT_WALLET]:\n \"text-green-400 bg-green-400/10 ring-green-400/30 hover:bg-green-200/10\",\n [BracketStatus.NOT_READY]:\n \"text-green-400 bg-red-400/10 ring-green-400/30 hover:bg-slate-800\",\n [BracketStatus.READY]:\n \"text-green-400 bg-red-400/10 ring-green-400/30 hover:bg-slate-800\",\n [BracketStatus.SWITCH_CHAINS]:\n \"text-indigo-400 bg-indigo-400/10 ring-indigo-400/30\",\n};\n\nexport const getDisplayValue = (value) => {\n if (typeof value === \"bigint\") {\n return getDisplayValueNumber(Number(value));\n }\n\n return getDisplayValueNumber(value);\n};\n\nconst getDisplayValueNumber = (value) => {\n if (isNaN(value)) {\n return \"0\";\n }\n\n const parsed = parseFloat(value).toFixed(1);\n const split = parsed.split(\".\");\n if (split[1] === \"0\") {\n return split[0];\n }\n\n return parsed;\n};\n\nexport const getConnectedSubtitle = ({onChain, entryToken}) => {\n if (onChain) {\n return (\n
\n

${entryToken}

\n

entry fee

\n
\n );\n }\n\n return (\n
\n \"coin\"\n

{entryToken}

\n

entry fee

\n
\n );\n};\n\nexport const getDisconnectedSubtitle = ({onChain, entryToken, payoutToken}) => {\n if (onChain) {\n return (\n
\n

WIN ${payoutToken}

\n
\n );\n }\n\n return (\n
\n

{entryToken}

\n \"coins\"\n

entry fee

\n
\n );\n};\n\nexport const pickMostImportantRequirement = (requirements) => {\n if (!requirements || !requirements.length) {\n return null;\n }\n\n const sorted = requirements.sort((a, b) => {\n if (a.type === \"achievement\") {\n if (b.type === \"achievement\") {\n const aIndex = achievementSortOrder.indexOf(a.id);\n const bIndex = achievementSortOrder.indexOf(b.id);\n\n if (aIndex !== -1 && bIndex !== -1) {\n return aIndex - bIndex;\n }\n\n if (aIndex !== -1) {\n return -1;\n }\n\n if (bIndex !== -1) {\n return 1;\n }\n\n return 0;\n }\n\n return -1;\n } else if (b.type === \"achievement\") {\n return 1;\n }\n\n return 0;\n });\n\n return sorted[0];\n};\n","import {fromWei, useAccount} from \"@spyre-io/js\";\nimport {BigNumber} from \"ethers\";\nimport {useMemo} from \"react\";\n\nconst isScalerOn = () => process.env.NEXT_PUBLIC_WEB3_SCALER_ON === \"true\";\n\nconst scaleConstant = 100000;\nconst scaleDown = (value) => {\n if (!value) {\n return BigNumber.from(0);\n }\n\n if (isScalerOn()) {\n return value.div(scaleConstant);\n }\n\n return value;\n};\n\nconst scaleUp = (value) => {\n if (!value) {\n return BigNumber.from(0);\n }\n\n if (isScalerOn()) {\n return value.mul(scaleConstant);\n }\n\n return value;\n};\n\nconst fromAmountData = (amount) => {\n if (!amount) {\n return BigNumber.from(0);\n }\n\n if (amount._isBigNumber) {\n return amount;\n }\n\n if (typeof amount === \"object\") {\n return BigNumber.from(0);\n }\n\n // if it's an object, return 0\n if (typeof amount === \"bigint\") {\n return BigNumber.from(amount);\n }\n\n return BigNumber.from(amount.replace(\"n\", \"\"));\n};\n\nexport const weiToCents = (wei) => Number(fromWei(wei, 4));\n\nexport const centsToString = (cents) => {\n const dollars = Math.floor(cents / 100);\n const remainder = cents % 100;\n return `${dollars}.${remainder.toString().padStart(2, \"0\")}`;\n};\n\nexport {fromAmountData, scaleDown, scaleUp};\n\nexport function useWeb3DepositAmount() {\n const {data: account} = useAccount();\n\n return useMemo(() => {\n if (!account) {\n return 0;\n }\n\n const wei = account.balances[\"token\"];\n if (!wei) {\n return 0;\n }\n\n return Number(fromWei(wei, 8));\n }, [account]);\n}\n","import * as React from \"react\";\nfunction ArrowPathIcon({\n title,\n titleId,\n ...props\n}, svgRef) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n fill: \"currentColor\",\n \"aria-hidden\": \"true\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n d: \"M4.755 10.059a7.5 7.5 0 0112.548-3.364l1.903 1.903h-3.183a.75.75 0 100 1.5h4.992a.75.75 0 00.75-.75V4.356a.75.75 0 00-1.5 0v3.18l-1.9-1.9A9 9 0 003.306 9.67a.75.75 0 101.45.388zm15.408 3.352a.75.75 0 00-.919.53 7.5 7.5 0 01-12.548 3.364l-1.902-1.903h3.183a.75.75 0 000-1.5H2.984a.75.75 0 00-.75.75v4.992a.75.75 0 001.5 0v-3.18l1.9 1.9a9 9 0 0015.059-4.035.75.75 0 00-.53-.918z\",\n clipRule: \"evenodd\"\n }));\n}\nconst ForwardRef = React.forwardRef(ArrowPathIcon);\nexport default ForwardRef;"],"names":["ForwardRef","React","WalletIcon","svgRef","title","titleId","props","Object","assign","xmlns","viewBox","fill","ref","id","d","EllipsisHorizontalIcon","strokeWidth","stroke","strokeLinecap","strokeLinejoin","LockClosedIcon","themeToBorderColor","blue","yellow","red","refreshTimeEpochUtc","className","seconds","setSeconds","useState","useInterval","Math","floor","diff","Date","nowUtcSeconds","getTime","hours","minutes","p","ArrowPathIcon","span","pad","secs","PlaySection","onChain","payoutToken","href","disabled","flashPlay","div","Link","onClick","e","preventDefault","img","src","alt","style","height","PlayIcon","button","RequirementRenderer","requirement","type","min","meta","params","name","useMemo","hasOwnProperty","description","achievementValueTypeToName","discordLinkUrl","MissingRequirementsSection","requirements","pickMostImportantRequirement","RewardsBar","raffleTickets","Image","width","BracketEntry","isReady","entryToken","themes","dictOverrides","imgSrc","theme","refreshSecUTC","missingRequirements","li","map","i","length","RefreshTimer","brackets","BracketList","ul","role","bracket","hardCodedBrackets","dictRotType","dictCount","maxPenalties","platformFee","words","wordMin","wordMax","boostWeights","weight","difficulty","readHardCodedBrackets","localStorage","getItem","JSON","parse","writeHardCodedBrackets","setItem","stringify","readTutorialMatchStatus","status","tutorials","initialized","SelectBracket","setBrackets","dispatch","useDispatch","useIsReady","data","account","useAccount","ethWei","useWeb3EthBalance","isWalletConnected","useWeb3IsWalletConnected","switchChain","useWeb3SwitchChain","ethBalance","Number","fromWei","depositBalance","useWeb3DepositAmount","refreshBalances","useWeb3RefreshBalances","coins","tokenBalance","useEffect","useMpBracketRefreshSecUTC","networkBrackets","useMpBrackets","bracketMeta","getStatus","styles","cta","getCta","isLoading","chainName","getHref","hrefAction","getHrefAction","subtitle","getConnectedSubtitle","dictNames","hrefTarget","mixpanel","green","background","hoverBackground","text","hoverText","IconButton","message","IconClass","themeName","router","useRouter","push","DiscordIcon","process","DiscordLinkButton","isUnlinkOpen","setIsUnlinkOpen","connectionStatus","useDiscordConnectionStatus","userName","useDiscordUsername","unlink","useDiscordUnlink","isGuildMember","useDiscordIsGuildMember","GenericDialog","isOpen","onClose","XMarkIcon","mutate","a","target","rel","children","backgroundImage","Transition","Root","show","as","Fragment","Dialog","Child","enter","enterFrom","enterTo","leave","leaveFrom","leaveTo","Panel","delay","deps","savedCallback","useRef","current","callback","setInterval","tick","clearInterval","isConnectedSuccessfully","useIsConnected","isSuccess","isInitedSuccessfully","useSelector","globalSelectors","selectInit","useClient","require","useSyncExternalStore","web3","value","watch","getValue","BracketStatus","NOT_READY","READY","INSUFFICIENT_ERC20","INSUFFICIENT_DEPOSIT","INSUFFICIENT_COINS","CONNECT_WALLET","SWITCH_CHAINS","evt","requiredChainId","getDisplayValueNumber","isNaN","parsed","parseFloat","toFixed","split","sort","b","aIndex","achievementSortOrder","indexOf","bIndex","weiToCents","wei","dollars","cents","remainder","toString","padStart","balances","fillRule","clipRule"],"sourceRoot":"","ignoreList":[0,1,2,15]}