{"version":3,"file":"static/chunks/361-0eccf97021bad6d9.js","mappings":"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","sources":["webpack://_N_E/./components/features/casino/crash/GameBox/utils.ts","webpack://_N_E/./components/features/casino/game-celebration/state.ts","webpack://_N_E/./components/ui/Lottie/WinCelebration/CoinCanvas.tsx","webpack://_N_E/./components/ui/Lottie/WinCelebration/StarBg.tsx","webpack://_N_E/./components/ui/Lottie/WinCelebration/index.tsx","webpack://_N_E/./components/ui/Lottie/WinCelebration/styles.ts","webpack://_N_E/"],"sourcesContent":["import { formatCurrency } from '@coingecko/cryptoformat';\n\n// 一个向下取整到 precision 的函数。\n// console.log(floorToN(3.14159, 2)); // 输出:3.14\n// console.log(floorToN(9.8765, 3)); // 输出:9.876\n// console.log(floorToN(5.12345, 1)); // 输出:5.1\nexport function floorToN(num: number, n = 2): number {\n // if num not a number, return -;\n if (isNaN(num)) return;\n\n const multiplier = Math.pow(10, n);\n return Math.floor(num * multiplier) / multiplier;\n}\nexport function roundToN(num: number, n = 2): number {\n // if num not a number, return -;\n if (isNaN(num)) return;\n\n const multiplier = Math.pow(10, n);\n return Math.round(num * multiplier) / multiplier;\n}\n\n//获取有效数字 0.001000 -> 0.001\nfunction removeTrailingZeros(inputString) {\n return inputString.replace(/\\.?0+$/, '');\n}\n\nexport function floorToNString(num: number, n = 2): string {\n const result = floorToN(num, n);\n return removeTrailingZeros(result.toFixed(n));\n}\n\n// 随机值:0.9615 ~ &\nexport const randomX = () => {\n const x = Math.random() * (1 - -0.04) - 0.04;\n const X = floorToN(1 / (1 - x));\n return X <= 1 ? 1.0 : X;\n};\n\n// 爆点时间计算\nexport const exponentialTimeFunction = (x: number): number =>\n Math.log2(x) / 0.09;\n\n// 根据 randomX 获得爆点时间\nexport const getExponentialTime = () => {\n const x = randomX();\n const time = exponentialTimeFunction(x);\n return Math.max(1, floorToN(time));\n};\n\ntype ArrayElement = number | number[];\n\n/**\n *\n * const input = [1, 2, 3, 4, 5, 3, 6, 7, 8, 9, 10];\n * const output = removeNonIncreasingElements(input);\n * console.log(output); // 输出: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]\n *\n * @param arr\n * @param compareIndex\n * @param isDecreasing\n * @returns\n */\nexport function removeNonIncreasingElements(\n arr: ArrayElement[],\n compareIndex: 0 | 1 = 1,\n isDecreasing = false,\n): ArrayElement[] {\n const result: ArrayElement[] = [];\n let prev: number | null = null;\n\n for (const elem of arr) {\n const currentValue = Array.isArray(elem) ? elem[compareIndex] : elem;\n if (\n prev === null ||\n (isDecreasing ? currentValue < prev : currentValue > prev)\n ) {\n result.push(elem);\n prev = currentValue;\n }\n }\n\n return result;\n}\n\nexport const map = (value, in_min, in_max, out_min, out_max) => {\n return ((value - in_min) * (out_max - out_min)) / (in_max - in_min) + out_min;\n};\n\nexport const getBorderColor = (value: number) => {\n if (value <= 1) {\n return '#F79601';\n } else if (value < 2) {\n //1.01-1.99\n return '#D80027';\n } else if (value < 10) {\n //2.00-9.99\n return '#26A17B';\n } else if (value < 30) {\n //10.00-29.99\n return '#6267BB';\n } else if (value < 100) {\n //30.00-100.00\n return '#FBB709';\n } else {\n return '#FBB709';\n }\n};\n\n//calc bg color by value\nexport const getBgColor = (value: number, opacity = 0.2) => {\n if (value <= 1) {\n return `rgba(247, 150, 1, ${opacity})`;\n } else if (value < 2) {\n //1.01-1.99\n return `rgba(244,67,54, ${opacity})`;\n } else if (value < 10) {\n //2.00-9.99\n return `rgba(0, 153, 255, ${opacity})`;\n } else if (value < 30) {\n //10.00-29.99\n return `rgba(98, 103, 187, ${opacity})`;\n } else if (value < 100) {\n //30.00-100.00\n return `rgba(251, 183, 9, ${opacity})`;\n } else {\n return '#694f12';\n }\n};\n","import { atom } from 'jotai';\nimport { PrizeType } from '@/components/features/casino/rush/types';\n\nexport const showCelebrationAtom = atom(false);\n\nexport enum CelebrationType {\n Crash,\n Rush,\n}\n\nexport interface CelebrationInfo {\n type?: CelebrationType;\n profit?: string;\n rewardValue?: string;\n multiplier?: number;\n coinCount?: number;\n winner?: string;\n}\n\nexport const CelebrationInfoAtom = atom({\n type: CelebrationType.Crash,\n profit: '0',\n multiplier: 0,\n winner: 'YOU',\n});\n","import { getStaticAsset } from '@/utils/staticAsset';\nimport { useEffect, useRef } from 'react';\nimport { StyledCanvas } from './styles';\n\nfunction loadCoinImage(src: string) {\n return new Promise((resolve) => {\n const image = new Image();\n image.src = src;\n image.onload = () => resolve(image);\n });\n}\n\ninterface CoinItem {\n x: number;\n y: number;\n dy: number;\n s: number; //大小随机\n state: number; //状态随机\n}\n\nexport interface CoinConfigType {\n vY: number; //speed\n // vSize: number; //size\n vState: number; //state\n aY: number; //acc\n countPercent: number;\n}\n\nexport const defaultCoinConfig: CoinConfigType = {\n vY: 6,\n // vSize: 1,\n vState: 0.2,\n aY: 0.6,\n countPercent: 1,\n};\n\nexport default function CoinCanvas({\n vY = defaultCoinConfig.vY,\n vState = defaultCoinConfig.vState,\n aY = defaultCoinConfig.aY,\n countPercent = defaultCoinConfig.countPercent,\n} = {}) {\n const canvasRef = useRef(null);\n useEffect(() => {\n const canvas = canvasRef.current;\n const ctx = canvas.getContext('2d');\n const coins: CoinItem[] = [];\n const CORN_WIDTH = 44;\n const CORN_HEIGHT = 40;\n let coinImg: HTMLImageElement;\n const ax = Number(aY); //加速度\n //init canvas style\n canvas.width = window.innerWidth;\n canvas.height = window.innerHeight;\n\n loadCoinImage(getStaticAsset('/assets/images/casino/coin.png')).then(\n (image) => {\n coinImg = image as HTMLImageElement;\n drawLoop();\n },\n );\n\n const drawLoop = () => {\n requestAnimationFrame(drawLoop);\n ctx.clearRect(0, 0, canvas.width, canvas.height);\n\n if (Math.random() < Number(countPercent)) {\n // 让中间多一些,边缘少一些,所以取平均值\n const x1 = (Math.random() * canvas.width) | 0;\n const x2 = (Math.random() * canvas.width) | 0;\n // const x= (x1 + x2) / 2;\n const x = x1;\n coins.push({\n x,\n y: -50,\n dy: vY,\n s: 0.5 + Math.random(),\n state: (Math.random() * 10) | 0,\n });\n }\n let i = coins.length;\n while (i--) {\n const { x, y, s, state } = coins[i];\n coins[i].state = state > 9 ? 0 : state + Number(vState);\n coins[i].dy += Number(ax);\n coins[i].y += coins[i].dy;\n //drawImage(image, sx, sy, sWidth, sHeight, dx, dy, dWidth, dHeight)\n ctx.drawImage(\n coinImg,\n CORN_WIDTH * Math.floor(state),\n 0,\n CORN_WIDTH,\n CORN_HEIGHT,\n x,\n y,\n CORN_WIDTH * s,\n CORN_HEIGHT * s,\n );\n\n if (y > canvas.height) {\n coins.splice(i, 1);\n }\n }\n };\n }, []);\n\n return (\n \n );\n}\n","import { StarBgWrapper } from './styles';\n\nexport interface StarConfig {\n count: number;\n delay: number;\n smallSize: number;\n mediumSize: number;\n largeSize: number;\n}\n\nexport const defaultStarConfig = {\n count: 20,\n smallSize: 40,\n mediumSize: 60,\n largeSize: 80,\n delay: 4,\n};\n\nfunction getStartList(stars = 30, { smallSize, mediumSize, largeSize, delay }) {\n const list = [];\n let size = 'small';\n const sparkle = delay;\n const sizeMap = {\n small: smallSize,\n medium: mediumSize,\n large: largeSize,\n };\n for (let i = 0; i < stars; i++) {\n if (i % 2 === 0) {\n size = 'small';\n } else if (i % 3 === 0) {\n size = 'medium';\n } else {\n size = 'large';\n }\n\n list.push({\n style: {\n top: `${Math.random() * 100}%`,\n left: `${Math.random() * 100}%`,\n width: `${sizeMap[size]}px`,\n height: `${sizeMap[size]}px`,\n WebkitAnimationDelay: `${Math.random() * sparkle}s`,\n MozAnimationDelay: `${Math.random() * sparkle}s`,\n },\n // className: size,\n });\n }\n return list;\n}\n\nconst StarShine = ({\n count = 30,\n smallSize = 20,\n mediumSize = 30,\n largeSize = 50,\n delay = 10,\n} = {}) => {\n const starList = getStartList(count, {\n smallSize,\n mediumSize,\n largeSize,\n delay,\n });\n return (\n \n {starList.map((star, index) => {\n return (\n \n );\n })}\n \n );\n};\n\nexport default StarShine;\n","import { Box } from '@mui/material';\nimport { useTheme } from '@mui/material/styles';\nimport CoinCanvas, { CoinConfigType, defaultCoinConfig } from './CoinCanvas';\nimport StarBg, { defaultStarConfig, StarConfig } from './StarBg';\nimport { AnimationBox, fadeIn, fadeOut, GradientTypography } from './styles';\nimport React from 'react';\nimport {\n CelebrationInfo,\n CelebrationType,\n} from '@/components/features/casino/game-celebration/state';\nimport { createPortal } from 'react-dom';\nimport { floorToN } from '@/components/features/casino/crash/GameBox/utils';\n/* ====================== *\n * celebration content\n * ====================== */\nconst CrashCelebrationContent = ({ winAmount, multiplier }) => {\n const theme = useTheme();\n return (\n \n \n You Win!\n \n {(typeof multiplier !== 'undefined' && (\n \n {floorToN(multiplier, 2)}x\n \n )) ||\n ''}\n \n {winAmount && winAmount}\n \n \n );\n};\n\nconst RushCelebrationContent = ({ 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\n/* ====================== *\n * Celebration Component\n * ====================== */\nexport interface WinCelebrationProps {\n starConfig?: StarConfig;\n coinConfig?: CoinConfigType;\n show?: boolean;\n info?: CelebrationInfo;\n}\n\nconst WinCelebrationContent: React.FC = ({\n starConfig = defaultStarConfig,\n coinConfig = defaultCoinConfig,\n show = false,\n info,\n}: WinCelebrationProps = {}) => {\n const { type, profit, rewardValue, multiplier } = info;\n const CelebrationContent = () => {\n if (type === CelebrationType.Crash) {\n return (\n \n );\n } else if (type === CelebrationType.Rush) {\n return (\n \n );\n } else {\n return null;\n }\n };\n return (\n \n {show && }\n \n {show && }\n \n );\n};\n\nexport default function WinCelebration({ ...props }) {\n return (\n
\n {createPortal(, document.body)}\n
\n );\n}\n","import { Box, Typography } from '@mui/material';\nimport { keyframes, styled } from '@mui/material/styles';\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`;\nexport const fadeOut = keyframes`\n 0% {\n opacity: 1;\n }\n 100% {\n opacity: 0;\n }\n`;\n\nexport const glitter = keyframes`\n 0% {\n transform: scale(0.3) rotate(0deg);\n opacity: 0;\n }\n 25% {\n transform: scale(1) rotate(360deg);\n opacity: 1;\n }\n 50% {\n transform: scale(0.3) rotate(720deg);\n opacity: 0;\n }\n 100% {\n transform: scale(0.3) rotate(0deg);\n opacity: 0;\n }\n`;\n\nexport const GradientTypography = styled(Typography)(({ theme }) => ({\n background: 'linear-gradient(#fead43, #ffcf09)' /* 设置渐变背景 */,\n WebkitBackgroundClip: 'text',\n WebkitTextFillColor: 'transparent',\n // '-webkit-background-clip': 'text' /* 使背景剪辑到文字上 */,\n // '-webkit-text-fill-color': 'transparent' /* 设置文字颜色透明,显示背景色 */,\n animation: `${fadeIn} 1s`,\n}));\n\nexport const AnimationBox = styled(Box)(({ theme }) => ({\n position: 'fixed',\n top: 0,\n left: 0,\n width: '100%',\n height: '100%',\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n zIndex: theme.zIndex.modal + 110,\n pointerEvents: 'none',\n // backgroundColor: 'rgba(0,0,0,0.7)',\n // ...(isShow && {\n // animation: `${isShow ? fadeIn : fadeOut} 1s`,\n // opacity: `${isShow ? 1 : 0}`,\n // }),\n}));\n\nexport const StyledCanvas = styled('canvas')(({ theme }) => ({\n position: 'fixed',\n top: 0,\n left: 0,\n zIndex: 999,\n}));\n\nexport const StarBgWrapper = styled('div')(({ theme }) => ({\n position: 'absolute',\n top: 0,\n left: 0,\n width: '100%',\n height: ' 100%',\n zIndex: 1,\n overflow: 'hidden',\n '& .shine': {\n display: 'block',\n position: 'absolute',\n top: '50%',\n left: '50%',\n backgroundImage:\n 'url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAlgAAAJYCAMAAACJuGjuAAADAFBMVEX///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+/LkhhAAAA/3RSTlMAAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2Nzg5Ojs8PT4/QEFCQ0RFRkdISUpLTE1O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)', // Add the base64 encoded image data here\n backgroundRepeat: 'no-repeat',\n backgroundPosition: 'center',\n backgroundSize: '100% 100%',\n overflow: 'hidden',\n zIndex: 2,\n color: 'transparent',\n MozOpacity: '0.0',\n opacity: '0.0',\n animation: `6s linear 0s infinite norma`,\n animationName: ` ${glitter}`,\n animationDuration: '6s',\n animationTimingFunction: 'linear',\n animationDelay: '0s',\n animationIterationCount: 'infinite',\n animationDirection: 'normal',\n // animation: `glitter 6s linear 0s infinite norma`,\n },\n '& .shine.small': {\n width: '20px',\n height: '20px',\n },\n '& .shine.medium': {\n width: '30px',\n height: '30px',\n },\n '& .shine.large': {\n width: '50px',\n height: '50px',\n },\n}));\n"],"names":["floorToN","num","n","arguments","length","undefined","isNaN","multiplier","Math","pow","floor","roundToN","round","floorToNString","inputString","toFixed","replace","getBgColor","value","opacity","concat","CelebrationType","showCelebrationAtom","atom","CelebrationInfoAtom","type","Crash","profit","winner","defaultCoinConfig","vY","vState","aY","countPercent","CoinCanvas","_ref","_ref$vY","_ref$vState","_ref$aY","_ref$countPercent","canvasRef","useRef","useEffect","src","coinImg","canvas","current","ctx","getContext","coins","ax","Number","width","window","innerWidth","height","innerHeight","loadCoinImage","getStaticAsset","Promise","resolve","image","Image","onload","then","drawLoop","requestAnimationFrame","clearRect","random","x1","push","x","y","dy","s","state","i","_coins$i","drawImage","CORN_WIDTH","CORN_HEIGHT","splice","react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__","jsx","_styles__WEBPACK_IMPORTED_MODULE_2__","gs","ref","style","position","top","left","zIndex","defaultStarConfig","count","smallSize","mediumSize","largeSize","delay","__webpack_exports__","_ref2","_ref2$count","_ref2$smallSize","_ref2$mediumSize","_ref2$largeSize","_ref2$delay","starList","getStartList","stars","list","size","sizeMap","small","medium","large","WebkitAnimationDelay","MozAnimationDelay","react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__","_styles__WEBPACK_IMPORTED_MODULE_0__","vc","children","map","star","index","className","CrashCelebrationContent","winAmount","theme","useTheme","react_jsx_runtime__WEBPACK_IMPORTED_MODULE_7__","jsxs","_mui_material_Box__WEBPACK_IMPORTED_MODULE_9__","Z","sx","display","alignItems","justifyContent","flexDirection","_styles__WEBPACK_IMPORTED_MODULE_3__","Tt","as","_codebuild_output_src2472147443_src_crownbit_frontend_node_modules_next_dist_compiled_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_0__","fontSize","fontWeight","lineHeight","margin","breakpoints","down","RushCelebrationContent","_ref5","rewardType","toUpperCase","WinCelebrationContent","_ref9","_ref9$starConfig","starConfig","_ref9$coinConfig","coinConfig","_ref9$show","show","info","rewardValue","cN","animation","fadeIn","fadeOut","id","_StarBg__WEBPACK_IMPORTED_MODULE_2__","C","_objectSpread","_CoinCanvas__WEBPACK_IMPORTED_MODULE_1__","WinCelebration","_ref10","props","_codebuild_output_src2472147443_src_crownbit_frontend_node_modules_next_dist_compiled_babel_runtime_helpers_esm_extends_js__WEBPACK_IMPORTED_MODULE_11__","createPortal","document","body","keyframes","_templateObject","_codebuild_output_src2472147443_src_crownbit_frontend_node_modules_next_dist_compiled_babel_runtime_helpers_esm_taggedTemplateLiteral_js__WEBPACK_IMPORTED_MODULE_1__","_templateObject2","glitter","_templateObject3","GradientTypography","styled","_mui_material_Typography__WEBPACK_IMPORTED_MODULE_3__","background","WebkitBackgroundClip","WebkitTextFillColor","AnimationBox","_mui_material_Box__WEBPACK_IMPORTED_MODULE_4__","modal","pointerEvents","StyledCanvas","_ref3","StarBgWrapper","_ref4","overflow","backgroundImage","backgroundRepeat","backgroundPosition","backgroundSize","color","MozOpacity","animationName","animationDuration","animationTimingFunction","animationDelay","animationIterationCount","animationDirection"],"sourceRoot":""}