{"version":3,"file":"static/chunks/pages/casino/crash-0c72f304b1e32455.js","mappings":"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","sources":["webpack://_N_E/./apis/casino/crash.ts","webpack://_N_E/./components/biz/FavoriteStar.tsx","webpack://_N_E/./components/features/casino/crash/PlayerBox/styles.ts","webpack://_N_E/./components/features/casino/crash/PlayerBox/useCrashMember.tsx","webpack://_N_E/./components/features/casino/crash/utils/index.ts","webpack://_N_E/./components/features/casino/game-info/index.tsx","webpack://_N_E/./components/features/casino/game-settings/styles.ts","webpack://_N_E/./components/features/casino/game-settings/VolumeSetting/styles.ts","webpack://_N_E/./components/features/casino/crash/BgSoundManage/crash-sound-event.ts","webpack://_N_E/./components/features/casino/game-settings/VolumeSetting/index.tsx","webpack://_N_E/./components/features/casino/game-settings/index.tsx","webpack://_N_E/./components/features/common/GameRecommended/index.tsx","webpack://_N_E/./components/ui/HowItWorks/index.tsx","webpack://_N_E/./components/ui/LazyLoadedResponsiveImage/index.tsx","webpack://_N_E/./components/ui/PopoverMsg/index.tsx","webpack://_N_E/./components/ui/WrappedTable/helper.ts","webpack://_N_E/./hooks/biz/casino/useFindMatchingGame.ts","webpack://_N_E/./hooks/biz/useLoginModal.ts","webpack://_N_E/./hooks/biz/useRecordRecentPlayed.ts","webpack://_N_E/./components/features/casino/crash/styles.ts","webpack://_N_E/./components/features/casino/crash/BgSoundManage/useCrashMusic.tsx","webpack://_N_E/./components/features/casino/crash/BetBox/useCrashBet.tsx","webpack://_N_E/./components/features/casino/crash/BetBox/BetBtn.tsx","webpack://_N_E/./components/features/casino/crash/BetBox/CrashStopAtAmount.tsx","webpack://_N_E/./components/features/casino/crash/BetBox/AutoBet.tsx","webpack://_N_E/./components/features/casino/crash/BetBox/useDisableInput.tsx","webpack://_N_E/./components/features/casino/crash/BetBox/index.tsx","webpack://_N_E/./components/features/casino/crash/GameBox/CrashMember/styles.ts","webpack://_N_E/./components/features/casino/crash/GameBox/CrashMember/index.tsx","webpack://_N_E/./components/features/casino/crash/GameBox/CrashHistory/DetailModal/styles.ts","webpack://_N_E/./components/ui/WrappedTable/style.ts","webpack://_N_E/./components/ui/WrappedTable/VirtualizedTable.tsx","webpack://_N_E/./components/features/casino/crash/PlayerBox/index.tsx","webpack://_N_E/./components/features/casino/crash/GameBox/CrashHistory/DetailModal/LeaderboardPanel.tsx","webpack://_N_E/./components/features/casino/crash/GameBox/CrashHistory/DetailModal/ResultPanel.tsx","webpack://_N_E/./components/features/casino/crash/GameBox/CrashHistory/DetailModal/CrashGameDetail.tsx","webpack://_N_E/./components/features/casino/crash/GameBox/CrashHistory/HistoryTable/styles.ts","webpack://_N_E/./components/features/casino/crash/GameBox/CrashHistory/HistoryTable/index.tsx","webpack://_N_E/./components/features/casino/crash/GameBox/CrashHistory/HistoryModal/styles.ts","webpack://_N_E/./components/features/casino/crash/GameBox/CrashHistory/HistoryModal/index.tsx","webpack://_N_E/./components/features/casino/crash/GameBox/CrashHistory/index.tsx","webpack://_N_E/./components/features/casino/crash/GameBox/CrashHistory/DetailModal/index.tsx","webpack://_N_E/./components/features/casino/crash/GameBox/PreviourRoundResult/index.tsx","webpack://_N_E/./public/assets/images/casino/crash/crash-work-step-1.png","webpack://_N_E/./public/assets/images/casino/crash/crash-work-step-2.png","webpack://_N_E/./public/assets/images/casino/crash/crash-work-step-3.png","webpack://_N_E/./public/assets/images/casino/crash/crash-work-step-4.png","webpack://_N_E/./components/features/casino/crash/CrashGameInfo/index.tsx","webpack://_N_E/./components/features/casino/crash/CrashCelebration/styles.ts","webpack://_N_E/./components/features/casino/crash/CrashCelebration/index.tsx","webpack://_N_E/./components/features/casino/crash/index.tsx","webpack://_N_E/./pages/casino/crash/index.tsx","webpack://_N_E/?bf79","webpack://_N_E/"],"sourcesContent":["import request from '../index';\n\nexport interface CrashBetRecordsBetItem {\n amount: number;\n cashOutAt: number;\n currency: string;\n gameId: number;\n payoutMultiplier: number;\n roundId: number;\n userId: number;\n userName: string;\n payout?: number;\n}\n\nexport interface BetbyJWTTokenBodyParams {\n amount: number;\n payoutMultiplier: number;\n currency: string;\n}\n\nexport const crashBet = async (data: BetbyJWTTokenBodyParams) => {\n return await request({\n url: '/api/game/crash/bet',\n method: 'post',\n data,\n });\n};\n\nexport const crashCancel = async (data: {\n amount: string;\n currency: string;\n payoutMultiplier: string;\n}) => {\n return await request({\n url: '/api/game/crash/cancel',\n method: 'POST',\n data,\n });\n};\n\nexport const crashCashout = async (payoutMultiplier: number) => {\n return await request({\n url: '/api/game/crash/cashout',\n method: 'POST',\n data: { payoutMultiplier },\n });\n};\n\nexport interface CrashBetRecords {\n bets: CrashBetRecordsBetItem[];\n totalAmount: number;\n totalPlayers: number;\n}\n\nexport const currentCrashBetRecords = async () => {\n return await request({\n url: '/api/game/crash/current/bet/records',\n method: 'POST',\n });\n};\n\nexport interface CrashGameRankItem {\n multiplier: number;\n payout: number;\n userId: number;\n userName: string;\n amount: number;\n}\n\nexport const crashGameRanks = async (data: {\n gameId: number;\n roundId: number;\n}) => {\n return await request({\n url: '/api/game/crash/game/rank',\n method: 'POST',\n data,\n });\n};\n\nexport interface CrashLatestGameItem {\n hash: string;\n id: string;\n result: string;\n roundId: string;\n seed: string;\n startTime: string;\n}\n\nexport interface CrashLatestGame {\n games: CrashLatestGameItem[];\n totalNum: number;\n isEnd: boolean;\n}\n\nexport const crashLatest = async (data: { page: number; pageSize: number }) => {\n return await request({\n url: '/api/game/crash/latest/games',\n method: 'POST',\n data,\n });\n};\n\n// export const crashSettle = async () => {\n// await request({ url: '/api/game-ws/crash/settle', method: 'POST' });\n// };\n// export const crashStart = async () => {\n// await request({ url: '/api/game-ws/crash/start', method: 'POST' });\n// };\n\nexport interface UserGamesItem {\n amount: number;\n currency: string;\n multiplier: number;\n payout: number;\n startTime: string;\n uid: number;\n}\n\nexport const crashUserGames = async (data: {\n gameId: number;\n page: number;\n pageSize: number;\n uid: number;\n}) => {\n return await request({\n url: '/api/game/crash/user/games',\n method: 'POST',\n data,\n });\n};\n\nexport const currentBet = () =>\n request<{ amount: number; payoutMultiplier: number; elapsed: number }>({\n url: '/api/game/crash/user/current/bet',\n method: 'POST',\n data: {},\n });\n","import { favouriteGame } from '@/apis/casino/games';\nimport { TGameListItem } from '@/apis/hub88';\nimport useFindMatchingGame from '@/hooks/biz/casino/useFindMatchingGame';\nimport useLoginModal from '@/hooks/biz/useLoginModal';\nimport {\n default as keysFactory,\n default as queryKeysFactory,\n} from '@/reactQueryKeys/keysFactory';\nimport queryClient from '@/reactQueryKeys/queryClient';\nimport { gameListSelector } from '@/state/globalSettings';\nimport { isLoggedIn } from '@/state/userInfo';\nimport useTheme from '@/theme/useTheme';\nimport { Star, StarBorder } from '@mui/icons-material';\nimport { Box, CircularProgress, Tooltip } from '@mui/material';\nimport { useMutation, useQuery } from '@tanstack/react-query';\nimport { useAtom, useAtomValue } from 'jotai/index';\nimport { useTranslation } from 'next-i18next';\n\nconst FavoriteStar: React.FC<{\n gameId: string;\n source?: TGameListItem['source'];\n}> = ({ gameId }) => {\n const [userLogin, showModal] = useLoginModal();\n\n const { theme } = useTheme();\n const [t] = useTranslation();\n\n const matchingGame = useFindMatchingGame(gameId);\n\n const favouriteGameParams = {\n gameId,\n provider: matchingGame?.provider,\n /**\n * 2 === Hub88\n */\n };\n\n const {\n data: favoriteData,\n refetch,\n isLoading: isLoadingFavourited,\n } = useQuery({\n queryKey: keysFactory.casino.isGameFavorited(gameId),\n queryFn: () => {\n return favouriteGame({\n ...favouriteGameParams,\n action: 'view',\n });\n },\n enabled: !!userLogin,\n });\n\n const isFavorite = favoriteData?.data?.favorite?.follow || false;\n const { mutate, isLoading: isLoadingFavourite } = useMutation(\n () => {\n return favouriteGame({\n ...favouriteGameParams,\n action: isFavorite ? 'unfollow' : 'follow',\n });\n },\n {\n onSuccess: (data) => {\n queryClient.setQueryData(\n keysFactory.casino.isGameFavorited(gameId),\n data,\n );\n queryClient.invalidateQueries(\n queryKeysFactory.casino.queryFavoriteGames(),\n );\n },\n },\n );\n\n const StarComponent =\n isLoadingFavourite || !matchingGame\n ? (props) => \n : isFavorite\n ? Star\n : StarBorder;\n\n if (!matchingGame) return null;\n\n return (\n \n \n {\n if (!userLogin) return showModal();\n mutate();\n }}\n />\n \n \n );\n};\n\nexport default FavoriteStar;\n","import { Typography, Box } from '@mui/material';\nimport { styled } from '@mui/material/styles';\n\nexport const StyledWrapper = styled(Box)(({ theme }) => ({\n // marginTop: '120px',\n minWidth: '320px',\n border: '1px solid rgba(255,255,255,0.15)',\n background: theme.palette.bg.secondary,\n borderRadius: '8px',\n padding: theme.spacing(2),\n height: '566px',\n display: 'flex',\n flexDirection: 'column',\n [theme.breakpoints.down('lg')]: {\n width: '100%',\n marginTop: theme.spacing(2),\n // order: 1,\n },\n [theme.breakpoints.down('md')]: {\n height: '320px',\n },\n}));\nexport const TableTotalWrapper = styled('div')(({ theme }) => ({\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n background: theme.palette.bg.main,\n padding: theme.spacing(1),\n [theme.breakpoints.down('lg')]: {\n marginTop: theme.spacing(2),\n },\n}));\n\nexport const CustomTypography = styled(Typography)(({ theme }) => ({\n display: 'flex',\n alignItems: 'center',\n '& > svg:first-of-type': {\n marginRight: theme.spacing(1),\n },\n '& > svg:last-of-type': {\n marginLeft: theme.spacing(1),\n },\n [theme.breakpoints.down('sm')]: {\n '&>span': {\n marginRight: '4px',\n },\n },\n}));\n\ninterface ExpandedWrapperProps {\n isExpanded?: boolean;\n}\n\nexport const ExpandedWrapper = styled('div')(\n ({ theme, isExpanded }) => ({\n // height: isExpanded ? '755px' : '0px',\n flex: 1,\n overflowY: 'auto',\n overflowX: 'hidden',\n transition: 'height 0.3s ease-in-out',\n borderRadius: theme.spacing(1),\n '& .MuiPaper-root>div': {\n padding: theme.spacing(1),\n backgroundColor: '#16161b!important',\n },\n '& .MuiTableCell-root': {\n backgroundColor: '#16161b!important',\n borderBottom: 'none!important',\n padding: '0!important',\n },\n '& td,& th': {\n padding: 0,\n paddingRight: theme.spacing(1),\n height: '24px',\n background: '#16161b',\n },\n '& thead td': {\n color: 'rgba(255,255,255,0.45)',\n },\n '& td:last-child,& th:last-child': {\n paddingRight: 0,\n },\n }),\n);\n\nexport const StyledUserItem = styled('span')(({ theme }) => ({\n display: 'inline-flex',\n '.MuiTypography-root': {\n width: '70px',\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n // textOverflow: 'ellipsis',\n },\n '&>span': {\n marginLeft: '2px',\n },\n}));\nexport const StyledProfitItem = styled('span')(\n ({ theme, green = false }) => ({\n display: 'inline-flex',\n '&>span': {\n marginRight: '4px',\n color: green ? theme.palette.green[500] : theme.palette.grey[50],\n },\n }),\n);\n","import { useEffect, useMemo } from 'react';\nimport { useAtom, useAtomValue, useSetAtom } from 'jotai';\nimport { gameMembers } from '../state/index';\nimport { ShowGameMemberItem } from '../types/crash';\nimport { isLoggedIn, userInfoState } from '@/state/userInfo';\nimport {\n CrashBetRecordsBetItem,\n currentCrashBetRecords,\n} from '@/apis/casino/crash';\nimport { useQuery } from '@tanstack/react-query';\nimport { getMultiplier } from '@/components/features/casino/crash/utils';\nimport { formatMoneyByCurrency } from '@/utils';\n\nexport const updateMemberList = (\n old: CrashBetRecordsBetItem[],\n added: CrashBetRecordsBetItem[],\n) => {\n const ids = old.map((item) => item.userId);\n const newList = [...old];\n added.forEach((item) => {\n if (!ids.includes(item.userId)) {\n //add\n newList.push(item);\n } else {\n //update\n const i = newList.findIndex((n) => n.userId === item.userId);\n newList.splice(i, 1, {\n ...newList[i],\n ...item,\n });\n }\n });\n return newList;\n};\n\nexport function formatMember(\n member: CrashBetRecordsBetItem,\n): ShowGameMemberItem {\n const amount = member.amount ? member.amount : 0;\n const cashOutAt = member.cashOutAt ? member.cashOutAt : 0;\n return {\n ...member,\n amount,\n cashOutAt,\n showPlayer: member.userName ? member.userName : 'hidden',\n showMultiplier: member.payoutMultiplier\n ? getMultiplier(member.payoutMultiplier)\n : '-',\n showBet: formatMoneyByCurrency(amount, { currency: member.currency }),\n showProfit: formatMoneyByCurrency(member.payout, {\n currency: member.currency,\n }),\n };\n}\n\nexport const useMemberList = () => {\n const loggedIn = useAtomValue(isLoggedIn);\n\n const { data: ranks, isLoading } = useQuery({\n queryKey: ['crash', 'memberList'],\n queryFn: async () => {\n const res = await currentCrashBetRecords();\n if (res.status.code === '0') {\n return res.data.bets.map((item) => formatMember(item));\n } else {\n return [];\n }\n },\n enabled: loggedIn,\n });\n const { userMetaData } = useAtomValue(userInfoState);\n const validateIsCurrentUser = (userId) => {\n if (!userMetaData) return false;\n return userMetaData?.uid === userId;\n };\n // refresh page\n useEffect(() => {\n if (!ranks) return;\n if (ranks?.length === 0) return;\n setMemberList(updateMemberList(memberList, ranks));\n }, [ranks]);\n\n const [memberList, setMemberList] = useAtom(gameMembers);\n\n const crashedMembers = useMemo(() => {\n return memberList.filter((item) => item.payout > 0);\n }, [memberList]);\n\n const clear = () => {\n setMemberList([]);\n };\n\n const init = (data) => {\n setMemberList(data);\n };\n const update = (added) => {\n if (!added) return;\n setMemberList(updateMemberList(memberList, added));\n };\n\n const list = memberList.map((item) => {\n const tmp = { ...formatMember(item) };\n const isCurrentUser = validateIsCurrentUser(item.userId);\n return {\n ...tmp,\n isHidden: item.userName === 'hidden',\n isCurrentUser,\n currentUserIsBet: isCurrentUser && item.amount > 0,\n showPlayer: isCurrentUser ? userMetaData?.name : item.userName,\n };\n });\n return {\n isLoading,\n memberList: list,\n crashedMembers: crashedMembers.map((item) => formatMember(item)),\n init,\n clear,\n update,\n };\n};\nexport const useUpdateMemberList = () => {\n const setMemberList = useSetAtom(gameMembers);\n return (added) => {\n if (!added) return;\n setMemberList((memberList) => {\n return updateMemberList(memberList, added);\n });\n };\n};\n\nexport const useClearMemberList = () => {\n const setMemberList = useSetAtom(gameMembers);\n return () => {\n setMemberList([]);\n };\n};\nexport const useInitMemberList = () => {\n const setMemberList = useSetAtom(gameMembers);\n return (data) => {\n setMemberList(data);\n };\n};\n","import { floorToN } from '@/components/features/casino/crash/GameBox/utils';\n\n/**\n *\n * @param x crashTime\n */\nexport function getY(x: number) {\n return Math.pow(2, x * 0.09);\n}\n\nexport function getMultiplier(multiplier: number, needX = true) {\n const suffix = needX ? ' x' : '';\n try {\n return floorToN(Number(multiplier)).toFixed(2) + suffix;\n } catch (e) {\n console.log(e);\n return '1.00x';\n }\n}\n","import {\n GameInfoContent,\n GameInfoHeader,\n GameInfoImageWrapper,\n GameInfoWrapper,\n StyledTextItem,\n} from './styles';\nimport { Box, Chip, Typography } from '@mui/material';\nimport React from 'react';\nimport { useTranslation } from 'next-i18next';\nimport ArrowRightIcon from '@mui/icons-material/ArrowRight';\nimport Image from 'next/image';\nimport useTheme from '@/theme/useTheme';\nimport { StyledTokenIcon } from '@/components/ui/common/TokenIcon';\n\ninterface GameInfoProps {\n title: string;\n gameId: string;\n children?: React.ReactNode;\n open?: boolean;\n}\n\nconst TextReplaceUSDT = ({ text }) => {\n const { t } = useTranslation();\n const list = text.split('USDT');\n return list.map((item, index) => {\n const isLast = index === list.length - 1;\n return (\n <>\n {t(item)}\n {!isLast && (\n \n )}\n \n );\n });\n};\nexport const useGameInfo = (info) => {\n const { t } = useTranslation();\n const { theme } = useTheme();\n const ComMap = {\n banner: (item, index) => {\n const { img, tag, desc } = item;\n const descriptions = Array.isArray(desc) ? desc : [desc];\n const lastIndex = descriptions.length - 1;\n return (\n \n \n {img.alt}\n \n\n \n {/**/}\n {descriptions.map((d, i) => (\n \n {t(d)}\n \n ))}\n \n \n );\n },\n list: (item, index) => {\n const { title, list } = item;\n return (\n \n \n {t(title)}\n \n \n {list.map((ele, i) => {\n if (typeof ele === 'string') {\n return (\n \n theme.palette.text.help,\n }}\n component={'span'}\n >\n {i + 1 + '. '}\n \n \n \n );\n } else {\n return ele;\n }\n })}\n \n \n );\n },\n image: (img, index) => {\n return (\n \n {img.alt}\n \n );\n },\n text: (text, index) => {\n const { content, no } = text;\n return (\n \n {no + '. '}\n \n {t(content)}\n \n \n );\n },\n title: (item, index) => {\n return (\n \n {t(item.content)}\n \n );\n },\n p: (item, index) => {\n return (\n \n \n \n );\n },\n };\n return info.map((item, index) => {\n return ComMap[item.type](item, index);\n });\n};\n\nexport default function GameInfo({ title, children, open }: GameInfoProps) {\n const [isOpen, setIsOpen] = React.useState(!!open);\n const toggle = () => {\n setIsOpen(!isOpen);\n };\n const { t } = useTranslation();\n\n return (\n \n \n \n {t(title)}\n theme.palette.border.primary,\n borderRadius: '8px',\n padding: '4px 8px',\n ml: '10px',\n }}\n >\n {t('MoonClub Originals')}\n \n \n {children}\n \n \n );\n}\n","import { Button, Checkbox } from '@mui/material';\nimport { styled } from '@mui/material/styles';\nimport Link from 'next/link';\n\nexport const SettingBox = styled('div')(({ theme }) => ({\n display: 'flex',\n height: '52px',\n justifyContent: 'space-between',\n alignItems: 'center',\n marginTop: theme.spacing(1),\n background: theme.palette.bg.secondary,\n border: theme.palette.border.normal,\n paddingLeft: theme.spacing(2),\n paddingRight: theme.spacing(2),\n borderRadius: theme.spacing(1),\n}));\n\nexport const SettingBoxLeft = styled('div')(({ theme }) => ({\n display: 'flex',\n alignItems: 'center',\n position: 'relative',\n gap: theme.spacing(1),\n '&::after': {\n content: '\"\"',\n position: 'absolute',\n width: '1px',\n height: '35px',\n background: theme.palette.grey['100'],\n opacity: 0.12,\n right: 0,\n marginRight: `-${theme.spacing(3)}`,\n },\n}));\nexport const SettingBoxCenter = styled('div')(({ theme }) => ({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n}));\n\nexport const SettingBoxRight = styled('div')(({ theme }) => ({\n fontSize: '14px',\n display: 'flex',\n alignItems: 'center',\n fontFamily: 'Readex Pro',\n fontWeight: 500,\n color: theme.palette.grey['50'],\n}));\n\nexport const StyledBtn = styled(Button)(({ theme }) => ({}));\n\nexport const StyledCheckbox = styled(Checkbox)(({ theme }) => ({\n // color: theme.palette.primary.contrastText,\n // '&.Mui-checked': {\n // color: theme.palette.primary.contrastText,\n // },\n}));\n\nexport const StyledLink = styled(Link)(({ theme }) => ({\n width: '84px',\n height: '32px',\n lineHeight: '32px',\n borderRadius: '8px',\n textAlign: 'center',\n fontSize: '13px',\n color: theme.palette.secondary.dark,\n border: `1px solid ${theme.palette.secondary.dark}`,\n transition: 'color 0.3s ease',\n '&:hover': {\n color: theme.palette.text.white,\n },\n}));\n","import { styled } from '@mui/material/styles';\n\nexport const VolumeWrapper = styled('div')(({ theme }) => ({\n minWidth: '200px',\n padding: theme.spacing(1, 2),\n display: 'flex',\n alignItems: 'center',\n '& .MuiSlider-root': {\n marginRight: theme.spacing(2),\n },\n}));\n","import busEvents from '@/helper/busEvents';\n\nexport const emitPlayCrashWinSound = () => {\n busEvents.emit('playCrashWinSound');\n};\nexport const onPlayCrashWinSound = (callback: () => void) => {\n busEvents.on('playCrashWinSound', callback);\n};\n\nexport const emitPlayCrashBetSound = () => {\n busEvents.emit('playCrashBetSound');\n};\nexport const onPlayCrashBetSound = (callback: () => void) => {\n busEvents.on('playCrashBetSound', callback);\n};\n\nexport const emitPlayCrashBgSound = () => {\n busEvents.emit('PlayCrashBgSound');\n};\nexport const emitStopCrashBgSound = () => {\n busEvents.emit('StopCrashBgSound');\n};\nexport const onStopCrashBgSound = (callback: () => void) => {\n busEvents.on('StopCrashBgSound', callback);\n};\nexport const onPlayCrashBgSound = (callback: () => void) => {\n busEvents.on('PlayCrashBgSound', callback);\n};\n","import { gameVolumeState } from '@/components/features/casino/crash/state';\nimport { VolumeDown } from '@mui/icons-material';\nimport VolumeOffIcon from '@mui/icons-material/VolumeOff';\nimport { IconButton, Popover, Slider, Popper } from '@mui/material';\nimport React from 'react';\nimport { useAtom } from 'jotai';\nimport { VolumeWrapper } from './styles';\nimport useTheme from '@/theme/useTheme';\nimport useMediaQuery from '@mui/material/useMediaQuery';\nimport {\n emitPlayCrashBgSound,\n emitStopCrashBgSound,\n} from '@/components/features/casino/crash/BgSoundManage/crash-sound-event';\nimport {\n emitPlayRushBgSound,\n emitStopRushBgSound,\n} from '@/components/features/casino/rush/BgSoundManage/sound-event';\n\n/**\n *\n * popover mouseover bug(fuck)\n * https://stackoverflow.com/questions/54705254/how-to-keep-showing-the-popover-on-hovering-on-the-anchorel-and-popover-as-w\n */\nconst VolumeSetting: React.FC = () => {\n const { theme } = useTheme();\n const isMobile = useMediaQuery(theme.breakpoints.down('sm'));\n\n const [anchorEl, setAnchorEl] = React.useState(null);\n const volumeBtnRef = React.useRef(null);\n\n const outTimerRef = React.useRef(null);\n const handleOpen = () => {\n setAnchorEl(volumeBtnRef.current);\n };\n\n const handleClose = () => {\n setAnchorEl(null);\n };\n\n const open = Boolean(anchorEl);\n const id = open ? 'volume-popover' : undefined;\n /* ====================== *\n * handle volume\n * ====================== */\n const [volume, setVolume] = useAtom(gameVolumeState);\n const isMute = volume === 0;\n const handleVolumeChange = (event, newValue) => {\n setVolume(newValue);\n };\n const onClickVolumeIcon = () => {\n handleMute();\n // if (isMobile) {\n // if (open) {\n // handleClose();\n // } else {\n // handleOpen();\n // // close popover after 1500ms\n // outTimerRef.current = setTimeout(() => {\n // handleClose();\n // }, 1500);\n // }\n // } else {\n // handleMute();\n // }\n };\n const handleMute = () => {\n if (isMute) {\n setVolume(20);\n emitPlayRushBgSound();\n emitPlayCrashBgSound();\n } else {\n setVolume(0);\n emitStopCrashBgSound();\n emitStopRushBgSound();\n }\n };\n /* ====================== *\n * show popover\n * ====================== */\n const onMouseEnter = () => {\n if (isMobile) return;\n clearTimeout(outTimerRef.current);\n handleOpen();\n };\n const onMouseLeave = () => {\n if (isMobile) return;\n outTimerRef.current = setTimeout(() => {\n handleClose();\n }, 500);\n };\n return (\n <>\n \n !isMute ? theme.palette.primary.main : 'rgba(255, 255, 255, 0.70)',\n }}\n >\n {isMute ? : }\n \n \n \n \n {volume}\n \n \n \n );\n};\n\nexport default VolumeSetting;\n","import { useTranslation } from 'next-i18next';\nimport React from 'react';\nimport {\n SettingBox,\n SettingBoxCenter,\n SettingBoxLeft,\n SettingBoxRight,\n} from './styles';\nimport VolumeSetting from './VolumeSetting';\nimport LocalizedLink from '@/components/ui/LocalizedLink';\nimport FavoriteStar from '@/components/biz/FavoriteStar';\nimport useRecordRecentPlayed from '@/hooks/biz/useRecordRecentPlayed';\nimport { getStaticAsset } from '@/utils/staticAsset';\nimport Image from 'next/image';\nimport { Button } from '@mui/material';\n\nexport interface CrashSettingBoxProps {\n isMob?: boolean;\n gameId: string;\n fairnessLink?: string;\n hideVolume?: boolean;\n}\n\nexport const GameSettings: React.FC = ({\n isMob,\n gameId,\n fairnessLink,\n hideVolume,\n}) => {\n const label = { inputProps: { 'aria-label': 'Checkbox demo' } };\n const { t } = useTranslation();\n useRecordRecentPlayed({ gameId });\n return (\n \n \n {!hideVolume && }\n \n \n \n \n \n \n \n theme.palette.border.normal,\n backgroundColor: '#2B3139',\n }}\n >\n {t('Fairness')}\n \n \n \n \n );\n};\n\nexport default GameSettings;\n","import GameCardCarousel from '@/components/features/common/GameCardCarousel';\nimport { useTranslation } from 'next-i18next';\nimport { useRouter } from 'next/router';\nimport { Box } from '@mui/material';\nimport { gameListSelector } from '@/state/globalSettings';\nimport { useAtomValue } from 'jotai';\n\nexport default function GameRecommended() {\n const { t } = useTranslation();\n\n const { list } = useAtomValue(gameListSelector);\n\n const { route, ...rest } = useRouter();\n // const games = () => {\n // const crash = {\n // name: 'Crash',\n // gameId: 'moonClub_crash',\n // category: 'MoonClub Game',\n // startUrl: '/casino/crash',\n // };\n // const rush = {\n // name: 'Moon Rush',\n // gameId: 'moonClub_rush',\n // category: 'MoonClub Game',\n // startUrl: '/casino/rush',\n // };\n // if (route.includes('crash')) {\n // return [rush];\n // } else if (route.includes('rush')) {\n // return [crash];\n // } else {\n // return [crash, rush];\n // }\n // };\n return (\n \n {\n return game.provider === 'SELF' && !route.includes(game.gameId);\n })}\n />\n \n );\n}\n","import { Button, Dialog, DialogContent, DialogTitle, Grid, Typography } from \"@mui/material\";\nimport { Box, Stack } from \"@mui/system\";\nimport useTheme from '@/theme/useTheme';\nimport { useState } from \"react\";\nimport { t } from \"i18next\";\nimport { useTranslation } from \"next-i18next\";\nimport LazyLoadedResponsiveImage from \"../LazyLoadedResponsiveImage\";\n\ninterface StepProps {\n imageSrc: string;\n text: string;\n }\n\n interface HowItWorksProps {\n steps: StepProps[];\n }\n \n const Step: React.FC = ({ imageSrc, text }) => {\n return (\n \n \n {text}\n \n );\n };\n\n const HowItWorks: React.FC = ({ steps }) => {\n const { theme } = useTheme();\n const [t] = useTranslation();\n\n const [open, setOpen] = useState(false);\n\n const handleClickOpen = () => {\n setOpen(true);\n };\n\n const handleClose = () => {\n setOpen(false);\n };\n\n return (\n \n \n How To Play\n \n \n \n \n \n HOW TO PLAY\n \n \n {steps.map((step, index) => (\n \n \n \n ))}\n \n \n \n \n \n \n \n );\n };\n\n\nexport default HowItWorks;\n","import React, { useState, useEffect, useRef, memo } from 'react';\nimport { Box, SxProps } from '@mui/material';\n\ninterface ImageProps {\n src: string;\n alt?: string;\n className?: string;\n width?: number;\n height?: number;\n sources: {\n srcSet: string;\n media: string;\n }[];\n placeholder?: string;\n errorPlaceholder?: string;\n sx?: SxProps;\n}\n\n// 使用 memo 包装组件以避免不必要的重新渲染\nexport const LazyLoadedResponsiveImage: React.FC = memo(\n ({\n src,\n alt = '',\n className,\n width = '100%',\n height = 'auto',\n sources,\n placeholder,\n errorPlaceholder,\n sx,\n }) => {\n const [loaded, setLoaded] = useState(false);\n const [error, setError] = useState(false);\n const [isVisible, setIsVisible] = useState(false);\n const imgRef = useRef(null);\n\n // 当图片加载完成时,更新状态以显示图片\n useEffect(() => {\n if (isVisible && imgRef.current) {\n const img = imgRef.current.querySelector('img');\n\n const handleLoad = () => {\n setLoaded(true);\n };\n\n const handleError = () => {\n setError(true);\n };\n\n if (img) {\n img.addEventListener('load', handleLoad);\n img.addEventListener('error', handleError);\n }\n\n return () => {\n if (img) {\n img.removeEventListener('load', handleLoad);\n img.removeEventListener('error', handleError);\n }\n };\n }\n }, [isVisible]);\n\n // 使用 IntersectionObserver 检测图片是否出现在视口中\n useEffect(() => {\n const observer = new IntersectionObserver(\n (entries) => {\n entries.forEach((entry) => {\n if (entry.isIntersecting) {\n setIsVisible(true);\n }\n });\n },\n {\n threshold: 0.1,\n },\n );\n\n if (imgRef.current) {\n observer.observe(imgRef.current);\n }\n\n return () => {\n if (imgRef.current) {\n observer.unobserve(imgRef.current);\n }\n };\n }, []);\n\n return (\n \n {/* 为每个 media 查询生成 source 元素 */}\n {sources.map((source, index) => (\n \n ))}\n {/* 如果图片加载出错,则显示 errorPlaceholder,否则显示占位符或原始图片 */}\n \n \n );\n },\n);\n\nLazyLoadedResponsiveImage.displayName = 'LazyLoadedResponsiveImage';\n\nexport default LazyLoadedResponsiveImage;\n\n// Example:\n// const Example = () => (\n// \n// );\n//\n// export default Example;\n","import React, { useState } from 'react';\nimport { useTranslation } from 'next-i18next';\nimport { Popover, Typography } from '@mui/material';\n\nexport interface PopoverMsgProps {\n anchorEl: HTMLElement | null;\n msg?: string;\n}\nconst PopoverMsg: React.FC = ({\n anchorEl,\n msg = 'Copied!',\n}) => {\n const { t } = useTranslation();\n return (\n <>\n \n \n {t(msg)}\n \n \n \n );\n};\n\nexport default PopoverMsg;\n","import { sliderIn } from '@/components/features/casino/crash/GameBox/PreviourRoundResult/styles';\n\nexport const getTableRowProps = (item: any, loading?: boolean) => {\n return {\n sx: {\n animation: item.animateItem ? `${sliderIn} 0.3s ease-in-out` : undefined,\n opacity: loading ? 0.5 : undefined,\n pointerEvents: loading ? 'none' : undefined,\n },\n onAnimationStart: (e) => {\n if (e.animationName === sliderIn.name) {\n item.animateItem = false;\n }\n },\n };\n};\n","import { TGameListItem } from '@/apis/hub88';\nimport { gameListSelector } from '@/state/globalSettings';\nimport { useAtom } from 'jotai';\n\n/**\n * use game id or game slug to find the matching game from gamelist state\n * also see: apps/web/utils/biz/mapFavoriteOrRecentToLocal.ts:11,43 when updating this hooks\n */\nconst useFindMatchingGame = (\n gameIdOrSlug: string | number,\n): TGameListItem | undefined => {\n const [{ list }] = useAtom(gameListSelector);\n\n const stringifiyedGameId = String(gameIdOrSlug).toLowerCase();\n\n const matchingGame = list.find(\n (game) =>\n game.slug.toLowerCase() === stringifiyedGameId ||\n game.gameId.toLowerCase() === stringifiyedGameId,\n );\n\n return matchingGame;\n};\n\nexport default useFindMatchingGame;\n","import { GLOBAL_MODALS, globalModals } from '@/state/globalSettings';\nimport { isLoggedIn } from '@/state/userInfo';\nimport { useAtomValue, useSetAtom } from 'jotai';\n\nconst useLoginModal = () => {\n const setModals = useSetAtom(globalModals);\n const isLogin = useAtomValue(isLoggedIn);\n\n return [\n isLogin,\n () =>\n setModals({\n [GLOBAL_MODALS.LOGIN]: true,\n }),\n ] as const;\n};\n\nexport default useLoginModal;\n","import { useEffect } from 'react';\nimport { recordGameVisit } from '@/apis/casino/games';\nimport { useAtomValue } from 'jotai/index';\nimport { gameListSelector } from '@/state/globalSettings';\nimport queryClient from '@/reactQueryKeys/queryClient';\nimport queryKeysFactory from '@/reactQueryKeys/keysFactory';\nimport { userInfoState } from '@/state/userInfo';\nimport useFindMatchingGame from './casino/useFindMatchingGame';\n\nconst useRecordRecentPlayed = (game: { gameId: string }) => {\n const { list } = useAtomValue(gameListSelector);\n\n const { isUserLoading, userMetaData } = useAtomValue(userInfoState);\n\n const matchingGame = useFindMatchingGame(game.gameId);\n\n useEffect(() => {\n if (isUserLoading || !userMetaData?.token || !list.length || !matchingGame)\n return;\n recordGameVisit(matchingGame?.gameId, matchingGame?.provider);\n return () => {\n queryClient.invalidateQueries(\n queryKeysFactory.casino.queryUserFootprint(),\n );\n };\n }, [game.gameId, matchingGame?.provider, isUserLoading, userMetaData, list]);\n};\n\nexport default useRecordRecentPlayed;\n","import { Box } from '@mui/material';\nimport { styled } from '@mui/material/styles';\n\nexport const FeatureCasinoCrash = styled(Box)(({ theme }) => ({}));\n\nexport const CasinoCrashGameBox = styled('main')(({ theme }) => ({\n display: 'flex',\n paddingTop: theme.spacing(1),\n\n [theme.breakpoints.down('lg')]: {\n flexDirection: 'column',\n flexWrap: 'wrap',\n },\n}));\n\nexport const CasinoCrashGameBoxItemLeft = styled('div')(({ theme }) => ({\n flex: 1,\n marginRight: theme.spacing(2),\n // maxWidth: '794px',\n [theme.breakpoints.down('lg')]: {\n maxWidth: 'none',\n width: '100%',\n padding: 'none',\n marginRight: 'none',\n },\n}));\n\nexport const CasinoCrashGameBoxItemRight = styled('div')(({ theme }) => ({\n width: '282px',\n // minWidth: '282px',\n flex: 1,\n [theme.breakpoints.down('lg')]: {\n width: '100%',\n padding: 'none',\n marginRight: 'none',\n maxWidth: 'none',\n },\n}));\n\nexport const CasinoCrashSettingBox = styled(Box)(({ theme }) => ({\n display: 'flex',\n justifyContent: 'space-around',\n alignItems: 'center',\n marginTop: theme.spacing(3),\n background: theme.palette.grey['900'],\n padding: theme.spacing(3),\n}));\n\nexport const GameWrapper = styled(Box)(({ theme }) => ({\n // border: '1px solid rgba(255, 255, 255, 0.12)',\n // paddingTop: '121px',\n borderRadius: '8px 8px 0 0',\n overflow: 'hidden',\n background: theme.palette.bg.main,\n paddingRight: theme.spacing(1),\n position: 'relative',\n backgroundImage: `url('/assets/images/casino/crash/crash-bg-new.png')`,\n backgroundRepeat: 'no-repeat',\n backgroundSize: '100%',\n [theme.breakpoints.down('lg')]: {\n paddingTop: 0,\n },\n}));\n\n// SettingBoxConfig, SettingBoxLogo, SettingBoxFairness\nexport const SettingBoxConfig = styled(Box)(({ theme }) => ({\n width: '100%',\n // background: theme.palette.grey['900'],\n}));\n\nexport const SettingBoxLogo = styled(Box)(({ theme }) => ({\n display: 'inline-flex',\n}));\n\nexport const SettingBoxFairness = styled(Box)(({ theme }) => ({\n display: 'inline-flex',\n}));\n\nexport const GameBoxWrapper = styled(Box)(({ theme }) => ({\n minHeight: '388px', //这里设置最小高度是为了让游戏盒子在没有游戏的时候也能够撑起来\n [theme.breakpoints.down('md')]: {\n minHeight: '250px',\n },\n}));\n","import useSound from 'use-sound';\nimport { gameVolumeState } from '@/components/features/casino/crash/state';\nimport { useAtomValue } from 'jotai';\nimport { usePageVisibility } from '@/hooks/usePageVisibility';\nimport { useEffect } from 'react';\n\nexport const useCrashBgSound = () => {\n const globalVolume = useAtomValue(gameVolumeState);\n const [play, { sound: bgSound, pause, stop }] = useSound(\n '/audios/crash/bg.mp3',\n {\n volume: globalVolume / 100,\n loop: true,\n interrupt: true,\n },\n );\n\n const playCrashBg = () => {\n if (bgSound && bgSound.playing()) {\n // console.log('crash bg is playing return');\n return;\n } else {\n if (globalVolume === 0) {\n // console.log('crash bg volume is 0 return');\n return;\n }\n play();\n }\n };\n\n const isPageActive = usePageVisibility();\n useEffect(() => {\n if (isPageActive) {\n if (globalVolume === 0) {\n console.log('crash bg volume is 0 return');\n return;\n }\n playCrashBg();\n } else {\n pause();\n }\n }, [isPageActive]);\n\n useEffect(() => {\n return () => {\n stop();\n };\n }, [bgSound]);\n\n return {\n playCrashBg: playCrashBg,\n pauseCrashBg: pause,\n };\n};\n\nexport const useCrashBetSound = () => {\n const globalVolume = useAtomValue(gameVolumeState);\n const [playCrashBetSound, { sound, pause, stop }] = useSound(\n '/audios/rush/bet.mp3',\n {\n volume: globalVolume / 100,\n interrupt: true,\n },\n );\n return {\n playCrashBetSound,\n };\n};\n\nexport const useCrashWinSound = () => {\n const globalVolume = useAtomValue(gameVolumeState);\n const [playCrashWinSound, { sound, pause, stop }] = useSound(\n '/audios/rush/win.mp3',\n {\n volume: globalVolume / 100,\n interrupt: true,\n },\n );\n return {\n playCrashWinSound,\n };\n};\n","import React, { useCallback, useEffect, useMemo, useState } from 'react';\nimport { useTimeout } from 'ahooks';\nimport {\n autoBetState,\n autoCrashOutAtState,\n bettedAmountState,\n crashedTimeState,\n multiplierState,\n nextRoundBetValueState,\n noBetState,\n noNextRoundBetState,\n stopAtState,\n} from '../state';\nimport { BetParams, GameStatus } from '../types/crash';\nimport { crashBet, crashCashout, currentBet } from '@/apis/casino/crash';\nimport { Multiply } from '@/utils/decimal/operations';\nimport { useMutation } from '@tanstack/react-query';\nimport { useAtom, useAtomValue, useSetAtom } from 'jotai';\nimport { useQuery } from '@tanstack/react-query';\nimport { useCelebration } from '@/components/features/casino/game-celebration';\nimport { queryClient } from '@/reactQueryKeys/queryClient';\nimport useTheme from '@/theme/useTheme';\nimport {\n currentCurrencyState,\n isTemporaryLoginWithoutToken,\n} from '@/state/userInfo';\nimport { formatMoneyByCurrency } from '@/utils';\nimport { getCrashDecimal } from '@/constants/decimal';\nimport { floorToNString } from '@/components/features/casino/crash/GameBox/utils';\nimport {\n useCrashBetSound,\n useCrashBgSound,\n useCrashWinSound,\n} from '@/components/features/casino/crash/BgSoundManage/useCrashMusic';\nimport useBindEmailOrLogin from '@/hooks/useBindEmailOrLogin';\n\ninterface CommonProps {\n sx: Record;\n}\n\nexport const useBetStyle = (isPc) => {\n const { theme } = useTheme();\n const sx = useMemo(() => {\n if (isPc) {\n return {\n height: '114px',\n width: '100%',\n display: 'flex',\n flexDirection: 'column',\n };\n } else {\n return {\n height: '53px',\n width: '100%',\n marginTop: '8px',\n display: 'flex',\n flexDirection: 'column',\n };\n }\n }, [isPc, theme]);\n const commonProps: CommonProps = useMemo(() => {\n return {\n sx,\n };\n }, [sx]);\n return commonProps;\n};\n\nexport const useReloadBetState = (userLoggedIn) => {\n const [flag, setFlag] = useState(false);\n // need to wait for resetState(GameBox:530) to finish\n useTimeout(() => {\n setFlag(true);\n }, 2000);\n const setBettedAmount = useSetAtom(bettedAmountState);\n const setStopAtValue = useSetAtom(stopAtState);\n const setCrashedTime = useSetAtom(crashedTimeState);\n const { data: curBet } = useQuery({\n enabled: userLoggedIn && flag,\n queryKey: ['curCrashBet'],\n queryFn: async () => {\n const res = await currentBet();\n return res.data ? res.data : 0;\n },\n staleTime: 0,\n refetchOnWindowFocus: false,\n });\n useEffect(() => {\n if (curBet) {\n console.log('curBet', curBet);\n const { amount, payoutMultiplier, elapsed } = curBet;\n setBettedAmount(amount);\n setStopAtValue(payoutMultiplier);\n if (elapsed && elapsed > 0) {\n setCrashedTime(Number(elapsed) / 1000);\n }\n }\n }, [curBet]);\n};\n\nexport const useBet = ({\n userLoggedIn,\n betAmount,\n stopAt,\n gameStatus,\n openLoginModal,\n currentCurrency,\n}) => {\n const { playCrashBg, pauseCrashBg } = useCrashBgSound();\n const { playCrashBetSound } = useCrashBetSound();\n const { requirementToBindEmailOrLogin } = useBindEmailOrLogin();\n\n const [nextRoundBetValue, setNextRoundBetValue] = useAtom(\n nextRoundBetValueState,\n );\n const noNextRoundBet = useAtomValue(noNextRoundBetState);\n const hasNextRoundBet = !noNextRoundBet;\n\n const [bettedAmount, setBettedAmount] = useAtom(bettedAmountState);\n const noBet = useAtomValue(noBetState);\n const hasBet = !noBet;\n\n const [stopAtValue, setStopAtValue] = useAtom(stopAtState);\n const setCrashedTime = useSetAtom(crashedTimeState);\n const [autoBet] = useAtom(autoBetState);\n\n const { mutate: betMutate, isLoading: betLoading } = useMutation(\n (data: BetParams) => {\n if (!data.payoutMultiplier) {\n delete data.payoutMultiplier;\n }\n return crashBet(data);\n },\n {\n onSuccess: (res) => {\n if (res.status.code === '0') {\n setBettedAmount(res.data.amount);\n if (res.data.payoutMultiplier && res.data.payoutMultiplier > 1) {\n setStopAtValue(res.data.payoutMultiplier);\n }\n }\n },\n },\n );\n\n const handleBet = () => {\n if (requirementToBindEmailOrLogin()) return;\n playCrashBg();\n playCrashBetSound();\n // emitPlayCrashBgSound();\n // emitPlayCrashBetSound();\n betMutate({\n amount: betAmount,\n currency: currentCurrency,\n payoutMultiplier: stopAt,\n });\n //调用接口\n };\n\n const handleBetNextRound = () => {\n if (requirementToBindEmailOrLogin()) return;\n playCrashBg();\n playCrashBetSound();\n // emitPlayCrashBgSound();\n // emitPlayCrashBetSound();\n setNextRoundBetValue(betAmount);\n };\n\n const handleCancel = () => {\n setNextRoundBetValue(-1);\n };\n //🐔next round bet\n useEffect(() => {\n if (!userLoggedIn) return;\n if (gameStatus === GameStatus.Starting && hasNextRoundBet) {\n betMutate(\n {\n amount: nextRoundBetValue,\n currency: currentCurrency,\n payoutMultiplier: stopAt,\n },\n {\n onSuccess: (res: any) => {\n setBettedAmount(res.data.amount);\n setStopAtValue(res.data.payoutMultiplier);\n setNextRoundBetValue(-1);\n },\n onError: () => {\n setNextRoundBetValue(-1);\n },\n },\n );\n }\n }, [gameStatus, nextRoundBetValue, hasNextRoundBet, stopAt, userLoggedIn]);\n\n //🐔auto bet\n useEffect(() => {\n if (!userLoggedIn) return;\n if (betLoading) return;\n if (gameStatus === GameStatus.Starting && autoBet && noBet) {\n // nextRoundBet与autoBet会冲突,导致调用两次bet接口\n if (hasNextRoundBet) return;\n betMutate({\n amount: betAmount,\n currency: currentCurrency,\n payoutMultiplier: stopAt,\n });\n }\n }, [\n gameStatus,\n autoBet,\n noBet,\n stopAt,\n hasNextRoundBet,\n betLoading,\n userLoggedIn,\n ]);\n\n //🐔清空上一局的bet value\n //注意:在Staring阶段刷新页面时,会出现把当前局的betValue也清空的情况,下面的代码是为了处理这个问题\n useEffect(() => {\n if (gameStatus === GameStatus.Starting) {\n setBettedAmount(-1);\n }\n }, [gameStatus, setBettedAmount]);\n // 🐔fix:处理因页面刷新导致的bet value丢失\n useReloadBetState(userLoggedIn);\n\n return {\n hasNextRoundBet,\n nextRoundBetValue,\n noBet,\n hasBet,\n bettedAmount,\n betLoading,\n handleBet,\n handleBetNextRound,\n handleCancel,\n };\n};\n\nexport const useCrashOut = ({ noBet, bettedAmount, gameStatus }) => {\n const { playCrashWinSound } = useCrashWinSound();\n const { celebrate } = useCelebration();\n const [crashedTime, setCrashedTime] = useAtom(crashedTimeState);\n const multiplier = useAtomValue(multiplierState);\n const [stopAtValue, setStopAtValue] = useAtom(stopAtState);\n const currentCurrency = useAtomValue(currentCurrencyState);\n const autoCrashOut = useAtomValue(autoCrashOutAtState);\n\n const profit = useMemo(() => {\n if (bettedAmount === 0) return 0;\n const decimal = getCrashDecimal(currentCurrency);\n return floorToNString(\n Number(Multiply(multiplier, bettedAmount, 8)),\n decimal,\n );\n }, [bettedAmount, multiplier, currentCurrency]);\n\n const resetStopAtState = () => {\n setStopAtValue(null);\n };\n const { mutate: crashOutMutate, isLoading: crashLoading } = useMutation(\n (multiplier: number) => {\n return crashCashout(multiplier);\n },\n {\n onSuccess: (res: any) => {\n if (res.data) {\n const { elapsed, payout, currency, cashOutAt } = res.data;\n setCrashedTime(Number(elapsed) / 1000);\n // emitPlayCrashWinSound();\n playCrashWinSound();\n\n resetStopAtState();\n const profit = formatMoneyByCurrency(payout, { currency });\n Number(profit) > 0 &&\n celebrate({\n profit: profit + ' ' + currency,\n multiplier: Number(cashOutAt),\n });\n }\n },\n retry: 0,\n onError: () => {\n resetStopAtState();\n },\n },\n );\n const handleCrashOut = () => {\n crashOutMutate(multiplier);\n };\n\n //🐔自动crashOut(保证只调用一次)\n // @BUG::登录的时候会自动调用该接口\n useEffect(() => {\n if (gameStatus !== GameStatus.InProgress) return;\n if (noBet) return;\n if (crashedTime) return;\n if (crashLoading) return;\n if (!autoCrashOut) return;\n if (!stopAtValue) return;\n if (Number(stopAtValue) === 0) return;\n if (Number(multiplier) >= Number(stopAtValue)) {\n crashOutMutate(multiplier);\n resetStopAtState();\n }\n }, [\n stopAtValue,\n multiplier,\n noBet,\n handleCrashOut,\n crashedTime,\n crashLoading,\n gameStatus,\n ]);\n\n return {\n autoCrashOut,\n crashedTime,\n profit,\n multiplier,\n crashLoading,\n handleCrashOut,\n };\n};\n","import { useTranslation } from 'next-i18next';\nimport React, { useMemo } from 'react';\nimport { gameRoundIdAtom, gameStatusState, stopAtState } from '../state';\nimport { GameStatus } from '../types/crash';\nimport { DebugBoxWrapper, StyledBetBtn } from './styles';\nimport { CircularProgress, Typography } from '@mui/material';\nimport { useAtom, useAtomValue, useSetAtom } from 'jotai';\nimport { useRouter } from 'next/router';\nimport { currentCurrencyState, userInfoState } from '@/state/userInfo';\nimport { useBet, useBetStyle, useCrashOut } from './useCrashBet';\nimport { GLOBAL_MODALS, globalModals } from '@/state/globalSettings';\nimport { getCrashDecimal } from '@/constants/decimal';\nimport { floorToNString } from '@/components/features/casino/crash/GameBox/utils';\nimport { StyledTokenIcon } from '@/components/ui/common/TokenIcon';\nimport useBindEmailOrLogin from '@/hooks/useBindEmailOrLogin';\n\ninterface BetBtnProps {\n betAmount: number;\n stopAt: number;\n isPc: boolean;\n}\n\nconst BetBtn: React.FC = ({ stopAt, betAmount, isPc }) => {\n const currentCurrency = useAtomValue(currentCurrencyState);\n const decimal = getCrashDecimal(currentCurrency);\n const { t } = useTranslation();\n const betCurrency = floorToNString(betAmount, decimal);\n const gameRoundId = useAtomValue(gameRoundIdAtom);\n\n const { requirementToBindEmailOrLogin } = useBindEmailOrLogin();\n // const betCurrency = floorToN(betAmount, 2);\n const { userMetaData } = useAtomValue(userInfoState);\n const userLoggedIn = !!userMetaData?.token;\n const setModals = useSetAtom(globalModals);\n\n const openLoginModal = () => {\n setModals({\n [GLOBAL_MODALS.LOGIN]: true,\n });\n };\n\n const [gameStatus] = useAtom(gameStatusState);\n\n const commonProps = useBetStyle(isPc);\n\n const {\n hasNextRoundBet,\n nextRoundBetValue,\n hasBet,\n noBet,\n bettedAmount,\n betLoading,\n handleBet,\n handleBetNextRound,\n handleCancel,\n } = useBet({\n userLoggedIn,\n openLoginModal,\n betAmount: betCurrency,\n stopAt,\n gameStatus,\n currentCurrency,\n });\n const [stopAtValue, setStopAtValue] = useAtom(stopAtState);\n\n const {\n autoCrashOut,\n crashedTime,\n profit,\n multiplier,\n crashLoading,\n handleCrashOut,\n } = useCrashOut({\n noBet,\n bettedAmount,\n gameStatus,\n });\n\n const disabled = useMemo(() => {\n return !!(\n [GameStatus.Starting, GameStatus.Start, GameStatus.Pending].includes(\n gameStatus,\n ) && hasBet\n );\n }, [gameStatus, hasBet]);\n\n const router = useRouter();\n const { debug } = router.query;\n const DebugBox = () => {\n const statusStrMap = {\n [GameStatus.Init]: 'Init',\n [GameStatus.Starting]: 'Starting',\n [GameStatus.Pending]: 'Pending',\n [GameStatus.Start]: 'Start',\n [GameStatus.InProgress]: 'InProgress',\n [GameStatus.Crash]: 'Crash',\n };\n const StateBox = ({ value, initValue, setInfo, useInfo, resetInfo }) => {\n const olStyle = {\n marginBottom: 0,\n marginTop: 0,\n marginLeft: -10,\n };\n return (\n
  • \n stopAtState:{value}\n
      \n initial: {initValue}\n
    \n
      \n set? {setInfo}\n
    \n
      \n use? {useInfo}\n
    \n
      \n reset? {resetInfo}\n
    \n
  • \n );\n };\n const stopAtStateInfo = {\n value: String(stopAtValue),\n initValue: 'null',\n setInfo: '1. when bet 2. reload page',\n useInfo: 'auto crashout',\n resetInfo: '1.auto crashout 2. disable switch',\n };\n\n return (\n <>\n {typeof debug !== 'undefined' && (\n \n form value:\n
  • bet:{betAmount}
  • \n
  • stopAt:{stopAt}
  • \n game state:\n
  • gameRoundId:{gameRoundId}
  • \n
  • status:{statusStrMap[gameStatus]}
  • \n state value:\n \n
  • nextBettAmount:{nextRoundBetValue}
  • \n
  • betAmount:{bettedAmount}
  • \n
  • crashedTime:{crashedTime}
  • \n
  • autoCrashOut:{autoCrashOut ? 'true' : 'false'}
  • \n
  • noBet:{noBet ? 'true' : 'false'}
  • \n
    \n )}\n \n );\n };\n\n const NextRoundBtn = useMemo(() => {\n const prop = hasNextRoundBet\n ? {\n onClick: handleCancel,\n text: 'Cancel',\n }\n : {\n onClick: handleBetNextRound,\n text: 'Bet (Next Round)',\n };\n return (\n \n {t(prop.text)}\n \n {betCurrency}\n \n \n \n );\n }, [\n hasNextRoundBet,\n handleCancel,\n handleBetNextRound,\n commonProps,\n t,\n betAmount,\n betCurrency,\n ]);\n\n const BtnContent = useMemo(() => {\n // ---1 Countdown\n if (\n [GameStatus.Starting, GameStatus.Pending, GameStatus.Start].includes(\n gameStatus,\n )\n ) {\n return (\n \n {betLoading ? (\n \n ) : (\n <>\n {t('Bet')}\n \n {/**/}\n {betCurrency}\n \n \n \n )}\n \n );\n } else if (gameStatus === GameStatus.InProgress) {\n //--- 2 running\n //2-1\n if (hasBet && !crashedTime) {\n return (\n \n {crashLoading ? (\n \n ) : (\n <>\n \n {t('Cash Out')} @{multiplier}\n \n \n {profit}\n \n \n \n )}\n \n );\n } else {\n //2-2\n return NextRoundBtn;\n }\n } else {\n //3 OverGame Settlement\n return NextRoundBtn;\n }\n }, [\n gameStatus,\n betLoading,\n betAmount,\n hasBet,\n nextRoundBetValue,\n crashedTime,\n profit,\n commonProps,\n multiplier,\n betCurrency,\n currentCurrency,\n ]);\n\n return (\n <>\n {BtnContent}\n \n \n );\n};\n\nexport default BetBtn;\n","import {\n BetBoxSetion,\n StyledButton,\n StyledButtonGroup,\n StyledInputLabel,\n StyledTextField,\n StopAtSection,\n} from '@/components/features/casino/crash/BetBox/styles';\nimport { useTranslation } from 'next-i18next';\nimport { Add, Precision, Subtract } from '@/utils/decimal/operations';\nimport {\n autoBetState,\n autoCrashOutAtState,\n gameStatusState,\n stopAtState,\n} from '@/components/features/casino/crash/state';\nimport { useAtom, useSetAtom, useAtomValue } from 'jotai';\nimport React, { useEffect, useMemo, useState } from 'react';\nimport { NumericFormat } from 'react-number-format';\nimport { GameStatus } from '@/components/features/casino/crash/types/crash';\nimport useDisableInput from '@/components/features/casino/crash/BetBox/useDisableInput';\nimport { MoonSwitch } from '@/components/ui/MoonSwitch';\n\ninterface FormFields {\n stopAt: number;\n}\n\nenum StopAtOperate {\n Add,\n Subtract,\n}\n\nexport default function CrashStopAtAmount({ defaultAmount, onChange }) {\n const { t } = useTranslation();\n\n const minStopAt = 1.01;\n const defaultAutoCrashOutAtValue = 200;\n const [stopAt, setStopAt] = useState(defaultAmount);\n const setStopAtState = useSetAtom(stopAtState);\n const resetStopAtState = () => {\n setStopAtState(null);\n };\n useEffect(() => {\n onChange(stopAt);\n }, [stopAt]);\n const [autoCrashOutAt, setAutoCrashOutAt] = useAtom(autoCrashOutAtState);\n\n useEffect(() => {\n if (autoCrashOutAt) {\n setStopAt(stopAt ? stopAt : defaultAutoCrashOutAtValue);\n } else {\n setStopAt('');\n resetStopAtState();\n }\n }, [autoCrashOutAt, stopAt]);\n\n const handleStopAt = (operate: StopAtOperate) => {\n if (!autoCrashOutAt) return;\n const step = 1;\n let stopAtValue = stopAt;\n if (!stopAtValue) {\n stopAtValue = 1;\n }\n\n if (operate === StopAtOperate.Add) {\n if (stopAtValue === minStopAt) {\n stopAtValue = 1;\n }\n setStopAt(Add(stopAtValue, step, Precision.two));\n } else {\n setStopAt(\n Math.max(minStopAt, Subtract(stopAtValue, step, Precision.two)),\n );\n }\n };\n\n const controllerDisabled = !autoCrashOutAt;\n\n const materialUITextFieldProps = {\n sx: (theme) => ({\n [theme.breakpoints.down('md')]: {\n '& .MuiInputBase-root': {\n height: '30px',\n alignSelf: 'center',\n mr: 1,\n },\n },\n }),\n };\n\n return (\n \n \n {t('Auto Cash Out At')}\n setAutoCrashOutAt(e.target.checked)}\n />\n \n \n {\n if (values.floatValue && values.floatValue >= minStopAt) {\n setStopAt(values.floatValue);\n }\n }}\n onBlur={(e) => {\n //border processing\n if (e.target.value === '') {\n setStopAt(defaultAutoCrashOutAtValue);\n } else {\n const amount = parseFloat(\n String(e.target.value).replace('x', '').trim(),\n );\n if (amount < minStopAt) {\n setStopAt(minStopAt);\n }\n }\n }}\n placeholder={\n controllerDisabled\n ? `${t('Cash out at')}`\n : `${defaultAutoCrashOutAtValue} x`\n }\n allowNegative={false}\n decimalScale={2}\n fixedDecimalScale={false}\n customInput={StyledTextField}\n {...materialUITextFieldProps}\n >\n ({\n cursor: controllerDisabled ? 'not-allowed' : '',\n mt: 1,\n [theme.breakpoints.down('md')]: {\n mt: 0,\n height: '52px',\n },\n })}\n >\n handleStopAt(StopAtOperate.Subtract)}\n >\n -\n \n handleStopAt(StopAtOperate.Add)}\n >\n +\n \n \n \n \n );\n}\n","import { StyledInputLabel } from '@/components/features/casino/crash/BetBox/styles';\nimport { useTranslation } from 'next-i18next';\nimport { autoBetState } from '@/components/features/casino/crash/state';\nimport { useAtom, useAtomValue } from 'jotai';\nimport { SxProps } from '@mui/material';\nimport React, { useEffect } from 'react';\nimport { MoonSwitch } from '@/components/ui/MoonSwitch';\n\nexport default function AutoBet({ sx }: { sx?: SxProps }) {\n const { t } = useTranslation();\n const [autoBet, setAutoBet] = useAtom(autoBetState);\n const onToggleAutoBet = () => {\n setAutoBet(!autoBet);\n };\n useEffect(() => {\n return () => {\n setAutoBet(false);\n };\n }, []);\n return (\n \n {t('Autobet')}\n \n \n );\n}\n","import { useAtom, useAtomValue } from 'jotai/index';\nimport {\n crashedTimeState,\n gameStatusState,\n noBetState,\n noNextRoundBetState,\n} from '@/components/features/casino/crash/state';\nimport { useMemo } from 'react';\nimport { GameStatus } from '@/components/features/casino/crash/types/crash';\n\nexport const useDisableInput = () => {\n const gameStatus = useAtomValue(gameStatusState);\n const hasBet = !useAtomValue(noBetState);\n const hasNextRoundBet = !useAtomValue(noNextRoundBetState);\n const [crashedTime] = useAtom(crashedTimeState);\n\n const disabled = useMemo(() => {\n if (gameStatus === GameStatus.Starting && hasBet) {\n return true;\n }\n if (gameStatus === GameStatus.InProgress && hasBet && !crashedTime) {\n return true;\n }\n return hasNextRoundBet;\n }, [gameStatus, hasBet, hasNextRoundBet, crashedTime]);\n\n return disabled;\n};\n\nexport default useDisableInput;\n","import { useTheme } from '@mui/material/styles';\nimport useMediaQuery from '@mui/material/useMediaQuery';\nimport { useTranslation } from 'next-i18next';\nimport React, { useMemo, useState } from 'react';\nimport { useAtom, useAtomValue } from 'jotai';\nimport {\n crashedTimeState,\n gameStatusState,\n noBetState,\n noNextRoundBetState,\n} from '../state';\nimport { GameStatus } from '../types/crash';\nimport BetBtn from './BetBtn';\nimport { BetBoxContainer, StyledSwitchSection } from './styles';\nimport CrashBetAmount from './CrashBetAmount';\nimport CrashStopAtAmount from '@/components/features/casino/crash/BetBox/CrashStopAtAmount';\nimport AutoBet from '@/components/features/casino/crash/BetBox/AutoBet';\nimport useDisableInput from '@/components/features/casino/crash/BetBox/useDisableInput';\n\nconst BetBox: React.FC = () => {\n const { t } = useTranslation();\n const theme = useTheme();\n const isPc = useMediaQuery(theme.breakpoints.up('md'));\n const DEFAULT_BET_AMOUNT = 1;\n const DEFAULT_STOP_AT = null;\n const [betAmount, setBetAmount] = useState(DEFAULT_BET_AMOUNT);\n const [stopAt, setStopAt] = useState(DEFAULT_STOP_AT);\n const disabled = useDisableInput();\n\n return (\n \n {!isPc ? (\n \n ) : null}\n setBetAmount(amount)}\n ssx={{\n flex: 1,\n }}\n />\n setStopAt(amount)}\n />\n \n {isPc ? : null}\n {isPc ? (\n \n ) : null}\n {isPc ? null : }\n \n \n );\n};\nexport default BetBox;\n","import { keyframes, styled } from '@mui/material/styles';\n\nexport const CrashMemberWrapper = styled('div')(({ theme }) => ({\n position: 'absolute',\n right: theme.spacing(3),\n top: '45%',\n transition: 'opacity .5s',\n [theme.breakpoints.down('md')]: {\n transform: 'scale(.6)',\n transformOrigin: 'right top',\n },\n}));\n\nexport const fadeIn = keyframes`\n 0% {\n opacity: 0;\n transform: scale(.2);\n }\n 100% {\n opacity: 1;\n transform: scale(1);\n }\n`;\n\ninterface AnimatedItemProp {\n opacity: number;\n}\n\nexport const AnimatedItem = styled('div')(\n ({ theme, opacity }) => ({\n animation: `${fadeIn} 0.15s`,\n padding: `${theme.spacing(1)} ${theme.spacing(2)}`,\n background: theme.palette.grey[800],\n borderRadius: '20px',\n marginBottom: theme.spacing(1),\n opacity: opacity,\n transition: 'opacity .5s',\n '& svg': {\n marginLeft: theme.spacing(0.25),\n },\n }),\n);\n","import React, { useEffect, useState } from 'react';\n\nimport { useMemberList } from '@/components/features/casino/crash/PlayerBox/useCrashMember';\nimport {\n crashedMemberAtom,\n gameStatusState,\n} from '@/components/features/casino/crash/state';\nimport {\n GameStatus,\n ShowGameMemberItem,\n} from '@/components/features/casino/crash/types/crash';\nimport { Box, Typography } from '@mui/material';\nimport { useAtom, useAtomValue } from 'jotai';\nimport { AnimatedItem, CrashMemberWrapper } from './styles';\nimport MoneyWithCurrencyIcon from '@/components/biz/MoneyWithCurrencyIcon';\n\nconst CrashMember: React.FC = () => {\n const MAX_MEMBER_NUM = 4;\n const [gameStatus, setGameStatus] = useAtom(gameStatusState);\n const [curList, setCurList] = useState([]);\n const crashedMembers = useAtomValue(crashedMemberAtom);\n useEffect(() => {\n if (crashedMembers.length === 0) {\n setCurList([]);\n return;\n }\n setCurList((prev) => {\n const newList = [...prev];\n const set = new Set(newList.map((item) => item.userId));\n const latestElement = crashedMembers[crashedMembers.length - 1];\n // 防止重复添加\n if (set.has(latestElement.userId)) {\n return newList;\n }\n\n if (newList.length >= MAX_MEMBER_NUM) {\n newList.pop();\n }\n newList.unshift(crashedMembers[crashedMembers.length - 1] as any);\n return newList;\n });\n }, [crashedMembers.length]);\n\n const opacityMap = [1, 1, 0.8, 0.5];\n if (curList.length === 0) return null;\n if ([GameStatus.InProgress, GameStatus.Crash].includes(gameStatus)) {\n return (\n \n \n {curList.map((item, index) => (\n // @ts-ignore\n \n {item.showPlayer}\n theme.palette.green['500'],\n display: 'inline-flex',\n alignItems: 'center',\n ml: 0.5,\n }}\n component={'span'}\n >\n \n \n \n ))}\n \n \n );\n } else {\n return <>;\n }\n};\n\nexport default CrashMember;\n","import { Tab, Tabs } from '@mui/material';\nimport { styled } from '@mui/material/styles';\n\nexport const StyledTabs = styled(Tabs)(({ theme }) => ({}));\n\nexport const StyledTab = styled(Tab)(({ theme }) => ({\n fontFamily: 'Readex Pro',\n}));\n\nexport const StyledTableWrapper = styled('div')(({ theme }) => ({\n // height: isExpanded ? '755px' : '0px',\n overflow: 'hidden',\n transition: 'height 0.3s ease-in-out',\n borderRadius: theme.spacing(1),\n '& .MuiPaper-root>div': {\n padding: theme.spacing(1),\n },\n '& td,& th': {\n padding: 0,\n paddingRight: theme.spacing(1),\n height: '24px',\n borderBottomWidth: 0,\n },\n '& td:last-child,& th:last-child': {\n paddingRight: 0,\n },\n '& .MuiTableCell-root': {\n borderBottom: 'none',\n },\n}));\n","import { Box } from '@mui/material';\nimport { styled } from '@mui/material/styles';\n\nexport const UIVirtualizedTableWrapper = styled(Box)<{\n height?: number | string;\n bgcolor?: string;\n}>(({ theme, height, bgcolor }) => ({\n height: height,\n width: '100%',\n backgroundColor: bgcolor,\n backgroundImage: 'none',\n boxShadow: 'none',\n '& .MuiTableCell-root': {\n backgroundColor: bgcolor,\n borderBottom: `1px solid ${theme.palette.grey[800]}`,\n },\n '& .MuiTableCell-head': {\n backgroundColor: bgcolor,\n },\n '& .MuiTableHead-root': {},\n '& .MuiTableRow-root': {},\n '& .MuiPaper-root,& .MuiPaper-root>div': {\n backgroundColor: bgcolor,\n backgroundImage: 'none',\n boxShadow: 'none',\n overflowX: 'hidden',\n },\n}));\n","import Paper from '@mui/material/Paper';\nimport Skeleton from '@mui/material/Skeleton';\nimport { useTheme } from '@mui/material/styles';\nimport Table from '@mui/material/Table';\nimport TableBody from '@mui/material/TableBody';\nimport TableCell from '@mui/material/TableCell';\nimport TableContainer from '@mui/material/TableContainer';\nimport TableRow from '@mui/material/TableRow';\nimport { forwardRef, memo } from 'react';\nimport { TableComponents, TableVirtuoso } from 'react-virtuoso';\nimport { UIVirtualizedTableWrapper } from './style';\nimport { ColumnProps } from '@/components/ui/WrappedTable/index';\nimport { getTableRowProps } from '@/components/ui/WrappedTable/helper';\n\ntype TableRowData> = T;\n\nexport interface ColumnData> {\n dataKey: keyof T;\n title: React.ReactNode;\n numeric?: boolean;\n width: number | string;\n align?: 'left' | 'right' | 'center';\n render?: (index: number, value: any, row: T) => React.ReactNode;\n}\n\nfunction fixedHeaderContent>(\n columns: ColumnProps>[],\n) {\n return (\n \n {columns.map((column) => (\n \n {column.title}\n \n ))}\n \n );\n}\n\nconst VirtuosoTableComponents: TableComponents<\n TableRowData,\n { fixedHead?: boolean }\n> = {\n // eslint-disable-next-line react/display-name\n Scroller: forwardRef((props, ref) => (\n \n )),\n Table: (props) => (\n \n ),\n TableHead: forwardRef(({ style, ...props }, ref) => (\n \n )),\n TableRow: ({ item: _item, ...props }) => {\n return (\n {\n // if (e.animationName === sliderIn.name) {\n // _item.animateItem = false;\n // }\n // }}\n />\n );\n },\n // eslint-disable-next-line react/display-name\n TableBody: forwardRef((props, ref) => (\n \n )),\n};\n\nfunction rowContent>(\n _index: number,\n row: TableRowData,\n columns: ColumnProps[],\n loading: boolean,\n) {\n return (\n <>\n {columns.map((column, index) => (\n ({\n backgroundColor: 'transparent',\n borderBottom: 'none',\n ...theme.typography.subtitle2,\n color: theme.palette.text.primary,\n height: theme.spacing(7),\n width: column.width,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n })}\n >\n {loading ? (\n \n ) : (\n column.render?.(index, row[column.dataKey], row) ||\n row[column.dataKey]\n )}\n \n ))}\n \n );\n}\n\nexport interface VirtualizedTableProps> {\n /**\n * height of table\n */\n height: string;\n /**\n * data of table\n */\n data: T[];\n /**\n * columns of table\n */\n columns: ColumnProps[];\n fixedHead?: boolean;\n /**\n * loading state\n */\n loading?: boolean;\n /**\n * show skeleton rows when loading\n */\n skeletonRowCount?: number;\n /**\n * background color\n */\n bgcolor?: string;\n}\n\nexport function VirtualizedTable>(\n props: VirtualizedTableProps,\n) {\n const theme = useTheme();\n const {\n data,\n columns,\n height = '400px',\n loading = false,\n skeletonRowCount = 8,\n fixedHead = false,\n bgcolor = theme.palette.grey[800],\n } = props;\n\n const rowCount = loading ? skeletonRowCount : data.length;\n\n const skeletonRows = Array.from({ length: rowCount }).map((_, index) => (\n \n {columns.map((column) => (\n \n \n \n ))}\n \n ));\n\n const dataSources = loading ? skeletonRows : data;\n\n return (\n \n \n data={dataSources}\n context={{ fixedHead }}\n components={VirtuosoTableComponents}\n fixedHeaderContent={() => fixedHeaderContent(columns as any)}\n itemContent={(index, tableData) =>\n rowContent(index, tableData, columns, loading)\n }\n />\n \n );\n}\n\nVirtualizedTable.displayName = 'VirtualizedTable';\n\nexport default memo(VirtualizedTable) as typeof VirtualizedTable;\n","import {\n CustomTypography,\n ExpandedWrapper,\n StyledProfitItem,\n StyledUserItem,\n TableTotalWrapper,\n StyledWrapper,\n} from '@/components/features/casino/crash/PlayerBox/styles';\nimport { ShowGameMemberItem } from '@/components/features/casino/crash/types/crash';\nimport VirtualizedTable, {\n ColumnData,\n} from '@/components/ui/WrappedTable/VirtualizedTable';\nimport KeyboardArrowDownIcon from '@mui/icons-material/KeyboardArrowDown';\n// import PeopleIcon from '@mui/icons-material/People';\nimport { CasinoPerson as PeopleIcon } from '@crownbit/icons';\nimport { Box, Typography, useMediaQuery, Tooltip } from '@mui/material';\nimport { useTheme } from '@mui/material/styles';\nimport React from 'react';\nimport { useTranslation } from 'next-i18next';\nimport { useMemberList } from './useCrashMember';\nimport { StyledTokenIcon } from '@/components/ui/common/TokenIcon';\nimport { formatMoneyByCurrency } from '@/utils';\nimport { floorToN } from '@/components/features/casino/crash/GameBox/utils';\nimport { Add } from '@/utils/decimal/operations';\nimport { currentCurrencyState } from '@/state/userInfo';\nimport { useAtomValue } from 'jotai';\nimport MoneyWithCurrencyIcon from '@/components/biz/MoneyWithCurrencyIcon';\n\n// import { formatCurrency } from '@coingecko/cryptoformat';\nexport function getPlayerTableColumn(t, firstMember = null) {\n const columns: ColumnData[] = [\n {\n width: 82,\n title: t('Player'),\n dataKey: 'showPlayer',\n align: 'left',\n render: (index, value, row) => {\n const showTooltip = value?.length >= 10;\n return (\n \n {/*{row.showPlayer !== 'hidden' ? '' : }*/}\n {showTooltip ? (\n \n \n row?.isCurrentUser\n ? theme.palette.primary.main\n : theme.palette.text.primary,\n }}\n variant=\"body2\"\n >\n {value}\n \n \n ) : (\n \n row?.isCurrentUser\n ? theme.palette.primary.main\n : theme.palette.text.primary,\n }}\n variant=\"body2\"\n >\n {value}\n \n )}\n \n );\n },\n },\n {\n width: 45,\n title: t('Bet'),\n dataKey: 'showBet',\n numeric: true,\n align: 'center',\n },\n {\n width: 45,\n title: '@',\n dataKey: 'cashOutAt',\n align: 'right',\n render: (index, value, row) => {\n return (\n \n {Number(value) == 0 ? '-' : {floorToN(value, 2) + 'x'}}\n \n );\n },\n },\n\n {\n width: 95,\n title: t('Profit'),\n dataKey: 'showProfit',\n align: 'right',\n numeric: true,\n render: (index, value, row) => {\n return (\n \n \n \n );\n },\n },\n ];\n return columns;\n}\n\nexport const PlayerBox: React.FC = () => {\n const theme = useTheme();\n const isMob = useMediaQuery(theme.breakpoints.down('lg'));\n const { t } = useTranslation();\n\n const currentCurrency = useAtomValue(currentCurrencyState);\n\n const [loading, setLoading] = React.useState(false);\n const { memberList } = useMemberList();\n // highlight current user when has bet\n const playerList = React.useMemo(() => {\n const curBetUserIndex = memberList.findIndex(\n (item) => item.currentUserIsBet,\n );\n if (curBetUserIndex !== -1) {\n return [\n memberList[curBetUserIndex],\n ...memberList.slice(0, curBetUserIndex),\n ...memberList.slice(curBetUserIndex + 1),\n ];\n } else {\n return memberList;\n }\n }, [memberList]);\n\n const columns = getPlayerTableColumn(t);\n\n const playerCount = React.useMemo(() => {\n return memberList.length;\n }, [memberList]);\n //TODO: 不同货币单位统一的问题\n const totalAmount = React.useMemo(() => {\n return memberList\n .map((item) => item.amount)\n .reduce((prev, cur) => Add(prev, cur), 0);\n }, [memberList]);\n\n const [expanded, setExpanded] = React.useState(true);\n const toggleExpand = () => {\n setExpanded(!expanded);\n };\n const playerBoxHeight = isMob ? '320px' : '566px';\n\n return (\n \n \n \n \n {playerCount}\n \n \n \n {formatMoneyByCurrency(totalAmount, { currency: currentCurrency })}\n \n \n {isMob && }\n \n \n \n \n \n \n );\n};\n\nexport default PlayerBox;\n","import { Box } from '@mui/material';\nimport { useTheme } from '@mui/material/styles';\nimport React from 'react';\nimport { useTranslation } from 'next-i18next';\nimport { useQuery } from '@tanstack/react-query';\n\ninterface CrashGameDetailProps {\n detail: CrashLatestGameItem;\n}\n\nimport { StyledTableWrapper } from '@/components/features/casino/crash/GameBox/CrashHistory/DetailModal/styles';\nimport { getPlayerTableColumn } from '@/components/features/casino/crash/PlayerBox';\nimport { formatMember } from '@/components/features/casino/crash/PlayerBox/useCrashMember';\nimport VirtualizedTable from '@/components/ui/WrappedTable/VirtualizedTable';\nimport { crashGameRanks, CrashLatestGameItem } from '@/apis/casino/crash';\n\nconst LeaderboardPanel: React.FC = ({ detail }) => {\n const { t } = useTranslation();\n const columns = getPlayerTableColumn(t);\n const theme = useTheme();\n\n const { data: ranks, isLoading } = useQuery({\n queryKey: ['crashGameRanks', detail.id, detail.roundId],\n queryFn: async () => {\n const res: any = await crashGameRanks({\n gameId: Number(detail.id),\n roundId: Number(detail.roundId),\n });\n if (res.status.code === '0') {\n return res.data.ranks.map((item) => formatMember(item));\n } else {\n return [];\n }\n },\n });\n return (\n theme.palette.grey[950] }}>\n \n \n \n \n );\n};\n\nexport default LeaderboardPanel;\n","import React, { useState } from 'react';\nimport CTextField from '@/components/ui/CTextField';\nimport PopoverMsg from '@/components/ui/PopoverMsg';\nimport { copyToClipboard } from '@/utils';\nimport ContentCopyIcon from '@mui/icons-material/ContentCopy';\nimport {\n Box,\n Button,\n FormControl,\n IconButton,\n InputAdornment,\n Typography,\n} from '@mui/material';\nimport { useRouter } from 'next/router';\nimport { useTranslation } from 'next-i18next';\nimport { CrashLatestGameItem } from '@/apis/casino/crash';\nimport { getMultiplier } from '@/components/features/casino/crash/utils';\n\nimport LocalizedLink from '@/components/ui/LocalizedLink';\n\ninterface CrashGameDetailProps {\n detail: CrashLatestGameItem;\n}\n\nconst ResultPanel: React.FC = ({ detail }) => {\n const { t } = useTranslation();\n const [anchorEl, setAnchorEl] = useState(null);\n const router = useRouter();\n const handleCopy = (content, e) => {\n copyToClipboard(content).then(() => {\n setAnchorEl(e.target.parentNode);\n setTimeout(() => {\n setAnchorEl(null);\n }, 1000);\n });\n };\n\n const goToFairness = () => {\n router.push('/casino/fairness');\n };\n\n return (\n \n \n \n {getMultiplier(Number(detail.result))}\n \n theme.palette.grey[950],\n p: 3,\n borderRadius: 1,\n mt: 3,\n }}\n >\n {/*hash*/}\n \n \n {t('Hash')}\n \n \n handleCopy(detail.hash, e)}\n edge=\"end\"\n >\n \n \n \n ),\n }}\n />\n \n {/*seed*/}\n \n \n {t('Seed')}\n \n \n handleCopy(detail.seed, e)}\n edge=\"end\"\n >\n \n \n \n ),\n }}\n />\n \n\n \n \n \n {t('What is Provable Fairness?')}\n \n \n \n \n \n );\n};\n\nexport default ResultPanel;\n","import PopoverMsg from '@/components/ui/PopoverMsg';\nimport { copyToClipboard } from '@/utils';\nimport ContentCopyIcon from '@mui/icons-material/ContentCopy';\nimport { Box, CircularProgress, IconButton, Typography } from '@mui/material';\nimport React, { useMemo, useState } from 'react';\nimport { useTranslation } from 'next-i18next';\nimport LeaderboardPanel from './LeaderboardPanel';\nimport ResultPanel from './ResultPanel';\nimport { StyledTab, StyledTabs } from './styles';\nimport { CrashLatestGameItem } from '@/apis/casino/crash';\nimport { formatGameTime } from '@/utils/time';\n\ninterface CrashGameDetailProps {\n detail: CrashLatestGameItem | null;\n}\n\nconst CrashGameDetail: React.FC = ({ detail }) => {\n const { t } = useTranslation();\n const [anchorEl, setAnchorEl] = useState(null);\n\n const handleCopy = (content, e) => {\n copyToClipboard(content).then(() => {\n setAnchorEl(e.target.parentNode);\n setTimeout(() => {\n setAnchorEl(null);\n }, 1000);\n });\n };\n\n const tabs = [\n { value: 'Result', label: 'Result' },\n // { value: 'Leaderboard', label: 'Leaderboard' },\n ];\n\n const [currentTab, setCurrentTab] = useState('Result');\n const handleTabChange = (event: React.SyntheticEvent, newValue: string) => {\n setCurrentTab(newValue);\n };\n const resultSelected = useMemo(() => currentTab === 'Result', [currentTab]);\n if (!detail) {\n return (\n \n \n \n );\n }\n return (\n <>\n \n \n \n {t('Crash Game')}:{detail.roundId}\n handleCopy(detail.roundId, e)}\n sx={{ verticalAlign: '-3px', ml: 1 }}\n >\n \n \n \n \n {formatGameTime(detail.startTime)}\n \n \n {tabs.map((tab) => (\n \n ))}\n \n \n {resultSelected && }\n {!resultSelected && }\n \n );\n};\n\nexport default CrashGameDetail;\n","import { TableCell } from '@mui/material';\nimport { styled } from '@mui/material/styles';\n\nexport const StyledTableHeadCell = styled(TableCell)(({ theme }) => ({\n height: '56px',\n borderColor: theme.palette.grey[800],\n backgroundColor: theme.palette.grey[900],\n color: `${theme.palette.grey[50]} !important`,\n}));\n\nexport const StyledTableCell = styled(TableCell)(({ theme }) => ({\n height: '64px',\n borderColor: theme.palette.grey[800],\n}));\n\nexport const BottomIconWrapper = styled('div')(({ theme }) => ({\n textAlign: 'center',\n // position: 'absolute',\n zIndex: 1,\n width: '100%',\n height: '48px',\n bottom: 0,\n backgroundColor: theme.palette.grey[900],\n}));\n","// CrashHistoryTable.tsx\nimport { useQuery } from '@tanstack/react-query';\nimport { useTranslation } from 'next-i18next';\nimport React, { useState } from 'react';\n\nimport { getBgColor } from '@/components/features/casino/crash/GameBox/utils';\nimport { CustomTypography } from '@/components/features/casino/crash/PlayerBox/styles';\nimport KeyboardArrowLeft from '@mui/icons-material/KeyboardArrowLeft';\nimport KeyboardArrowRight from '@mui/icons-material/KeyboardArrowRight';\nimport {\n Box,\n Button,\n IconButton,\n Skeleton,\n Table,\n TableBody,\n TableCell,\n TableContainer,\n TableHead,\n TableRow,\n} from '@mui/material';\nimport { BoxChip } from '../../PreviourRoundResult/styles';\nimport {\n BottomIconWrapper,\n StyledTableCell,\n StyledTableHeadCell,\n} from './styles';\nimport { crashLatest } from '@/apis/casino/crash';\nimport { getMultiplier } from '@/components/features/casino/crash/utils';\n\ninterface CrashHistoryTableProps {\n showDetail: (data: any) => void;\n}\n\nconst PAGE_SIZE = 6;\nexport const CrashHistoryTable: React.FC = ({\n showDetail,\n}) => {\n const { t } = useTranslation();\n const [page, setPage] = useState(1);\n const [totalPages, setTotalPages] = useState(1);\n\n const handleOpenModal = (rowData: any) => {\n showDetail(rowData);\n };\n const { data, isLoading, isError, error } = useQuery({\n queryKey: ['crashHistory', page],\n queryFn: async () => {\n const res: any = await crashLatest({ page: page, pageSize: PAGE_SIZE });\n if (res && res.status.code === '0') {\n setTotalPages(Math.ceil(res.data.totalNum / PAGE_SIZE));\n return res.data.games;\n } else {\n return [];\n }\n },\n keepPreviousData: true,\n });\n\n if (isError) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n return
    Error: {error && error?.message}
    ;\n }\n\n const handleChangePage = (newPage: number) => {\n if (newPage >= 0 && newPage <= totalPages) {\n setPage(newPage);\n }\n };\n\n return (\n <>\n \n \n theme.palette.text.secondary,\n }}\n >\n \n \n {t('Time')}\n \n \n {t('Multiplier')}\n \n \n {t('Details')}\n \n \n \n \n {isLoading\n ? Array.from({ length: 5 }, (_, index) => (\n \n \n \n \n \n \n \n \n \n \n \n ))\n : data?.map((row) => (\n \n {row.startTime}\n \n \n \n \n handleOpenModal(row)}\n >\n {t('View')}\n \n \n \n ))}\n \n
    \n
    \n\n \n handleChangePage(page - 1)}\n disabled={page === 1}\n >\n \n \n handleChangePage(page + 1)}\n disabled={page === totalPages}\n >\n \n \n \n \n );\n};\n\nexport default CrashHistoryTable;\n","import { Dialog, DialogContent } from '@mui/material';\nimport { styled } from '@mui/material/styles';\n\nexport const CDialog = styled(Dialog)(({ theme }) => ({\n '& .MuiDialogContent-root': {\n background: theme.palette.grey['900'],\n },\n '& .MuiDialogActions-root': {\n padding: theme.spacing(1),\n },\n '& .MuiPaper-root': {\n display: 'flex',\n flexDirection: 'column',\n },\n [theme.breakpoints.down('sm')]: {\n '& .MuiPaper-root': {\n margin: 0,\n maxHeight: '100%',\n height: '100%',\n borderRadius: 0,\n },\n },\n}));\n\nexport const StyledDialogContent = styled(DialogContent)(({ theme }) => ({\n width: '510px',\n height: '628px',\n flex: 1,\n display: 'flex',\n flexDirection: 'column',\n [theme.breakpoints.down('sm')]: {\n width: '100%',\n height: 'auto',\n },\n}));\n","import { CrashHistoryItem } from '@/components/features/casino/crash/types/crash';\nimport { Close as CloseIcon } from '@mui/icons-material';\nimport ArrowBackIcon from '@mui/icons-material/ArrowBack';\nimport { DialogTitle, DialogTitleProps, IconButton } from '@mui/material';\nimport React, { useState } from 'react';\nimport { useTranslation } from 'next-i18next';\nimport CrashGameDetail from '../DetailModal/CrashGameDetail';\nimport CrashHistoryTable from '../HistoryTable';\nimport { CDialog, StyledDialogContent } from './styles';\n\ninterface CrashHistoryModalProps {\n isOpen: boolean;\n handleClose?: () => void;\n}\n\nconst CrashHistoryModal: React.FC = ({\n isOpen,\n handleClose,\n}) => {\n const { t } = useTranslation();\n const showDetail = (data: any) => {\n setRowData(data);\n setDetailIsShow(true);\n };\n const [detailIsShow, setDetailIsShow] = useState(false);\n const [rowData, setRowData] = useState(null);\n const clickBack = () => {\n setDetailIsShow(false);\n };\n const handleCloseLogic = () => {\n handleClose?.();\n setDetailIsShow(false);\n };\n const CDialogTitle = (props: DialogTitleProps) => {\n const { children, ...other } = props;\n\n return (\n theme.palette.grey[900],\n fontFamily: 'Readex Pro',\n textTransform: 'uppercase',\n }}\n {...other}\n >\n {children}\n {handleClose ? (\n theme.palette.grey[500],\n }}\n >\n \n \n ) : null}\n \n );\n };\n\n return (\n \n \n {detailIsShow && (\n \n \n \n )}\n {t('Crash History')}\n \n \n {!detailIsShow && }\n {detailIsShow && }\n \n \n );\n};\n\nexport default CrashHistoryModal;\n","// CrashHistoryButton.tsx\nimport { MoonWinResult } from '@crownbit/icons';\nimport { Box } from '@mui/material';\nimport React, { useState } from 'react';\nimport CrashHistoryModal from './HistoryModal';\nimport { queryClient } from '@/reactQueryKeys/queryClient';\n\nconst CrashHistoryButton: React.FC = () => {\n const [isOpen, setIsOpen] = useState(false);\n\n const handleClick = () => {\n // refresh crash history\n queryClient.invalidateQueries({ queryKey: ['crashHistory'] });\n setIsOpen(true);\n };\n\n const handleClose = () => {\n setIsOpen(false);\n };\n\n return (\n <>\n ({\n width: '32px',\n height: '32px',\n display: 'inline-flex',\n justifyContent: 'center',\n alignItems: 'center',\n borderRadius: '8px',\n background: theme.palette.bg.secondary,\n border: theme.palette.border.normal,\n '&:hover': {\n cursor: 'pointer',\n },\n })}\n >\n \n \n \n \n );\n};\n\nexport default CrashHistoryButton;\n","import BasicModal from '@/components/ui/BasicModal';\nimport React from 'react';\nimport { useTranslation } from 'next-i18next';\nimport CrashGameDetail from './CrashGameDetail';\n\ninterface DetailModalProps {\n isOpen: boolean;\n onClose: () => void;\n rowData: any; // Replace 'any' with the appropriate row data type\n}\n\nconst DetailModal: React.FC = ({\n isOpen,\n onClose,\n rowData,\n}) => {\n const { t } = useTranslation();\n return (\n \n \n \n );\n};\n\nexport default DetailModal;\n","import React, { useState } from 'react';\nimport { getBgColor } from '@/components/features/casino/crash/GameBox/utils';\nimport { crashHistoryState } from '@/components/features/casino/crash/state';\nimport { Skeleton } from '@mui/material';\nimport { useQuery } from '@tanstack/react-query';\nimport { useAtom } from 'jotai';\nimport CrashHistory from '../CrashHistory';\nimport DetailModal from '../CrashHistory/DetailModal';\nimport { BoxChip, PreviousRoundResultBox } from './styles';\nimport { crashLatest } from '@/apis/casino/crash';\nimport { getMultiplier } from '@/components/features/casino/crash/utils';\nimport useTheme from '@/theme/useTheme';\nimport useMediaQuery from '@mui/material/useMediaQuery';\n\nexport const PreviousRoundResult: React.FC = () => {\n const { theme } = useTheme();\n const isMobile = useMediaQuery(theme.breakpoints.down('sm'));\n\n const showDetail = (item) => {\n setIsOpen(true);\n setRowData(item);\n };\n const [isOpen, setIsOpen] = useState(false);\n const [rowData, setRowData] = useState(null);\n const [list, setList] = useAtom(crashHistoryState);\n // 手机端展示4个\n const { isLoading, error } = useQuery({\n queryKey: ['CrashLatestFive'],\n queryFn: async () =>\n crashLatest({\n page: 1,\n pageSize: 5,\n }),\n onSuccess: (res) => {\n if (res.status.code === '0') {\n setList(res.data.games);\n }\n },\n });\n\n if (isLoading) {\n return (\n \n {Array.from({ length: 5 }).map((item, index) => {\n return (\n
    \n );\n })}\n \n );\n }\n return (\n <>\n \n {list.map((item, index) => {\n const result = Number(item.result);\n const color = getBgColor(result);\n return (\n ({\n color: theme.palette.text.primary,\n border: `1px solid ${getBgColor(result, 1)}`,\n background: color,\n '&:hover': {\n background: color,\n },\n })}\n onClick={() => {\n showDetail(item);\n }}\n />\n );\n })}\n \n setIsOpen(false)}\n rowData={rowData}\n />\n \n \n );\n};\n\nexport default PreviousRoundResult;\n","export default {\"src\":\"/_next/static/media/crash-work-step-1.0c53e3b1.png\",\"height\":300,\"width\":300,\"blurDataURL\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAMAAADz0U65AAAAElBMVEUZGyAfIykaHCMnKjAWGB4uODzpfYKaAAAAAXRSTlPqADnTAAAAAAlwSFlzAAAWJQAAFiUBSVIk8AAAAC1JREFUeJwtxsENwEAMwzDZSvZfucihfBHmFLq7a0tVM2WyOYx/2ph48SL04QMX1gCVVboO9QAAAABJRU5ErkJggg==\",\"blurWidth\":8,\"blurHeight\":8};","export default {\"src\":\"/_next/static/media/crash-work-step-2.fb74134a.png\",\"height\":300,\"width\":420,\"blurDataURL\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAGCAMAAADJ2y/JAAAAHlBMVEUmJCcdICcqKi0eICgYGiAaHSMcHygiJCoaHiQpLDMFZvrHAAAAB3RSTlMS6ucX4/oVbeqolwAAAAlwSFlzAAAWJQAAFiUBSVIk8AAAACxJREFUeJwlyckNACAMBLHNATvpv2EE/CxZSttOqXJm5gMIqeLWA+thN0DrABepAOI0kAfLAAAAAElFTkSuQmCC\",\"blurWidth\":8,\"blurHeight\":6};","export default {\"src\":\"/_next/static/media/crash-work-step-3.6771466c.png\",\"height\":300,\"width\":300,\"blurDataURL\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAMAAADz0U65AAAAV1BMVEU2LSdADBSONkdNBRJwaGoLCw0QDxIOCg5JDxSVgFkYCQ4mDhVjXlyFO0huAhUpKixiAhMTFRBnCx5NDhxGNhufiFmVYzNjPymISjZpIzOSaXDEfourUGDdxpRWAAAACnRSTlP4/////v//6un+xzzvRAAAAAlwSFlzAAAWJQAAFiUBSVIk8AAAAENJREFUeJwVxkcSgDAMBLC1gzeQHnr7/zsZdBK80YwAjDT7SzIwBqLLvEjRivUQiy5XTFtK9/MO2M8rqyowinOtNP8BSqACZsSq8ZwAAAAASUVORK5CYII=\",\"blurWidth\":8,\"blurHeight\":8};","export default {\"src\":\"/_next/static/media/crash-work-step-4.feaaff0b.png\",\"height\":300,\"width\":300,\"blurDataURL\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAMAAADz0U65AAAAM1BMVEUXGiATEQ8oIQ8cFg0YGSAUFRoFBgkXGiITFh4REhVGOhd6XhWScBhcSBNURBc8Lg9sXi2CHQtmAAAACnRSTlPp////////5PD6Uv+WPAAAAAlwSFlzAAAWJQAAFiUBSVIk8AAAADpJREFUeJwly0ESgDAIA8BASnSAtv7/tU5174t7fACajB6B2ZXVXTCf+aztEHculyCaUyaMOE77+/UCOHMBfslKV+oAAAAASUVORK5CYII=\",\"blurWidth\":8,\"blurHeight\":8};","import GameInfo from '@/components/features/casino/game-info';\nimport { useTranslation } from 'next-i18next';\n\nimport step1Img from '/public/assets/images/casino/crash/crash-work-step-1.png'\nimport step2Img from '/public/assets/images/casino/crash/crash-work-step-2.png'\nimport step3Img from '/public/assets/images/casino/crash/crash-work-step-3.png'\nimport step4Img from '/public/assets/images/casino/crash/crash-work-step-4.png'\nimport HowItWorks from '@/components/ui/HowItWorks';\n\n\nexport default function CrashGameInfo() {\n const { t } = useTranslation();\n\n \n const howItWorksSteps = [\n {\n text: t(`Specify your bet value.`),\n imageSrc: step1Img.src\n },\n {\n text: t(`Optionally, turn on and set an auto cashout value. If this multiplier is hit, the\nbet will be cashed out.`),\n imageSrc: step2Img.src\n },\n {\n text: t(`The game can crash at\nanytime. If the game crashes\nbefore you cashout, your initial\nbet will be lost.`),\n imageSrc: step3Img.src\n },\n {\n text: t(`If you cashout before the\ngame crashes, your bet is\nmultiplied by the multiplier you cashed out at.`),\n imageSrc: step4Img.src\n },\n ]\n \n return (\n \n \n \n );\n}\n","import { Box, Typography } from '@mui/material';\nimport { styled } from '@mui/material/styles';\n\nexport const RushCelebrationWrapper = styled(Box)(({ theme }) => ({\n display: 'flex',\n position: 'absolute',\n width: '100%',\n height: '100%',\n top: 0,\n left: 0,\n zIndex: 1,\n [theme.breakpoints.down('md')]: {\n top: 0,\n },\n}));\n\nexport const RushCelebrationContent = styled(Box)(({ theme }) => ({\n position: 'relative',\n width: '100%',\n height: '100%',\n background: 'rgba(0, 0, 0, 0.5)',\n}));\n","import { RushCelebrationContent, RushCelebrationWrapper } from './styles';\nimport {\n CelebrationInfoAtom,\n showCelebrationAtom,\n} from '@/components/features/casino/game-celebration/state';\nimport { useAtom } from 'jotai';\nimport { useTheme } from '@mui/material/styles';\nimport { GradientTypography } from '@/components/ui/Lottie/WinCelebration/styles';\nimport { Box } from '@mui/material';\nimport dynamic from 'next/dynamic';\nimport { Typography } from '@mui/material';\nimport { useEffect } from 'react';\nimport { floorToN } from '@/components/features/casino/crash/GameBox/utils';\n\nconst Bg = dynamic(() => import('./BgAnimation'), {\n ssr: false,\n});\nconst CrashCelebrationContent = ({ winAmount, multiplier }) => {\n const theme = useTheme();\n return (\n \n \n You Win!\n \n \n {winAmount && winAmount}\n \n\n {(typeof multiplier !== 'undefined' && (\n \n {floorToN(multiplier, 2)}x\n \n )) ||\n ''}\n {/**/}\n {/* {winAmount && winAmount}*/}\n {/**/}\n \n );\n};\n\nconst Content = ({ winAmount, rewardType }) => {\n const theme = useTheme();\n return (\n \n \n YOU WIN!\n \n \n {rewardType?.toUpperCase()}\n \n \n {winAmount && winAmount}\n \n \n );\n};\n\nconst ANIMATION_DURATION = 3500;\nexport default function CrashCelebration() {\n const [showWinCelebration, setShowWinCelebration] =\n useAtom(showCelebrationAtom);\n const [celebrationInfo, setCelebrationInfo] = useAtom(CelebrationInfoAtom);\n // const celebrationInfo = {\n // profit: '100 USDT',\n // rewardValue: 'Grand Prize',\n // };\n const resetAnimation = () => {\n setShowWinCelebration(false);\n setCelebrationInfo((info) => ({\n ...info,\n multiplier: 0,\n profit: '0',\n }));\n };\n useEffect(() => {\n if (showWinCelebration) {\n setTimeout(() => {\n resetAnimation();\n }, ANIMATION_DURATION);\n }\n }, [showWinCelebration]);\n if (!showWinCelebration) return null;\n return (\n \n \n \n \n \n \n );\n}\n","import dynamic from 'next/dynamic';\nimport React from 'react';\nimport {\n CasinoCrashGameBox,\n CasinoCrashGameBoxItemLeft,\n CasinoCrashGameBoxItemRight,\n FeatureCasinoCrash,\n GameBoxWrapper,\n GameWrapper,\n SettingBoxConfig,\n} from './styles';\n\nimport { Divider, useMediaQuery } from '@mui/material';\nimport { useTheme } from '@mui/material/styles';\nimport BetBox from './BetBox';\nimport CrashMember from './GameBox/CrashMember';\nimport PreviourRoundResult from './GameBox/PreviourRoundResult';\nimport PlayerBox from './PlayerBox';\nimport SettingBox from '../game-settings';\nimport CrashGameInfo from './CrashGameInfo';\nimport GameRecommended from '@/components/features/common/GameRecommended';\nimport CrashCelebration from '@/components/features/casino/crash/CrashCelebration';\n\nconst GameBox = dynamic(() => import('./GameBox'), {\n ssr: false,\n});\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface MoonGameProps {}\n//\nexport const MoonGame: React.FC = (props: MoonGameProps) => {\n const theme = useTheme();\n const isMobile = useMediaQuery(theme.breakpoints.down('sm'));\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {isMobile && (\n \n )}\n \n \n \n {!isMobile && (\n \n )}\n \n \n {/**/}\n \n {/**/}\n \n );\n};\n\nexport default MoonGame;\n","import getI18nProps from '@/utils/i18/getI18nProps';\nimport { styled } from '@mui/material/styles';\nimport MoonGame from '@/components/features/casino/crash';\nimport { Box } from '@mui/material';\nimport CatchError from '@/components/system/CacthError';\n\n/* eslint-disable-next-line */\nexport interface CasinoCrashCrashProps {}\n\nconst StyledCasinoCrash = styled(Box)``;\n\n// export const runtime = 'experimental-edge';\nexport function CasinoCrash(props: CasinoCrashCrashProps) {\n return {};\n}\n\nexport async function getServerSideProps({ locale }) {\n return {\n props: {\n ...(await getI18nProps({ locale })),\n },\n };\n}\n\nexport default CatchError(CasinoCrash);\n","\n (window.__NEXT_P = window.__NEXT_P || []).push([\n \"/casino/crash\",\n function () {\n return require(\"private-next-pages/casino/crash/index.tsx\");\n }\n ]);\n if(module.hot) {\n module.hot.dispose(function () {\n window.__NEXT_P.push([\"/casino/crash\"])\n });\n }\n "],"names":["_ref","_ref3","_ref4","_ref5","_ref6","crashBet","_codebuild_output_src2472147443_src_crownbit_frontend_node_modules_next_dist_compiled_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_2__","Z","_codebuild_output_src2472147443_src_crownbit_frontend_node_modules_next_dist_compiled_babel_runtime_regenerator_index_js__WEBPACK_IMPORTED_MODULE_0___default","mark","_callee","data","wrap","_context","prev","next","request","url","method","abrupt","sent","stop","_x","apply","arguments","crashCashout","_callee3","payoutMultiplier","_context3","_x3","currentCrashBetRecords","_callee4","_context4","crashGameRanks","_callee5","_context5","_x4","crashLatest","_callee6","_context6","_x5","currentBet","__webpack_exports__","_favoriteData$data","_favoriteData$data$fa","gameId","_useLoginModal","useLoginModal","_useLoginModal2","_codebuild_output_src2472147443_src_crownbit_frontend_node_modules_next_dist_compiled_babel_runtime_helpers_esm_slicedToArray_js__WEBPACK_IMPORTED_MODULE_9__","userLogin","showModal","theme","_useTheme","useTheme","_useTranslation","useTranslation","t","_useTranslation2","matchingGame","useFindMatchingGame","favouriteGameParams","provider","_useQuery","useQuery","queryKey","keysFactory","queryFn","favouriteGame","_objectSpread","action","enabled","favoriteData","refetch","isLoading","isFavorite","favorite","follow","_useMutation","useMutation","onSuccess","queryClient","queryKeysFactory","mutate","StarComponent","isLoadingFavourite","props","react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__","jsx","_mui_material_CircularProgress__WEBPACK_IMPORTED_MODULE_12__","size","_mui_icons_material_Star__WEBPACK_IMPORTED_MODULE_13__","_mui_icons_material_StarBorder__WEBPACK_IMPORTED_MODULE_14__","_mui_material_Tooltip__WEBPACK_IMPORTED_MODULE_15__","title","children","_mui_material_Box__WEBPACK_IMPORTED_MODULE_16__","sx","display","justifyContent","alignItems","height","width","cursor","color","palette","primary","main","undefined","onClick","StyledWrapper","styled","_mui_material_Box__WEBPACK_IMPORTED_MODULE_1__","_ref2","minWidth","border","background","bg","secondary","borderRadius","padding","spacing","flexDirection","_codebuild_output_src2472147443_src_crownbit_frontend_node_modules_next_dist_compiled_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_2__","breakpoints","down","marginTop","TableTotalWrapper","CustomTypography","_mui_material_Typography__WEBPACK_IMPORTED_MODULE_3__","marginRight","marginLeft","ExpandedWrapper","_ref7","isExpanded","flex","overflowY","overflowX","transition","backgroundColor","borderBottom","paddingRight","StyledUserItem","_ref8","whiteSpace","overflow","StyledProfitItem","_ref9","_ref9$green","green","grey","updateMemberList","old","added","ids","map","item","userId","newList","_codebuild_output_src2472147443_src_crownbit_frontend_node_modules_next_dist_compiled_babel_runtime_helpers_esm_toConsumableArray_js__WEBPACK_IMPORTED_MODULE_7__","forEach","includes","i","findIndex","n","splice","push","formatMember","member","amount","cashOutAt","showPlayer","userName","showMultiplier","getMultiplier","showBet","formatMoneyByCurrency","currency","showProfit","payout","useMemberList","_queryFn","loggedIn","useAtomValue","isLoggedIn","_codebuild_output_src2472147443_src_crownbit_frontend_node_modules_next_dist_compiled_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_11__","res","status","code","bets","ranks","userMetaData","_useAtomValue","userInfoState","useEffect","length","setMemberList","memberList","_useAtom","useAtom","gameMembers","_useAtom2","_codebuild_output_src2472147443_src_crownbit_frontend_node_modules_next_dist_compiled_babel_runtime_helpers_esm_slicedToArray_js__WEBPACK_IMPORTED_MODULE_12__","crashedMembers","useMemo","filter","tmp","isCurrentUser","uid","isHidden","currentUserIsBet","name","init","clear","update","useUpdateMemberList","useSetAtom","useClearMemberList","useInitMemberList","getY","x","Math","pow","multiplier","needX","floorToN","Number","toFixed","e","console","log","GameInfo","open","_React$useState","React","_React$useState2","_codebuild_output_src2472147443_src_crownbit_frontend_node_modules_next_dist_compiled_babel_runtime_helpers_esm_slicedToArray_js__WEBPACK_IMPORTED_MODULE_7__","isOpen","setIsOpen","_useTranslation3","react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__","_styles__WEBPACK_IMPORTED_MODULE_0__","Nu","jsxs","M7","_mui_material_Typography__WEBPACK_IMPORTED_MODULE_8__","component","fontWeight","fontSize","ml","kl","SettingBox","normal","paddingLeft","SettingBoxLeft","position","gap","content","opacity","right","concat","SettingBoxCenter","SettingBoxRight","fontFamily","Button","Checkbox","Link","lineHeight","textAlign","dark","text","white","VolumeWrapper","emitPlayCrashBgSound","busEvents","emitStopCrashBgSound","game_settings_VolumeSetting","isMobile","useMediaQuery","slicedToArray","anchorEl","setAnchorEl","volumeBtnRef","outTimerRef","handleOpen","current","handleClose","Boolean","gameVolumeState","volume","setVolume","isMute","handleMute","emitPlayRushBgSound","emitStopRushBgSound","onMouseEnter","clearTimeout","onMouseLeave","setTimeout","jsx_runtime","Fragment","IconButton","ref","VolumeOff","VolumeDown","Popover","ZP","id","onClose","anchorOrigin","vertical","horizontal","transformOrigin","pointerEvents","PaperProps","onTouchEnd","onTouchStart","Slider","value","onChange","event","newValue","GameSettings","isMob","fairnessLink","hideVolume","useRecordRecentPlayed","FavoriteStar","image_default","alt","src","getStaticAsset","LocalizedLink","href","target","game_settings","GameRecommended","list","gameListSelector","_useRouter","useRouter","route","_codebuild_output_src2472147443_src_crownbit_frontend_node_modules_next_dist_compiled_babel_runtime_helpers_esm_objectWithoutProperties_js__WEBPACK_IMPORTED_MODULE_6__","_excluded","react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__","_mui_material_Box__WEBPACK_IMPORTED_MODULE_7__","mt","_components_features_common_GameCardCarousel__WEBPACK_IMPORTED_MODULE_0__","games","game","Step","imageSrc","_mui_system__WEBPACK_IMPORTED_MODULE_5__","margin","_LazyLoadedResponsiveImage__WEBPACK_IMPORTED_MODULE_3__","marginBottom","sources","srcSet","media","_mui_material_Typography__WEBPACK_IMPORTED_MODULE_6__","variant","steps","_useState","useState","setOpen","_mui_system__WEBPACK_IMPORTED_MODULE_8__","_mui_material_Dialog__WEBPACK_IMPORTED_MODULE_9__","maxWidth","fullWidth","_mui_material_DialogContent__WEBPACK_IMPORTED_MODULE_10__","gutterBottom","mb","_mui_material_Grid__WEBPACK_IMPORTED_MODULE_11__","container","step","index","xs","sm","md","_mui_material_Button__WEBPACK_IMPORTED_MODULE_12__","LazyLoadedResponsiveImage","memo","_ref$alt","className","_ref$width","_ref$height","placeholder","errorPlaceholder","loaded","setLoaded","_useState2","error","setError","_useState3","isVisible","setIsVisible","imgRef","useRef","img","querySelector","handleLoad","handleError","addEventListener","removeEventListener","observer","IntersectionObserver","entries","entry","isIntersecting","threshold","observe","unobserve","react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__","_mui_material_Box__WEBPACK_IMPORTED_MODULE_3__","source","loading","displayName","_ref$msg","msg","_mui_material_Popover__WEBPACK_IMPORTED_MODULE_3__","_mui_material_Typography__WEBPACK_IMPORTED_MODULE_4__","p","getTableRowProps","animation","animateItem","sliderIn","onAnimationStart","animationName","gameIdOrSlug","_codebuild_output_src2472147443_src_crownbit_frontend_node_modules_next_dist_compiled_babel_runtime_helpers_esm_slicedToArray_js__WEBPACK_IMPORTED_MODULE_2__","stringifiyedGameId","String","toLowerCase","find","slug","setModals","globalModals","_codebuild_output_src2472147443_src_crownbit_frontend_node_modules_next_dist_compiled_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_3__","GLOBAL_MODALS","_useAtomValue2","isUserLoading","token","recordGameVisit","StopAtOperate","FeatureCasinoCrash","Box","CasinoCrashGameBox","defineProperty","paddingTop","flexWrap","CasinoCrashGameBoxItemLeft","CasinoCrashGameBoxItemRight","GameWrapper","backgroundImage","backgroundRepeat","backgroundSize","SettingBoxConfig","_ref11","_ref12","_ref13","GameBoxWrapper","_ref14","minHeight","useCrashBgSound","globalVolume","_useSound","useSound","loop","interrupt","_useSound2","play","_useSound2$","bgSound","sound","pause","playCrashBg","playing","isPageActive","usePageVisibility","pauseCrashBg","useCrashBetSound","_useSound3","_useSound4","playCrashBetSound","_useSound4$","useCrashWinSound","_useSound5","_useSound6","playCrashWinSound","_useSound6$","useBetStyle","isPc","useReloadBetState","userLoggedIn","flag","setFlag","useTimeout","setBettedAmount","bettedAmountState","setStopAtValue","stopAtState","setCrashedTime","crashedTimeState","curBet","asyncToGenerator","regenerator_default","staleTime","refetchOnWindowFocus","elapsed","useBet","betAmount","stopAt","gameStatus","currentCurrency","openLoginModal","_useCrashBgSound","_useCrashBetSound","requirementToBindEmailOrLogin","_useBindEmailOrLogin","useBindEmailOrLogin","nextRoundBetValueState","nextRoundBetValue","setNextRoundBetValue","hasNextRoundBet","noNextRoundBetState","_useAtom3","_useAtom4","bettedAmount","noBet","noBetState","_useAtom5","_useAtom6","_useAtom7","autoBetState","autoBet","_useAtom8","betMutate","betLoading","GameStatus","onError","hasBet","handleBet","handleBetNextRound","handleCancel","useCrashOut","_useCrashWinSound","celebrate","_useCelebration","useCelebration","_useAtom9","_useAtom10","crashedTime","multiplierState","_useAtom11","_useAtom12","stopAtValue","currentCurrencyState","autoCrashOut","autoCrashOutAtState","profit","decimal","getCrashDecimal","floorToNString","Multiply","resetStopAtState","_useMutation2","_res$data","retry","crashOutMutate","crashLoading","handleCrashOut","BetBox_BetBtn","betCurrency","gameRoundId","gameRoundIdAtom","gameStatusState","commonProps","_useBet","_useCrashOut","disabled","debug","router","query","NextRoundBtn","prop","styles","wr","Typography","TokenIcon","j","BtnContent","CircularProgress","_statusStrMap","statusStrMap","stopAtStateInfo","initValue","setInfo","useInfo","resetInfo","Gn","olStyle","style","CrashStopAtAmount","defaultAmount","setStopAt","setStopAtState","autoCrashOutAt","setAutoCrashOutAt","handleStopAt","operate","Add","Precision","max","Subtract","controllerDisabled","Tr","WT","htmlFor","MoonSwitch","s","checked","fN","react_number_format_es","h3","CrashStopAtAmount_objectSpread","inputMode","suffix","onValueChange","values","floatValue","onBlur","parseFloat","replace","trim","allowNegative","decimalScale","fixedDecimalScale","customInput","StyledTextField","alignSelf","mr","zu","Sn","AutoBet","setAutoBet","BetBox_useDisableInput","crash_BetBox","up","setBetAmount","useDisableInput","ST","CrashBetAmount","onBetAmountChange","ssx","TC","CrashMemberWrapper","top","transform","fadeIn","keyframes","_templateObject","taggedTemplateLiteral","AnimatedItem","GameBox_CrashMember","curList","setCurList","crashedMemberAtom","toConsumableArray","set","Set","latestElement","has","pop","unshift","opacityMap","MoneyWithCurrencyIcon","StyledTabs","Tabs","StyledTab","Tab","StyledTableWrapper","borderBottomWidth","UIVirtualizedTableWrapper","bgcolor","boxShadow","VirtuosoTableComponents","Scroller","forwardRef","TableContainer","VirtualizedTable_objectSpread","Paper","Table","Table_Table","borderCollapse","tableLayout","TableHead","objectWithoutProperties","zIndex","context","fixedHead","TableRow","_item","_excluded2","TableRow_TableRow","TableBody","VirtualizedTable","columns","_props$height","_props$loading","_props$skeletonRowCou","skeletonRowCount","_props$fixedHead","_props$bgcolor","skeletonRows","Array","from","_","column","TableCell","align","Skeleton","dataKey","dist","_n","components","fixedHeaderContent","numeric","itemContent","tableData","_column$render","typography","subtitle2","textOverflow","render","call","row","WrappedTable_VirtualizedTable","getPlayerTableColumn","showTooltip","PlayerBox_styles","Tf","Tooltip","arrow","Uu","crash_PlayerBox","_useMemberList","playerList","curBetUserIndex","slice","playerCount","totalAmount","reduce","cur","_React$useState3","_React$useState4","expanded","setExpanded","playerBoxHeight","SD","B1","ZT","icons","RMl","KeyboardArrowDown","ER","DetailModal_LeaderboardPanel","detail","roundId","DetailModal_ResultPanel","handleCopy","copyToClipboard","then","parentNode","PopoverMsg","result","FormControl","CTextField","hash","InputProps","endAdornment","InputAdornment","edge","ContentCopy","seed","DetailModal_CrashGameDetail","currentTab","setCurrentTab","resultSelected","verticalAlign","formatGameTime","startTime","tabs","label","tab","StyledTableHeadCell","borderColor","StyledTableCell","BottomIconWrapper","bottom","HistoryTable","showDetail","page","setPage","totalPages","setTotalPages","handleOpenModal","rowData","pageSize","ceil","totalNum","keepPreviousData","isError","message","handleChangePage","newPage","stickyHeader","PreviourRoundResult_styles","getBgColor","KeyboardArrowLeft","KeyboardArrowRight","CDialog","Dialog","maxHeight","StyledDialogContent","DialogContent","HistoryModal","detailIsShow","setDetailIsShow","setRowData","handleCloseLogic","other","HistoryModal_excluded","DialogTitle","HistoryModal_objectSpread","m","textTransform","Close","ArrowBack","CrashHistory","iaG","CrashHistory_DetailModal","BasicModal","PreviourRoundResult","crashHistoryState","setList","Aq","direction","crash_work_step_1","crash_work_step_2","crash_work_step_3","crash_work_step_4","CrashGameInfo","howItWorksSteps","step1Img","step2Img","step3Img","step4Img","game_info","HowItWorks","RushCelebrationWrapper","left","RushCelebrationContent","Bg","dynamic","Promise","all","__webpack_require__","bind","ssr","loadableGenerated","webpack","CrashCelebrationContent","winAmount","WinCelebration_styles","Tt","as","CrashCelebration","showCelebrationAtom","showWinCelebration","setShowWinCelebration","CelebrationInfoAtom","celebrationInfo","setCelebrationInfo","resetAnimation","info","CrashCelebration_objectSpread","GameBox","features_casino_crash","Divider","my","StyledCasinoCrash","crash_templateObject","CasinoCrash","pages_casino_crash","CatchError","window","__NEXT_P"],"sourceRoot":""}