oraculo-ui 0.1.13 → 0.1.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{OraculoSeccionBonoBienvenida-2APXZQQA.mjs → OraculoSeccionBonoBienvenida-EG5U752J.mjs} +2 -2
- package/dist/{OraculoSeccionCasino-LRZCQVLY.mjs → OraculoSeccionCasino-NSM2LPDZ.mjs} +5 -5
- package/dist/{OraculoSeccionCasino-ORWFZCMV.mjs → OraculoSeccionCasino-TFMAW7DD.mjs} +5 -5
- package/dist/{OraculoSeccionCasinoEnVivo-ISYMJSUN.mjs → OraculoSeccionCasinoEnVivo-DSHBIQFL.mjs} +2 -2
- package/dist/{OraculoSeccionClubOlimpo-TV3LABJ5.mjs → OraculoSeccionClubOlimpo-2EZ3LMIL.mjs} +2 -2
- package/dist/OraculoSeccionDestacados-JNMBNCDQ.mjs +12 -0
- package/dist/OraculoSeccionDestacados-TFPJSEHF.mjs +12 -0
- package/dist/OraculoSeccionTopJuegos-55R5XMSK.mjs +12 -0
- package/dist/OraculoSeccionTopJuegos-R2K6COO2.mjs +12 -0
- package/dist/{OraculoSeccionVirtuales-FKHGLEVT.mjs → OraculoSeccionVirtuales-HZ4BACB3.mjs} +5 -5
- package/dist/{OraculoSeccionVirtuales-N6FY52CM.mjs → OraculoSeccionVirtuales-Y7YXRA6S.mjs} +5 -5
- package/dist/{chunk-FROEVP3X.mjs → chunk-3MSTKPDC.mjs} +471 -640
- package/dist/{chunk-IJQLK4NO.mjs → chunk-DHENVY2Z.mjs} +10 -14
- package/dist/chunk-JSQWAWJ2.mjs +103 -0
- package/dist/chunk-NPAHCXJM.mjs +239 -0
- package/dist/{chunk-7IWMEE6R.mjs → chunk-WKDAILVP.mjs} +467 -638
- package/dist/chunk-YWS57247.mjs +449 -0
- package/dist/index.d.mts +6 -20
- package/dist/index.d.ts +6 -20
- package/dist/index.js +933 -1163
- package/dist/index.mjs +5 -7
- package/package.json +1 -1
- package/dist/OraculoSeccionBonoBienvenida-4ZHLRFV2.css +0 -221
- package/dist/OraculoSeccionBonoBienvenida-4ZHLRFV2.css.map +0 -1
- package/dist/OraculoSeccionBonoBienvenida-6L54EBL3.mjs +0 -9
- package/dist/OraculoSeccionBonoBienvenida-6L54EBL3.mjs.map +0 -1
- package/dist/OraculoSeccionCasino-CPSKAAFH.css +0 -398
- package/dist/OraculoSeccionCasino-CPSKAAFH.css.map +0 -1
- package/dist/OraculoSeccionCasino-FHD2WBDU.mjs +0 -13
- package/dist/OraculoSeccionCasino-FHD2WBDU.mjs.map +0 -1
- package/dist/OraculoSeccionCasinoEnVivo-7W64K4YQ.css +0 -157
- package/dist/OraculoSeccionCasinoEnVivo-7W64K4YQ.css.map +0 -1
- package/dist/OraculoSeccionCasinoEnVivo-EPVIACRV.mjs +0 -9
- package/dist/OraculoSeccionCasinoEnVivo-EPVIACRV.mjs.map +0 -1
- package/dist/OraculoSeccionClubOlimpo-63QCT4A2.mjs +0 -10
- package/dist/OraculoSeccionClubOlimpo-63QCT4A2.mjs.map +0 -1
- package/dist/OraculoSeccionClubOlimpo-BLUJXLUC.mjs +0 -8
- package/dist/OraculoSeccionClubOlimpo-BLUJXLUC.mjs.map +0 -1
- package/dist/OraculoSeccionClubOlimpo-F2AFK4G3.css +0 -274
- package/dist/OraculoSeccionClubOlimpo-F2AFK4G3.css.map +0 -1
- package/dist/OraculoSeccionClubOlimpo-ZCBMTUL3.css +0 -117
- package/dist/OraculoSeccionClubOlimpo-ZCBMTUL3.css.map +0 -1
- package/dist/OraculoSeccionDestacados-2KCEN6PZ.mjs +0 -12
- package/dist/OraculoSeccionDestacados-5RFVEBFL.mjs +0 -13
- package/dist/OraculoSeccionDestacados-5RFVEBFL.mjs.map +0 -1
- package/dist/OraculoSeccionDestacados-6D4LKX4H.mjs +0 -12
- package/dist/OraculoSeccionDestacados-AMMYUK67.css +0 -398
- package/dist/OraculoSeccionDestacados-AMMYUK67.css.map +0 -1
- package/dist/OraculoSeccionTopJuegos-K6CHEKEP.mjs +0 -13
- package/dist/OraculoSeccionTopJuegos-K6CHEKEP.mjs.map +0 -1
- package/dist/OraculoSeccionTopJuegos-LEFQWP7T.mjs +0 -12
- package/dist/OraculoSeccionTopJuegos-RBVOHPDV.mjs +0 -12
- package/dist/OraculoSeccionTopJuegos-XBGNNR6G.css +0 -398
- package/dist/OraculoSeccionTopJuegos-XBGNNR6G.css.map +0 -1
- package/dist/OraculoSeccionVirtuales-NEIWD2BT.mjs +0 -13
- package/dist/OraculoSeccionVirtuales-NEIWD2BT.mjs.map +0 -1
- package/dist/OraculoSeccionVirtuales-SSM6EDST.css +0 -398
- package/dist/OraculoSeccionVirtuales-SSM6EDST.css.map +0 -1
- package/dist/chunk-2D7ZJMJV.mjs +0 -118
- package/dist/chunk-4LBAYKDQ.mjs +0 -475
- package/dist/chunk-FIOWVLJP.mjs +0 -7
- package/dist/chunk-FIOWVLJP.mjs.map +0 -1
- package/dist/chunk-IGAIIVJZ.mjs +0 -74
- package/dist/chunk-IGAIIVJZ.mjs.map +0 -1
- package/dist/chunk-MC4XEBI3.mjs +0 -1277
- package/dist/chunk-MC4XEBI3.mjs.map +0 -1
- package/dist/chunk-PVY5Z3JS.mjs +0 -249
- package/dist/chunk-PYHDJZX3.mjs +0 -476
- package/dist/chunk-PYHDJZX3.mjs.map +0 -1
- package/dist/chunk-THUJNRMX.mjs +0 -119
- package/dist/chunk-THUJNRMX.mjs.map +0 -1
- package/dist/chunk-WTK2IT5O.mjs +0 -250
- package/dist/chunk-WTK2IT5O.mjs.map +0 -1
- package/dist/chunk-XNMUIY72.mjs +0 -10
- package/dist/chunk-XNMUIY72.mjs.map +0 -1
- package/dist/index.css.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/index.mjs.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/organisms/OraculoSeccionDestacados/OraculoSeccionDestacados.tsx","../../node_modules/@mui/icons-material/esm/utils/createSvgIcon.js","../../node_modules/@mui/icons-material/esm/ChevronLeftRounded.js","../../node_modules/@mui/icons-material/esm/ChevronRightRounded.js","../src/atoms/OraculoSectionTitle/OraculoSectionTitle.tsx","../src/molecules/OraculoGameRankCard/OraculoGameRankCard.tsx","../src/molecules/OraculoGameCard/OraculoGameCard.tsx","../src/molecules/OraculoGameSlide/OraculoGameSlide.tsx","../src/organisms/OraculoSeccionTopJuegos/OraculoSeccionTopJuegos.tsx","../src/organisms/OraculoSeccionCasino/OraculoSeccionCasino.tsx","../src/organisms/OraculoSeccionVirtuales/OraculoSeccionVirtuales.tsx","../src/templates/OraculoPageLanding.tsx","../src/templates/OraculoPageLandingPreview.tsx"],"sourcesContent":["import { useRef, useState } from \"react\";\r\nimport { ChevronLeftRounded, ChevronRightRounded } from \"@mui/icons-material\";\r\nimport { OraculoSectionTitle, OraculoButton, OraculoCarousel } from \"../..\";\r\nimport { OraculoSeccionDestacadosItem, OraculoSeccionDestacadosProps } from \"../../interfaces/oraculo/InterfaceDestacados\";\r\n\r\nexport default function OraculoSeccionDestacados({\r\n items,\r\n title = \"Destacados\",\r\n iconUrl,\r\n onViewMore,\r\n className = \"\",\r\n}: OraculoSeccionDestacadosProps) {\r\n const carouselRef = useRef<any>(null);\r\n const [navState, setNavState] = useState({ isStart: true, isEnd: false });\r\n\r\n const handlePrev = () => {\r\n carouselRef.current?.prev();\r\n };\r\n\r\n const handleNext = () => {\r\n carouselRef.current?.next();\r\n console.log(\"items: \", items);\r\n \r\n };\r\n\r\n const handleViewMore = () => {\r\n onViewMore?.();\r\n };\r\n\r\n const sectionClassName = className || undefined;\r\n\r\n return (\r\n <section className={sectionClassName} style={{ width: \"100%\" }}>\r\n <header\r\n style={{\r\n display: \"grid\",\r\n gridTemplateColumns: \"1fr auto auto\",\r\n alignItems: \"center\",\r\n columnGap: 12,\r\n rowGap: 8,\r\n marginBottom: 16,\r\n }}\r\n >\r\n <OraculoSectionTitle title={title} iconUrl={iconUrl} size=\"md\" />\r\n\r\n <div style={{ display: \"flex\", gap: 8 }}>\r\n <OraculoButton\r\n ariaLabel=\"Anterior\"\r\n variant=\"secondary\"\r\n iconOnly\r\n leftIcon={<ChevronLeftRounded />}\r\n onClick={handlePrev}\r\n disabled={navState.isStart}\r\n />\r\n <OraculoButton\r\n ariaLabel=\"Siguiente\"\r\n variant=\"secondary\"\r\n iconOnly\r\n rightIcon={<ChevronRightRounded />}\r\n onClick={handleNext}\r\n disabled={navState.isEnd}\r\n />\r\n </div>\r\n\r\n <OraculoButton variant=\"secondary\" onClick={handleViewMore}>\r\n Ver más\r\n </OraculoButton>\r\n </header>\r\n\r\n <OraculoCarousel\r\n ref={carouselRef}\r\n items={items}\r\n perPage={3.395}\r\n gap=\"16px\"\r\n options={{ autoWidth: false }}\r\n breakpoints={{\r\n 768: { perPage: 1.15, focus: \"start\" },\r\n 1024: { perPage: 2.5, focus: \"start\" },\r\n }}\r\n renderItem={(item: OraculoSeccionDestacadosItem) => (\r\n <div\r\n key={`${item.title}-${item.image}`}\r\n style={{\r\n textAlign: \"center\",\r\n marginTop: 16,\r\n }}\r\n >\r\n <img\r\n // src={item.image}\r\n src={`https://olimpo.bet${item.image !== \"\" ? item.image : item.summary_image}`}\r\n alt={item.title}\r\n style={{\r\n width: \"100%\",\r\n // minHeight: \"150px\",\r\n // maxHeight: \"150px\",\r\n height: \"150px\",\r\n borderRadius: 8,\r\n display: \"block\",\r\n }}\r\n />\r\n </div>\r\n )}\r\n onMove={({ isStart, isEnd }) => setNavState({ isStart, isEnd })}\r\n />\r\n </section>\r\n );\r\n}\r\n","'use client';\n\nexport { createSvgIcon as default } from '@mui/material/utils';","\"use client\";\n\nimport createSvgIcon from \"./utils/createSvgIcon.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M14.71 6.71a.996.996 0 0 0-1.41 0L8.71 11.3c-.39.39-.39 1.02 0 1.41l4.59 4.59c.39.39 1.02.39 1.41 0s.39-1.02 0-1.41L10.83 12l3.88-3.88c.39-.39.38-1.03 0-1.41\"\n}), 'ChevronLeftRounded');","\"use client\";\n\nimport createSvgIcon from \"./utils/createSvgIcon.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M9.29 6.71c-.39.39-.39 1.02 0 1.41L13.17 12l-3.88 3.88c-.39.39-.39 1.02 0 1.41s1.02.39 1.41 0l4.59-4.59c.39-.39.39-1.02 0-1.41L10.7 6.7c-.38-.38-1.02-.38-1.41.01\"\n}), 'ChevronRightRounded');","import React from \"react\";\r\nimport \"./OraculoSectionTitle.css\";\r\n\r\nexport interface OraculoSectionTitleProps {\r\n title: string;\r\n iconUrl?: string;\r\n size?: \"xs\" | \"sm\" | \"md\" | \"lg\";\r\n className?: string;\r\n}\r\n\r\nexport default function OraculoSectionTitle({\r\n title,\r\n iconUrl,\r\n size = \"md\",\r\n className = \"\",\r\n}: OraculoSectionTitleProps) {\r\n const sizeClass = size ? `orc-section-title--${size}` : \"\";\r\n\r\n const wrapperClass = [\r\n \"orc-section-title\",\r\n sizeClass,\r\n className,\r\n ]\r\n .filter(Boolean)\r\n .join(\" \");\r\n\r\n return (\r\n <div className={wrapperClass}>\r\n {iconUrl && (\r\n <img\r\n src={iconUrl}\r\n alt=\"\"\r\n className=\"orc-section-title__icon\"\r\n />\r\n )}\r\n <h2 className=\"orc-section-title__title\">{title}</h2>\r\n </div>\r\n );\r\n}\r\n","import React from \"react\";\r\nimport Box from \"@mui/material/Box\";\r\nimport OraculoGameCard from \"../OraculoGameCard/OraculoGameCard\";\r\n\r\ntype SizeOpt = { w: number; h: number; r?: number; font?: number };\r\n\r\nexport interface OraculoGameRankCardSizes {\r\n xs: SizeOpt;\r\n md: SizeOpt;\r\n}\r\n\r\nexport interface OraculoGameRankCardProps {\r\n imageUrl: string;\r\n orden?: number;\r\n onClick?: () => void;\r\n sizes?: OraculoGameRankCardSizes;\r\n}\r\n\r\nexport default function OraculoGameRankCard({\r\n imageUrl,\r\n orden = 1,\r\n onClick,\r\n sizes = {\r\n xs: { w: 104, h: 112, r: 18, font: 48 },\r\n md: { w: 186, h: 264, r: 22.6, font: 64 },\r\n },\r\n}: OraculoGameRankCardProps) {\r\n const getVal = <K extends keyof SizeOpt>(k: K, def: number) => ({\r\n xs: sizes.xs?.[k] ?? def,\r\n md: sizes.md?.[k] ?? def,\r\n });\r\n\r\n const W = getVal(\"w\", 186);\r\n const H = getVal(\"h\", 264);\r\n const R = getVal(\"r\", 22.6);\r\n const F = getVal(\"font\", 64);\r\n\r\n const hang = {\r\n xs: Math.round((sizes.xs?.font ?? 64) * 0.28),\r\n md: Math.round((sizes.md?.font ?? 64) * 0.28),\r\n };\r\n\r\n return (\r\n <Box\r\n sx={{\r\n position: \"relative\",\r\n width: \"100%\",\r\n maxWidth: { xs: `${W.xs}px`, md: `${W.md}px` },\r\n aspectRatio: {\r\n xs: `${W.xs}/${H.xs}`,\r\n md: `${W.md}/${H.md}`,\r\n },\r\n borderRadius: { xs: `${R.xs}px`, md: `${R.md}px` },\r\n boxSizing: \"border-box\",\r\n overflow: \"visible\",\r\n pb: { xs: `${hang.xs}px`, md: `${hang.md}px` },\r\n }}\r\n >\r\n <Box\r\n sx={{\r\n position: \"absolute\",\r\n inset: 0,\r\n borderRadius: \"inherit\",\r\n overflow: \"hidden\",\r\n }}\r\n >\r\n <OraculoGameCard\r\n imageUrl={imageUrl}\r\n onClick={onClick}\r\n size=\"lg\"\r\n fillParent\r\n />\r\n </Box>\r\n\r\n <Box\r\n component=\"span\"\r\n sx={{\r\n position: \"absolute\",\r\n left: 8,\r\n bottom: {\r\n xs: `-${hang.xs}px`,\r\n md: `-${hang.md}px`,\r\n },\r\n fontFamily: \"secondary\",\r\n fontSize: {\r\n xs: `${F.xs}px`,\r\n md: `${F.md}px`,\r\n },\r\n lineHeight: 1,\r\n color: \"#3CC666\",\r\n WebkitTextStroke: \"1px #9ee86e\",\r\n zIndex: 3,\r\n userSelect: \"none\",\r\n }}\r\n >\r\n {orden}\r\n </Box>\r\n </Box>\r\n );\r\n}\r\n","import React from \"react\";\r\nimport Box from \"@mui/material/Box\";\r\nimport { OraculoButton } from \"../..\";\r\n\r\nexport interface OraculoGameCardProps {\r\n imageUrl: string;\r\n onClick?: () => void;\r\n size?: \"lg\" | \"sm\";\r\n fillParent?: boolean;\r\n}\r\n\r\nconst OraculoGameCard: React.FC<OraculoGameCardProps> = ({\r\n imageUrl,\r\n onClick,\r\n size = \"sm\",\r\n fillParent = false,\r\n}) => {\r\n const dim =\r\n size === \"lg\"\r\n ? { w: 280, h: 352 }\r\n : { w: 152, h: 168 };\r\n\r\n const handleButtonClick: React.MouseEventHandler<HTMLButtonElement> = (e) => {\r\n e.stopPropagation();\r\n onClick?.();\r\n };\r\n\r\n const sizeStyles = fillParent\r\n ? { width: \"100%\", height: \"100%\" }\r\n : { width: `${dim.w}px`, height: `${dim.h}px` };\r\n\r\n return (\r\n <Box\r\n onClick={onClick}\r\n role=\"button\"\r\n sx={{\r\n position: \"relative\",\r\n borderRadius: \"12px\",\r\n overflow: \"hidden\",\r\n boxSizing: \"border-box\",\r\n transition: \"transform .15s ease, box-shadow .15s ease\",\r\n ...sizeStyles,\r\n \"&:hover\": {\r\n transform: \"translateY(-2px)\",\r\n boxShadow: 8,\r\n cursor: \"pointer\",\r\n },\r\n \"&:hover .oraculo-game-card-overlay\": {\r\n opacity: 1,\r\n },\r\n \"&:hover .oraculo-game-card-btn\": {\r\n opacity: 1,\r\n transform: \"translate(-50%, -50%) scale(1)\",\r\n pointerEvents: \"auto\",\r\n },\r\n }}\r\n >\r\n <img\r\n src={imageUrl}\r\n alt=\"Juego de casino\"\r\n loading=\"lazy\"\r\n style={{\r\n width: \"100%\",\r\n height: \"100%\",\r\n objectFit: \"cover\",\r\n display: \"block\",\r\n borderRadius: \"inherit\",\r\n }}\r\n />\r\n\r\n <Box\r\n className=\"oraculo-game-card-overlay\"\r\n sx={{\r\n position: \"absolute\",\r\n inset: 0,\r\n backgroundColor: \"rgba(0, 0, 0, 0.45)\",\r\n opacity: 0,\r\n transition: \"opacity .15s ease\",\r\n pointerEvents: \"none\",\r\n zIndex: 1,\r\n }}\r\n />\r\n\r\n <Box\r\n className=\"oraculo-game-card-btn\"\r\n sx={{\r\n position: \"absolute\",\r\n top: \"50%\",\r\n left: \"50%\",\r\n zIndex: 2,\r\n transform: \"translate(-50%, -50%) scale(0.95)\",\r\n opacity: 0,\r\n transition: \"opacity .15s ease, transform .15s ease\",\r\n pointerEvents: \"none\",\r\n }}\r\n >\r\n <OraculoButton variant=\"primary\" size=\"md\" onClick={handleButtonClick}>\r\n JUGAR\r\n </OraculoButton>\r\n </Box>\r\n </Box>\r\n );\r\n};\r\n\r\nexport default OraculoGameCard;\r\n","import React from \"react\";\r\nimport Box from \"@mui/material/Box\";\r\nimport OraculoGameCard from \"../OraculoGameCard/OraculoGameCard\";\r\n\r\nexport interface OraculoGameSlideItem {\r\n id: string | number;\r\n imageUrl: string;\r\n}\r\n\r\nexport interface OraculoGameSlideProps {\r\n items: OraculoGameSlideItem[];\r\n layout?: \"mosaic\" | \"grid\";\r\n onClick?: (item: OraculoGameSlideItem, index: number) => void;\r\n}\r\n\r\nconst GAP = 12; // px\r\n\r\nconst OraculoGameSlide: React.FC<OraculoGameSlideProps> = ({\r\n items,\r\n layout = \"grid\",\r\n onClick,\r\n}) => {\r\n // layout especial: 1 grande + hasta 4 pequeños\r\n if (layout === \"mosaic\") {\r\n const big = items[0];\r\n const smalls = items.slice(1, 5);\r\n\r\n return (\r\n <Box\r\n sx={{\r\n display: \"grid\",\r\n gridTemplateRows: {\r\n xs: `repeat(2, 112px)`,\r\n md: `repeat(2, 168px)`,\r\n },\r\n gridTemplateColumns: {\r\n xs: `184px`,\r\n md: `280px`,\r\n },\r\n gridAutoFlow: \"column\",\r\n gridAutoColumns: {\r\n xs: `104px`,\r\n md: `152px`,\r\n },\r\n columnGap: `${GAP}px`,\r\n rowGap: `${GAP}px`,\r\n alignItems: \"stretch\",\r\n justifyItems: \"stretch\",\r\n }}\r\n >\r\n {big && (\r\n <Box\r\n sx={{\r\n width: { xs: 184, md: 280 },\r\n height: { xs: 234, md: 352 },\r\n gridRow: \"1 / span 2\",\r\n overflow: \"hidden\",\r\n borderRadius: 2,\r\n }}\r\n >\r\n <OraculoGameCard\r\n imageUrl={`https://olimpo.bet${big.imageUrl ?? \"\"}`}\r\n size=\"lg\"\r\n fillParent\r\n onClick={() => onClick?.(big, 0)}\r\n />\r\n </Box>\r\n )}\r\n\r\n {smalls.map((it, index) => (\r\n <Box\r\n key={it.id}\r\n sx={{\r\n width: { xs: 104, md: 152 },\r\n height: { xs: 112, md: 168 },\r\n overflow: \"hidden\",\r\n borderRadius: 2,\r\n }}\r\n >\r\n <OraculoGameCard\r\n imageUrl={`https://olimpo.bet${it.imageUrl ?? \"\"}`}\r\n size=\"sm\"\r\n fillParent\r\n onClick={() => onClick?.(it, index + 1)}\r\n />\r\n </Box>\r\n ))}\r\n </Box>\r\n );\r\n }\r\n\r\n // layout grid 2x2\r\n return (\r\n <Box\r\n sx={{\r\n display: \"grid\",\r\n gridTemplateColumns: {\r\n xs: `repeat(2, 104px)`,\r\n md: `repeat(2, 152px)`,\r\n },\r\n gridTemplateRows: {\r\n xs: `repeat(2, 112px)`,\r\n md: `repeat(2, 168px)`,\r\n },\r\n gap: `${GAP}px`,\r\n gridAutoFlow: \"column\",\r\n }}\r\n >\r\n {items.map((it, index) => (\r\n <Box\r\n key={it.id ?? index}\r\n sx={{\r\n overflow: \"hidden\",\r\n borderRadius: 2,\r\n }}\r\n >\r\n <OraculoGameCard\r\n imageUrl={`https://olimpo.bet${it.imageUrl ?? \"\"}`}\r\n size=\"sm\"\r\n fillParent\r\n onClick={() => onClick?.(it, index)}\r\n />\r\n </Box>\r\n ))}\r\n </Box>\r\n\r\n );\r\n};\r\n\r\nexport default OraculoGameSlide;\r\n","import React, { useMemo } from \"react\";\r\nimport Stack from \"@mui/material/Stack\";\r\nimport Box from \"@mui/material/Box\";\r\nimport OraculoSectionTitle from \"../../atoms/OraculoSectionTitle/OraculoSectionTitle\";\r\nimport OraculoGameRankCard from \"../../molecules/OraculoGameRankCard/OraculoGameRankCard\";\r\nimport { OraculoSeccionTopJuegosProps } from \"../../interfaces/oraculo/InterfaceTopJuegos\";\r\n\r\nexport default function OraculoSeccionTopJuegos({\r\n items,\r\n title = \"Top Juegos\",\r\n iconUrl,\r\n onCardClick,\r\n}: OraculoSeccionTopJuegosProps) {\r\n\r\n const normalizedItems = useMemo(\r\n () =>\r\n items\r\n .map((item, index) => ({\r\n ...item,\r\n // si no viene orden, usamos el índice (1-based)\r\n orden: item.orden ?? index + 1,\r\n _originalIndex: index,\r\n }))\r\n .sort((a, b) => {\r\n // si ambos tienen orden, comparamos por orden\r\n if (a.orden != null && b.orden != null) return a.orden - b.orden;\r\n // si falta alguno, caemos al orden de llegada\r\n return a._originalIndex - b._originalIndex;\r\n }),\r\n [items]\r\n );\r\n\r\n return (\r\n <section style={{ width: \"100%\" }}>\r\n <Stack direction=\"column\" spacing={2} useFlexGap>\r\n <OraculoSectionTitle title={title} iconUrl={iconUrl} size=\"md\" />\r\n\r\n <Box\r\n sx={{\r\n display: \"grid\",\r\n gridTemplateColumns: {\r\n xs: \"repeat(3, minmax(0, 1fr))\",\r\n md: \"repeat(6, minmax(0, 1fr))\",\r\n },\r\n gap: { xs: 1.5, md: 2 },\r\n justifyItems: \"center\",\r\n width: \"100%\",\r\n }}\r\n >\r\n {normalizedItems.slice(0, 6).map((juego) => (\r\n <OraculoGameRankCard\r\n key={juego.machine}\r\n imageUrl={`https://olimpo.bet${juego.logo ?? \"\"}`}\r\n orden={juego.orden}\r\n onClick={() => onCardClick?.(juego)}\r\n />\r\n ))}\r\n </Box>\r\n </Stack>\r\n </section>\r\n );\r\n}\r\n","import React, { useRef, useState } from \"react\";\r\nimport Stack from \"@mui/material/Stack\";\r\nimport Box from \"@mui/material/Box\";\r\nimport ChevronLeftRounded from \"@mui/icons-material/ChevronLeftRounded\";\r\nimport ChevronRightRounded from \"@mui/icons-material/ChevronRightRounded\";\r\n\r\nimport OraculoSectionTitle from \"../../atoms/OraculoSectionTitle/OraculoSectionTitle\";\r\nimport OraculoButton from \"../../atoms/OraculoButton/OraculoButton\";\r\nimport OraculoCarousel, {\r\n OraculoCarouselRef,\r\n} from \"../../molecules/OraculoCarousel/OraculoCarousel\";\r\nimport OraculoGameSlide, {\r\n OraculoGameSlideItem,\r\n} from \"../../molecules/OraculoGameSlide/OraculoGameSlide\";\r\nimport { OraculoGameItem } from \"../../interfaces/oraculo/InterfaceGameItem\";\r\nimport { OraculoSeccionCasinoProps } from \"../../interfaces/oraculo/InterfaceCasino\";\r\n\r\ntype SlideKind = \"mosaic\" | \"grid\";\r\n\r\ninterface CasinoSlide {\r\n id: string;\r\n kind: SlideKind;\r\n items: OraculoGameSlideItem[];\r\n}\r\n\r\n/**\r\n * Construye los slides: 1 \"mosaic\" (1 grande + hasta 4 chicos),\r\n * y luego varios grid 2x2.\r\n */\r\nconst buildCasinoSlides = (\r\n games: OraculoGameItem[],\r\n mosaicFirst = true,\r\n gridSize = 4\r\n): CasinoSlide[] => {\r\n const baseItems: OraculoGameSlideItem[] = games.map((g, idx) => ({\r\n id: g.orden ?? g.machine ?? idx,\r\n imageUrl: g.logo ?? \"\",\r\n }));\r\n\r\n if (!baseItems.length) return [];\r\n\r\n const slides: CasinoSlide[] = [];\r\n let start = 0;\r\n\r\n if (mosaicFirst) {\r\n const take = Math.min(baseItems.length, 5);\r\n slides.push({\r\n id: \"mosaic-0\",\r\n kind: \"mosaic\",\r\n items: baseItems.slice(0, take),\r\n });\r\n start = take;\r\n }\r\n\r\n while (start < baseItems.length) {\r\n const end = Math.min(start + gridSize, baseItems.length);\r\n slides.push({\r\n id: `grid-${start}`,\r\n kind: \"grid\",\r\n items: baseItems.slice(start, end),\r\n });\r\n start = end;\r\n }\r\n\r\n return slides;\r\n};\r\n\r\nconst OraculoSeccionCasino: React.FC<OraculoSeccionCasinoProps> = ({\r\n items,\r\n title = \"Casino\",\r\n iconUrl = \"/assets/img/home/Casino/diamante.svg\",\r\n onItemClick,\r\n onViewMore,\r\n mosaicFirst = true,\r\n gridSize = 4,\r\n}) => {\r\n const carouselRef = useRef<OraculoCarouselRef | null>(null);\r\n const [navState, setNavState] = useState({ isStart: true, isEnd: false });\r\n\r\n const slides = buildCasinoSlides(items, mosaicFirst, gridSize);\r\n\r\n const handlePrev = () => {\r\n carouselRef.current?.prev();\r\n };\r\n\r\n const handleNext = () => {\r\n carouselRef.current?.next();\r\n };\r\n\r\n const handleViewMore = () => {\r\n onViewMore?.();\r\n };\r\n\r\n return (\r\n <section>\r\n <Stack direction=\"column\" spacing={2} useFlexGap>\r\n {/* Header tipo GridGroup 1fr auto auto */}\r\n <Box\r\n sx={{\r\n display: \"grid\",\r\n gridTemplateColumns: \"1fr auto auto\",\r\n alignItems: \"center\",\r\n columnGap: 1.5,\r\n rowGap: 1,\r\n }}\r\n >\r\n <OraculoSectionTitle\r\n title={title}\r\n iconUrl={iconUrl}\r\n size=\"md\"\r\n />\r\n\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n gap: 1,\r\n justifyContent: \"flex-end\",\r\n }}\r\n >\r\n <OraculoButton\r\n ariaLabel=\"Anterior\"\r\n variant=\"secondary\"\r\n iconOnly\r\n leftIcon={<ChevronLeftRounded />}\r\n onClick={handlePrev}\r\n disabled={navState.isStart}\r\n />\r\n <OraculoButton\r\n ariaLabel=\"Siguiente\"\r\n variant=\"secondary\"\r\n iconOnly\r\n rightIcon={<ChevronRightRounded />}\r\n onClick={handleNext}\r\n disabled={navState.isEnd}\r\n />\r\n </Box>\r\n\r\n <Box sx={{ justifySelf: \"end\" }}>\r\n <OraculoButton variant=\"secondary\" onClick={handleViewMore}>\r\n Ver más\r\n </OraculoButton>\r\n </Box>\r\n </Box>\r\n\r\n <OraculoCarousel\r\n ref={carouselRef}\r\n items={slides}\r\n perPage={1}\r\n gap=\"0px\"\r\n options={{\r\n autoWidth: true,\r\n gap: \"12px\",\r\n trimSpace: false,\r\n pagination: false,\r\n arrows: false,\r\n drag: true,\r\n focus: \"start\",\r\n }}\r\n renderItem={(slide) => (\r\n <div style={{ alignSelf: \"start\" }}>\r\n <OraculoGameSlide\r\n items={slide.items}\r\n layout={slide.kind === \"mosaic\" ? \"mosaic\" : \"grid\"}\r\n onClick={(itm) => {\r\n const game = items.find(\r\n (g, idx) =>\r\n (g.orden ?? idx) === itm.id\r\n );\r\n if (game) onItemClick?.(game);\r\n }}\r\n />\r\n </div>\r\n )}\r\n onMove={({ isStart, isEnd }) => setNavState({ isStart, isEnd })}\r\n />\r\n </Stack>\r\n </section>\r\n );\r\n};\r\n\r\nexport default OraculoSeccionCasino;\r\n","import React, { useRef, useState } from \"react\";\r\nimport Stack from \"@mui/material/Stack\";\r\nimport Box from \"@mui/material/Box\";\r\nimport ChevronLeftRounded from \"@mui/icons-material/ChevronLeftRounded\";\r\nimport ChevronRightRounded from \"@mui/icons-material/ChevronRightRounded\";\r\n\r\nimport OraculoSectionTitle from \"../../atoms/OraculoSectionTitle/OraculoSectionTitle\";\r\nimport OraculoButton from \"../../atoms/OraculoButton/OraculoButton\";\r\nimport OraculoCarousel, {\r\n OraculoCarouselRef,\r\n} from \"../../molecules/OraculoCarousel/OraculoCarousel\";\r\nimport OraculoGameSlide, {\r\n OraculoGameSlideItem,\r\n} from \"../../molecules/OraculoGameSlide/OraculoGameSlide\";\r\nimport { OraculoGameItem } from \"../../interfaces/oraculo/InterfaceGameItem\";\r\nimport { OraculoSeccionVirtualesProps } from \"../../interfaces/oraculo/InterfaceVirtuales\";\r\n\r\ntype SlideKind = \"mosaic\" | \"grid\";\r\n\r\ninterface VirtualSlide {\r\n id: string;\r\n kind: SlideKind;\r\n items: OraculoGameSlideItem[];\r\n}\r\n/**\r\n * Mismo patrón que Casino:\r\n * - Primer slide \"mosaic\" (1 grande + hasta 4 pequeños)\r\n * - Luego varios \"grid\" 2x2\r\n */\r\nconst buildVirtualSlides = (\r\n games: OraculoGameItem[],\r\n mosaicFirst = true,\r\n gridSize = 4\r\n): VirtualSlide[] => {\r\n const baseItems: OraculoGameSlideItem[] = games.map((g, idx) => ({\r\n id: g.orden ?? idx,\r\n imageUrl: g.logo ?? \"\",\r\n }));\r\n\r\n if (!baseItems.length) return [];\r\n\r\n const slides: VirtualSlide[] = [];\r\n let start = 0;\r\n\r\n if (mosaicFirst) {\r\n const take = Math.min(baseItems.length, 5);\r\n slides.push({\r\n id: \"mosaic-0\",\r\n kind: \"mosaic\",\r\n items: baseItems.slice(0, take),\r\n });\r\n start = take;\r\n }\r\n\r\n while (start < baseItems.length) {\r\n const end = Math.min(start + gridSize, baseItems.length);\r\n slides.push({\r\n id: `grid-${start}`,\r\n kind: \"grid\",\r\n items: baseItems.slice(start, end),\r\n });\r\n start = end;\r\n }\r\n\r\n return slides;\r\n};\r\n\r\nconst OraculoSeccionVirtuales: React.FC<OraculoSeccionVirtualesProps> = ({\r\n items,\r\n title = \"Virtuales\",\r\n iconUrl = \"/assets/img/home/Virtuales/virtuales.svg\",\r\n onItemClick,\r\n onViewMore,\r\n mosaicFirst = true,\r\n gridSize = 4,\r\n}) => {\r\n const carouselRef = useRef<OraculoCarouselRef | null>(null);\r\n const [navState, setNavState] = useState({ isStart: true, isEnd: false });\r\n\r\n const slides = buildVirtualSlides(items, mosaicFirst, gridSize);\r\n\r\n const handlePrev = () => {\r\n carouselRef.current?.prev();\r\n };\r\n\r\n const handleNext = () => {\r\n carouselRef.current?.next();\r\n };\r\n\r\n const handleViewMore = () => {\r\n onViewMore?.();\r\n };\r\n\r\n return (\r\n <section >\r\n <Stack direction=\"column\" spacing={2} useFlexGap>\r\n {/* Header (equivalente a tu GridGroup 1fr auto auto) */}\r\n <Box\r\n sx={{\r\n display: \"grid\",\r\n gridTemplateColumns: \"1fr auto auto\",\r\n alignItems: \"center\",\r\n columnGap: 1.5,\r\n rowGap: 1,\r\n }}\r\n >\r\n <OraculoSectionTitle\r\n title={title}\r\n iconUrl={iconUrl}\r\n size=\"md\"\r\n />\r\n\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n gap: 1,\r\n justifyContent: \"flex-end\",\r\n }}\r\n >\r\n <OraculoButton\r\n ariaLabel=\"Anterior\"\r\n variant=\"secondary\"\r\n iconOnly\r\n leftIcon={<ChevronLeftRounded />}\r\n onClick={handlePrev}\r\n disabled={navState.isStart}\r\n />\r\n <OraculoButton\r\n ariaLabel=\"Siguiente\"\r\n variant=\"secondary\"\r\n iconOnly\r\n rightIcon={<ChevronRightRounded />}\r\n onClick={handleNext}\r\n disabled={navState.isEnd}\r\n />\r\n </Box>\r\n\r\n <Box sx={{ justifySelf: \"end\" }}>\r\n <OraculoButton variant=\"secondary\" onClick={handleViewMore}>\r\n Ver más\r\n </OraculoButton>\r\n </Box>\r\n </Box>\r\n\r\n <OraculoCarousel\r\n ref={carouselRef}\r\n items={slides}\r\n perPage={1}\r\n gap=\"0\"\r\n options={{\r\n autoWidth: true,\r\n gap: \"12px\",\r\n trimSpace: false,\r\n pagination: false,\r\n arrows: false,\r\n drag: true,\r\n focus: \"start\",\r\n perMove: 1,\r\n }}\r\n renderItem={(slide) => (\r\n <div style={{ alignSelf: \"start\" }}>\r\n <OraculoGameSlide\r\n items={slide.items}\r\n layout={slide.kind === \"mosaic\" ? \"mosaic\" : \"grid\"}\r\n onClick={(itm) => {\r\n const game = items.find(\r\n (g, idx) =>\r\n (g.orden ?? idx) === itm.id\r\n );\r\n if (game) onItemClick?.(game);\r\n }}\r\n />\r\n </div>\r\n )}\r\n onMove={({ isStart, isEnd }) =>\r\n setNavState({ isStart, isEnd })\r\n }\r\n />\r\n </Stack>\r\n </section>\r\n );\r\n};\r\n\r\nexport default OraculoSeccionVirtuales;\r\n","\"use client\";\r\n\r\nimport {\r\n Container,\r\n Stack,\r\n} from \"@mui/material\";\r\n// import SeccionMisiones from \"@components/NewLandingPage/SeccionMisiones\";\r\n// import SeccionEnVivo from \"@components/NewLandingPage/SeccionEnVivo\";\r\n// import SeccionEventoSemana from \"@components/NewLandingPage/SeccionEventoSemana\";\r\n// import SeccionCombinadas from \"@components/NewLandingPage/SeccionCombinadas\";\r\n// import SeccionBonoBienvenida from \"@components/NewLandingPage/SeccionBonoBienvenida\";\r\n// import SeccionTopJuegos from \"@components/NewLandingPage/SeccionTopJuegos\";\r\n// import SeccionCasino from \"@components/NewLandingPage/SeccionCasino\";\r\n// import SeccionCasinoEnVivo from \"@components/NewLandingPage/SeccionCasinoEnVivo\";\r\n// import SeccionVirtuales from \"@components/NewLandingPage/SeccionVirtuales\";\r\n// import SeccionDestacados from \"@components/NewLandingPage/SeccionDestacados\";\r\n// import SeccionClubOlimpo from \"@components/NewLandingPage/SeccionClubOlimpo\";\r\n// import SeccionMediosPago from \"@components/NewLandingPage/SeccionMediosPago\";\r\n\r\nimport { OraculoSeccionBonoProps } from \"../interfaces/oraculo/InterfaceBonos\";\r\nimport { OraculoSeccionClubOlimpoItem } from \"../interfaces/oraculo/InterfaceClubOlimpo\";\r\nimport { OraculoSeccionTopJuegosProps } from \"../interfaces/oraculo/InterfaceTopJuegos\";\r\nimport { OraculoSeccionCasinoProps } from \"../interfaces/oraculo/InterfaceCasino\";\r\nimport { OraculoSeccionCasinoEnVivoProps } from \"../interfaces/oraculo/InterfaceCasinoEnVivo\";\r\nimport { OraculoSeccionVirtualesProps } from \"../interfaces/oraculo/InterfaceVirtuales\";\r\nimport OraculoSeccionBonoBienvenida from \"../organisms/OraculoSeccionBonoBienvenida/OraculoSeccionBonoBienvenida\";\r\nimport OraculoSeccionTopJuegos from \"../organisms/OraculoSeccionTopJuegos/OraculoSeccionTopJuegos\";\r\nimport OraculoSeccionCasino from \"../organisms/OraculoSeccionCasino/OraculoSeccionCasino\";\r\nimport OraculoSeccionCasinoEnVivo from \"../organisms/OraculoSeccionCasinoEnVivo/OraculoSeccionCasinoEnVivo\";\r\nimport OraculoSeccionVirtuales from \"../organisms/OraculoSeccionVirtuales/OraculoSeccionVirtuales\";\r\nimport OraculoSeccionDestacados from \"../organisms/OraculoSeccionDestacados/OraculoSeccionDestacados\";\r\nimport OraculoSeccionClubOlimpo from \"../organisms/OraculoSeccionClubOlimpo/OraculoSeccionClubOlimpo\";\r\nimport { OraculoSeccionDestacadosItem, OraculoSeccionDestacadosProps } from \"../interfaces/oraculo/InterfaceDestacados\";\r\n\r\ninterface parametros {\r\n bonos: OraculoSeccionBonoProps;\r\n topJuegos: OraculoSeccionTopJuegosProps;\r\n casino: OraculoSeccionCasinoProps;\r\n casinoEnVivo: OraculoSeccionCasinoEnVivoProps;\r\n virtuales: OraculoSeccionVirtualesProps;\r\n clubOlimpo: OraculoSeccionClubOlimpoItem;\r\n destacados: OraculoSeccionDestacadosProps;\r\n}\r\n\r\nexport default function OraculoPageLanding({ props }: { props:parametros }) {\r\n\r\n const listaDestacados: OraculoSeccionDestacadosItem[] = [\r\n {\r\n image: \"/assets/img/home/Destacados/Banner01.png\",\r\n title: \"Gol Seguro\",\r\n tags: \"/destacados\", // aquí puedes usar la ruta que antes estaba en href\r\n\r\n body: \"\",\r\n summary_body: \"\",\r\n summary_title: \"\",\r\n groups_forbidden: [],\r\n groups_allowed: [],\r\n promotion: \"\",\r\n // summary_image: \"/lo-que-sea.png\", // opcional\r\n },\r\n {\r\n image: \"/assets/img/home/Destacados/Banner02.png\",\r\n title: \"Promo 2\",\r\n tags: \"/destacados\",\r\n\r\n body: \"\",\r\n summary_body: \"\",\r\n summary_title: \"\",\r\n groups_forbidden: [],\r\n groups_allowed: [],\r\n promotion: \"\",\r\n },\r\n {\r\n image: \"/assets/img/home/Destacados/Banner01.png\",\r\n title: \"Gol Seguro\",\r\n tags: \"/destacados\",\r\n\r\n body: \"\",\r\n summary_body: \"\",\r\n summary_title: \"\",\r\n groups_forbidden: [],\r\n groups_allowed: [],\r\n promotion: \"\",\r\n },\r\n {\r\n image: \"/assets/img/home/Destacados/Banner02.png\",\r\n title: \"Promo 2\",\r\n tags: \"/destacados\",\r\n\r\n body: \"\",\r\n summary_body: \"\",\r\n summary_title: \"\",\r\n groups_forbidden: [],\r\n groups_allowed: [],\r\n promotion: \"\",\r\n },\r\n ];\r\n\r\n return (\r\n <Container className=\"oli-font\" sx={{ backgroundColor: '#121212', position: 'relative', pb:5}} maxWidth={false} >\r\n\r\n {/* <SeccionMisiones misiones={misiones}/> */}\r\n\r\n {/*<DestacadosHeader></DestacadosHeader>*/}\r\n {/* <Stack direction=\"column\" spacing={8} useFlexGap >\r\n <SeccionEnVivo partidos={partidosEnVivo} />\r\n <SeccionEventoSemana proximos={eventosProximos} />\r\n <SeccionCombinadas combinadas={combinadas} />\r\n\r\n </Stack> */}\r\n {/* */}\r\n {/* <SeccionBonoBienvenida headline={\"¡Por tu primer deposito \\n desde S/10!\"} items={bonos} /> */}\r\n <OraculoSeccionBonoBienvenida\r\n headline={props.bonos.headline}\r\n items={props.bonos.items}\r\n />\r\n\r\n <Stack direction=\"column\" spacing={12} useFlexGap>\r\n {/* <SeccionTopJuegos topJuegos={topJuegos} /> */}\r\n <OraculoSeccionTopJuegos\r\n items={props.topJuegos.items}\r\n title={props.topJuegos.title}\r\n iconUrl={props.topJuegos.iconUrl}\r\n onCardClick={props.topJuegos.onCardClick}\r\n />\r\n {/* <SeccionCasino juegos={juegos} onClickJuego={console.log()}/> */}\r\n <OraculoSeccionCasino\r\n items={props.casino.items}\r\n title={props.casino.title}\r\n iconUrl={props.casino.iconUrl}\r\n onItemClick={props.casino.onItemClick}\r\n onViewMore={props.casino.onViewMore}\r\n />\r\n \r\n </Stack>\r\n\r\n {/* <SeccionCasinoEnVivo CasinoEnVivo={casinoEnVivo} /> */}\r\n <OraculoSeccionCasinoEnVivo\r\n items={props.casinoEnVivo.items}\r\n title={props.casinoEnVivo.title}\r\n subtitle={props.casinoEnVivo.subtitle}\r\n backgroundMobileUrl={props.casinoEnVivo.backgroundMobileUrl}\r\n backgroundDesktopUrl={props.casinoEnVivo.backgroundDesktopUrl}\r\n onCardClick={props.casinoEnVivo.onCardClick}\r\n onViewMore={props.casinoEnVivo.onViewMore}\r\n />\r\n\r\n <Stack direction=\"column\" spacing={12} useFlexGap>\r\n {/* <SeccionVirtuales virtuales={virtuales} onClickJuego={console.log()}/> */}\r\n <OraculoSeccionVirtuales\r\n items={props.virtuales.items}\r\n title={props.virtuales.title}\r\n iconUrl={props.virtuales.iconUrl}\r\n onItemClick={props.virtuales.onItemClick}\r\n onViewMore={props.virtuales.onViewMore}\r\n />\r\n {/* <SeccionDestacados listaDestacados={listaDestacados} /> */}\r\n <OraculoSeccionDestacados\r\n items={listaDestacados}\r\n title=\"Destacados\"\r\n iconUrl=\"/assets/img/home/Destacados/starIcon.svg\"\r\n onViewMore={() => console.log(\"Ver más clickeado\")}\r\n />\r\n\r\n {/* <SeccionClubOlimpo items={clubOlimpoItems} selectedIndex={0} /> */}\r\n <OraculoSeccionClubOlimpo items={props.clubOlimpo} />\r\n {/* <SeccionMediosPago /> */}\r\n </Stack>\r\n </Container>\r\n );\r\n}\r\n","\"use client\";\r\nimport React, { useEffect, useMemo, useState } from \"react\";\r\nimport { Container, Stack } from \"@mui/material\";\r\n\r\n// Section item model mirrors Firestore persisted structure\r\nexport type OraculoPageLandingPreviewSection = {\r\n id: number;\r\n title: string;\r\n componentKey: string;\r\n visible: boolean;\r\n order: number;\r\n props?: Record<string, unknown>;\r\n apiUrl?: string;\r\n dataMode?: \"url\" | \"manual\";\r\n variableName?: string;\r\n manualItems?: { fields: { name: string; type: string; value: string }[] }[];\r\n manualScalarFields?: { name: string; type: string; value: string }[];\r\n apiMethod?: \"GET\" | \"POST\";\r\n apiParams?: { id: string; key: string; value: string }[];\r\n};\r\n\r\n/** Payload bruto obtenido por fetch o construido manualmente */\r\ntype SectionPayload =\r\n | Record<string, unknown>\r\n | Array<unknown>\r\n | null\r\n | undefined;\r\n\r\nexport interface OraculoPageLandingPreviewProps {\r\n /**\r\n * Secciones a renderizar.\r\n * Ahora la librería NO sabe nada de Firestore; las secciones vienen ya listas.\r\n */\r\n sectionsOverride: OraculoPageLandingPreviewSection[];\r\n}\r\n\r\nclass HttpError extends Error {\r\n constructor(\r\n public status: number,\r\n public url: string,\r\n public statusText: string\r\n ) {\r\n super(`HTTP ${status} ${statusText}`);\r\n this.name = \"HttpError\";\r\n }\r\n}\r\n\r\nconst OraculoPageLandingPreview: React.FC<OraculoPageLandingPreviewProps> = ({\r\n sectionsOverride,\r\n}) => {\r\n const [componentMap, setComponentMap] = useState<\r\n Record<string, React.ComponentType<Record<string, unknown>>>\r\n >({});\r\n const [sectionDataMap, setSectionDataMap] = useState<\r\n Record<number, SectionPayload>\r\n >({});\r\n const [sectionLoadingMap, setSectionLoadingMap] = useState<\r\n Record<number, boolean>\r\n >({});\r\n const [sectionErrorMap, setSectionErrorMap] = useState<\r\n Record<number, string>\r\n >({});\r\n\r\n const fetchSectionData = async (\r\n section: OraculoPageLandingPreviewSection\r\n ): Promise<SectionPayload> => {\r\n const rawUrl = (section.apiUrl || \"\").trim();\r\n if (!rawUrl) return undefined;\r\n\r\n const method = section.apiMethod || \"GET\";\r\n const params = section.apiParams || [];\r\n\r\n let url = rawUrl;\r\n let body: BodyInit | undefined;\r\n let headers: HeadersInit | undefined;\r\n\r\n if (method === \"GET\") {\r\n const u = new URL(\r\n rawUrl,\r\n typeof window !== \"undefined\"\r\n ? window.location.origin\r\n : \"http://localhost\"\r\n );\r\n params.forEach((p) => {\r\n if (!p.key) return;\r\n u.searchParams.set(p.key, p.value);\r\n });\r\n url = u.toString();\r\n } else {\r\n // application/x-www-form-urlencoded\r\n const encoded = new URLSearchParams();\r\n params.forEach((p) => {\r\n if (!p.key) return;\r\n encoded.append(p.key, p.value);\r\n });\r\n body = encoded.toString();\r\n headers = {\r\n \"Content-Type\": \"application/x-www-form-urlencoded; charset=UTF-8\",\r\n };\r\n }\r\n\r\n const res = await fetch(url, {\r\n method,\r\n headers,\r\n body,\r\n });\r\n\r\n if (!res.ok) throw new HttpError(res.status, url, res.statusText);\r\n return res.json();\r\n };\r\n\r\n // Usamos siempre las secciones que vienen por props\r\n const effectiveSections = useMemo(\r\n () => (sectionsOverride ? sectionsOverride.slice() : []),\r\n [sectionsOverride]\r\n );\r\n\r\n const fetchedKeysRef = React.useRef<Set<string>>(new Set());\r\n\r\n useEffect(() => {\r\n const fetchables = effectiveSections\r\n .map((s) => ({ s, url: (s.apiUrl || \"\").trim() }))\r\n .filter(({ url }) => !!url);\r\n\r\n if (!fetchables.length) return;\r\n\r\n for (const { s, url } of fetchables) {\r\n const key = `${s.id}|${url}`;\r\n if (fetchedKeysRef.current.has(key)) continue;\r\n fetchedKeysRef.current.add(key);\r\n\r\n setSectionLoadingMap((prev) => ({ ...prev, [s.id]: true }));\r\n setSectionErrorMap((prev) => ({ ...prev, [s.id]: \"\" }));\r\n\r\n (async () => {\r\n try {\r\n const json = await fetchSectionData(s);\r\n setSectionDataMap((prev) => ({ ...prev, [s.id]: json }));\r\n } catch (err: unknown) {\r\n let message = \"Error desconocido\";\r\n if (err instanceof HttpError) {\r\n message = `Error HTTP ${err.status} (${err.statusText}) en ${err.url}`;\r\n } else if (err instanceof SyntaxError) {\r\n message = \"Respuesta no es JSON válido\";\r\n } else if (err instanceof TypeError) {\r\n message = \"Fallo de red / CORS / conexión\";\r\n } else if (typeof err === \"string\") {\r\n message = err.toString();\r\n }\r\n setSectionErrorMap((prev) => ({ ...prev, [s.id]: message }));\r\n } finally {\r\n setSectionLoadingMap((prev) => ({ ...prev, [s.id]: false }));\r\n }\r\n })();\r\n }\r\n }, [effectiveSections]);\r\n\r\n const orderedVisible = useMemo(\r\n () =>\r\n effectiveSections\r\n .filter((s) => s.visible)\r\n .sort((a, b) => a.order - b.order),\r\n [effectiveSections]\r\n );\r\n\r\n const toManualArray = (\r\n items:\r\n | { fields: { name: string; type: string; value: string }[] }[]\r\n | undefined\r\n ): Array<Record<string, unknown>> => {\r\n if (!Array.isArray(items)) return [];\r\n return items.map((it) => {\r\n const obj: Record<string, unknown> = {};\r\n for (const f of it.fields || []) {\r\n const t = (f.type || \"string\").toLowerCase();\r\n if (t === \"number\") obj[f.name] = Number(f.value);\r\n else if (t === \"boolean\")\r\n obj[f.name] = String(f.value).toLowerCase() === \"true\";\r\n else if (t === \"function\") {\r\n const body = String(f.value || \"\").trim();\r\n obj[f.name] = () => {\r\n if (!body) return;\r\n try {\r\n const fn = new Function(body);\r\n return fn();\r\n } catch (e) {\r\n console.error(\"Error función manual\", e);\r\n }\r\n };\r\n } else obj[f.name] = f.value;\r\n }\r\n return obj;\r\n });\r\n };\r\n\r\n const toManualScalars = (\r\n fields: { name: string; type: string; value: string }[] | undefined\r\n ): Record<string, unknown> => {\r\n const out: Record<string, unknown> = {};\r\n if (!Array.isArray(fields)) return out;\r\n for (const f of fields) {\r\n if (!f.name) continue;\r\n const t = (f.type || \"string\").toLowerCase();\r\n if (t === \"number\") out[f.name] = Number(f.value);\r\n else if (t === \"boolean\")\r\n out[f.name] = String(f.value).toLowerCase() === \"true\";\r\n else if (t === \"function\") {\r\n const body = String(f.value || \"\").trim();\r\n out[f.name] = () => {\r\n if (!body) return;\r\n try {\r\n const fn = new Function(body);\r\n return fn();\r\n } catch (e) {\r\n console.error(\"Error función escalar manual\", e);\r\n }\r\n };\r\n } else out[f.name] = f.value;\r\n }\r\n return out;\r\n };\r\n\r\n const mapPayloadToProps = (\r\n payload: SectionPayload,\r\n manual: { arr?: unknown[]; variableName?: string } | null,\r\n base?: Record<string, unknown>\r\n ): Record<string, unknown> => {\r\n const merged: Record<string, unknown> = base ? { ...base } : {};\r\n if (manual) {\r\n const name = (manual.variableName || \"items\").trim() || \"items\";\r\n merged[name] = manual.arr || [];\r\n return merged;\r\n }\r\n const pl = payload;\r\n const isArr = Array.isArray(pl);\r\n const obj =\r\n !isArr && typeof pl === \"object\" && pl !== null ? pl : undefined;\r\n\r\n const arrData =\r\n obj && Array.isArray((obj as any).lobby || (obj as any).items)\r\n ? (((obj as any).lobby || (obj as any).items) as unknown[])\r\n : undefined;\r\n\r\n const choose = (fallback: unknown[]) => (isArr ? pl : arrData || fallback);\r\n merged.items = choose(arrData || []);\r\n return merged;\r\n };\r\n\r\n const lazyLoadComponent = (rawKey: string) => {\r\n import(`../organisms/${rawKey}/${rawKey}`)\r\n .then((mod: Record<string, unknown>) => {\r\n const ns = mod as {\r\n default?: React.ComponentType<Record<string, unknown>>;\r\n } & Record<string, React.ComponentType<Record<string, unknown>>>;\r\n const C = ns.default ?? (ns as any)[rawKey];\r\n if (C) setComponentMap((prev) => ({ ...prev, [rawKey]: C }));\r\n })\r\n .catch((e) => {\r\n console.error(`Error cargando componente en OP ${rawKey}:`, e);\r\n });\r\n };\r\n\r\n const buildCompProps = (\r\n s: OraculoPageLandingPreviewSection\r\n ): Record<string, unknown> => {\r\n const hasUrl = !!s.apiUrl?.trim();\r\n const payload: SectionPayload = hasUrl ? sectionDataMap[s.id] : undefined;\r\n let compProps: Record<string, unknown> = s.props ? { ...s.props } : {};\r\n if (hasUrl) compProps = mapPayloadToProps(payload, null, compProps);\r\n else if (s.dataMode === \"manual\") {\r\n const arr = toManualArray(s.manualItems);\r\n compProps = mapPayloadToProps(\r\n null,\r\n { arr, variableName: s.variableName },\r\n compProps\r\n );\r\n const scalars = toManualScalars(s.manualScalarFields);\r\n compProps = { ...compProps, ...scalars };\r\n }\r\n return compProps;\r\n };\r\n\r\n const renderStatusBox = (\r\n key: number,\r\n type: \"loading\" | \"error\" | \"component\",\r\n message: string\r\n ) => {\r\n const colorMap: Record<string, string> = {\r\n loading: \"bg-blue-100 text-blue-800\",\r\n error: \"bg-red-100 text-red-800\",\r\n component: \"bg-yellow-100 text-yellow-800\",\r\n };\r\n return (\r\n <div key={key} className={`mx-4 p-4 rounded ${colorMap[type]}`}>\r\n {message}\r\n </div>\r\n );\r\n };\r\n\r\n const renderSingleSection = (s: OraculoPageLandingPreviewSection) => {\r\n const rawKey = s.componentKey;\r\n const Comp = componentMap[rawKey];\r\n const hasUrl = !!s.apiUrl?.trim();\r\n const payload = hasUrl ? sectionDataMap[s.id] : undefined;\r\n const loadingSec = hasUrl ? !!sectionLoadingMap[s.id] : false;\r\n const errorSec = hasUrl ? sectionErrorMap[s.id] : \"\";\r\n\r\n if (!Comp) {\r\n lazyLoadComponent(rawKey);\r\n return renderStatusBox(\r\n s.id,\r\n \"component\",\r\n `Cargando componente \"${rawKey}\"...`\r\n );\r\n }\r\n\r\n if (hasUrl) {\r\n if (loadingSec && !payload)\r\n return renderStatusBox(\r\n s.id,\r\n \"loading\",\r\n `Cargando datos desde ${s.apiUrl}...`\r\n );\r\n if (errorSec && !payload)\r\n return renderStatusBox(\r\n s.id,\r\n \"error\",\r\n `Error cargando ${s.apiUrl}: ${errorSec}`\r\n );\r\n }\r\n\r\n const compProps = buildCompProps(s);\r\n\r\n return (\r\n <div\r\n key={s.id}\r\n style={{\r\n paddingLeft: 16,\r\n paddingRight: 16,\r\n width: \"100%\",\r\n boxSizing: \"border-box\",\r\n }}\r\n >\r\n <Comp {...compProps} />\r\n </div>\r\n );\r\n };\r\n\r\n if (!sectionsOverride || sectionsOverride.length === 0) {\r\n return (\r\n <div className=\"text-xs text-gray-500\">\r\n Sin secciones para mostrar (sectionsOverride vacío)\r\n </div>\r\n );\r\n }\r\n\r\n return (\r\n <Container\r\n className=\"oli-font\"\r\n maxWidth={false}\r\n disableGutters\r\n sx={{\r\n backgroundColor: \"#121212\",\r\n position: \"relative\",\r\n pb: 5,\r\n pt: 5,\r\n width: \"100%\",\r\n maxWidth: \"100%\",\r\n overflowX: \"hidden\",\r\n }}\r\n >\r\n <Stack direction=\"column\" spacing={8} useFlexGap>\r\n {orderedVisible.map(renderSingleSection)}\r\n </Stack>\r\n </Container>\r\n );\r\n};\r\n\r\nexport default OraculoPageLandingPreview;\r\n"],"mappings":"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","names":["useRef","useState","_jsx","Box","jsx","jsxs","jsx","jsxs","_a","_b","_c","_d","Box","Box","jsx","jsxs","Box","_a","Box","jsx","jsxs","Box","Stack","Box","jsx","jsxs","Stack","Box","useRef","useState","Stack","Box","jsx","jsxs","useRef","useState","Stack","Box","Stack","jsx","jsxs","Stack","React","useMemo","useState","Container","Stack","jsx","useState","useMemo","React","jsx","Container","Stack","jsx","jsxs","useRef","useState"]}
|
package/dist/chunk-PVY5Z3JS.mjs
DELETED
|
@@ -1,249 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
OraculoButton
|
|
3
|
-
} from "./chunk-IJQLK4NO.mjs";
|
|
4
|
-
|
|
5
|
-
// src/organisms/OraculoSeccionCasinoEnVivo/OraculoSeccionCasinoEnVivo.tsx
|
|
6
|
-
import Box2 from "@mui/material/Box";
|
|
7
|
-
import Stack from "@mui/material/Stack";
|
|
8
|
-
import Typography2 from "@mui/material/Typography";
|
|
9
|
-
|
|
10
|
-
// src/molecules/OraculoLiveCasinoCard/OraculoLiveCasinoCard.tsx
|
|
11
|
-
import Box from "@mui/material/Box";
|
|
12
|
-
import Typography from "@mui/material/Typography";
|
|
13
|
-
import { jsx, jsxs } from "react/jsx-runtime";
|
|
14
|
-
var OraculoLiveCasinoCard = ({
|
|
15
|
-
logo,
|
|
16
|
-
provider,
|
|
17
|
-
providerName,
|
|
18
|
-
machine,
|
|
19
|
-
onClick
|
|
20
|
-
}) => {
|
|
21
|
-
var _a;
|
|
22
|
-
return /* @__PURE__ */ jsxs(
|
|
23
|
-
Box,
|
|
24
|
-
{
|
|
25
|
-
onClick,
|
|
26
|
-
sx: {
|
|
27
|
-
flex: "0 0 auto",
|
|
28
|
-
position: "relative",
|
|
29
|
-
borderRadius: "20px",
|
|
30
|
-
overflow: "hidden",
|
|
31
|
-
width: { xs: 100, md: 180 },
|
|
32
|
-
height: { xs: 200, md: 380 },
|
|
33
|
-
transition: "width .50s ease, transform .28s ease",
|
|
34
|
-
willChange: "width, transform",
|
|
35
|
-
cursor: "pointer",
|
|
36
|
-
zIndex: 0,
|
|
37
|
-
"&:hover": {
|
|
38
|
-
zIndex: 2,
|
|
39
|
-
width: { md: 260, xs: 110 }
|
|
40
|
-
},
|
|
41
|
-
"&:hover .orc-live-provider-label": {
|
|
42
|
-
opacity: 1
|
|
43
|
-
}
|
|
44
|
-
},
|
|
45
|
-
children: [
|
|
46
|
-
/* @__PURE__ */ jsx(
|
|
47
|
-
Box,
|
|
48
|
-
{
|
|
49
|
-
component: "img",
|
|
50
|
-
src: logo,
|
|
51
|
-
alt: `Juego ${machine != null ? machine : ""}`,
|
|
52
|
-
sx: {
|
|
53
|
-
position: "absolute",
|
|
54
|
-
inset: 0,
|
|
55
|
-
width: "100%",
|
|
56
|
-
height: "100%",
|
|
57
|
-
objectFit: "cover",
|
|
58
|
-
display: "block"
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
),
|
|
62
|
-
/* @__PURE__ */ jsx(
|
|
63
|
-
Box,
|
|
64
|
-
{
|
|
65
|
-
className: "orc-live-provider-label",
|
|
66
|
-
sx: {
|
|
67
|
-
position: "absolute",
|
|
68
|
-
left: "50%",
|
|
69
|
-
top: { xs: "75%", md: "80%" },
|
|
70
|
-
transform: "translate(-50%, -50%)",
|
|
71
|
-
zIndex: 3,
|
|
72
|
-
opacity: 0,
|
|
73
|
-
transition: "opacity .25s ease",
|
|
74
|
-
pointerEvents: "none"
|
|
75
|
-
},
|
|
76
|
-
children: /* @__PURE__ */ jsx(
|
|
77
|
-
Typography,
|
|
78
|
-
{
|
|
79
|
-
sx: {
|
|
80
|
-
color: "#fff",
|
|
81
|
-
fontWeight: 700,
|
|
82
|
-
fontSize: { xs: 11, md: 14 },
|
|
83
|
-
textTransform: "capitalize"
|
|
84
|
-
},
|
|
85
|
-
children: (_a = provider != null ? provider : providerName) != null ? _a : ""
|
|
86
|
-
}
|
|
87
|
-
)
|
|
88
|
-
}
|
|
89
|
-
)
|
|
90
|
-
]
|
|
91
|
-
}
|
|
92
|
-
);
|
|
93
|
-
};
|
|
94
|
-
var OraculoLiveCasinoCard_default = OraculoLiveCasinoCard;
|
|
95
|
-
|
|
96
|
-
// src/organisms/OraculoSeccionCasinoEnVivo/OraculoSeccionCasinoEnVivo.tsx
|
|
97
|
-
import { jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
98
|
-
var OraculoSeccionCasinoEnVivo = ({
|
|
99
|
-
items,
|
|
100
|
-
title = "Casino en vivo",
|
|
101
|
-
subtitle = "Disfruta la emoci\xF3n en tus juegos favoritos y gana en tiempo real.",
|
|
102
|
-
backgroundMobileUrl = "/assets/img/home/CasinoEnVivo/FondoMobile3.png",
|
|
103
|
-
backgroundDesktopUrl = "/assets/img/home/CasinoEnVivo/FondoDesktop3.png",
|
|
104
|
-
onCardClick,
|
|
105
|
-
onViewMore,
|
|
106
|
-
className
|
|
107
|
-
}) => {
|
|
108
|
-
return /* @__PURE__ */ jsxs2(
|
|
109
|
-
Box2,
|
|
110
|
-
{
|
|
111
|
-
className,
|
|
112
|
-
sx: {
|
|
113
|
-
position: "relative",
|
|
114
|
-
width: "100vw",
|
|
115
|
-
left: "50%",
|
|
116
|
-
right: "50%",
|
|
117
|
-
transform: "translateX(-50%)",
|
|
118
|
-
color: "white",
|
|
119
|
-
overflow: "hidden"
|
|
120
|
-
},
|
|
121
|
-
children: [
|
|
122
|
-
/* @__PURE__ */ jsx2(
|
|
123
|
-
Box2,
|
|
124
|
-
{
|
|
125
|
-
sx: {
|
|
126
|
-
position: "absolute",
|
|
127
|
-
inset: 0,
|
|
128
|
-
backgroundImage: {
|
|
129
|
-
xs: `
|
|
130
|
-
linear-gradient(to bottom, #121212 0%, rgba(18,18,18,0) 10%),
|
|
131
|
-
linear-gradient(to top, #121212 0%, rgba(18,18,18,0) 10%),
|
|
132
|
-
url('${backgroundMobileUrl}')
|
|
133
|
-
`,
|
|
134
|
-
md: `
|
|
135
|
-
linear-gradient(to bottom, #121212 0%, rgba(18,18,18,0) 10%),
|
|
136
|
-
linear-gradient(to top, #121212 0%, rgba(18,18,18,0) 10%),
|
|
137
|
-
url('${backgroundDesktopUrl}')
|
|
138
|
-
`
|
|
139
|
-
},
|
|
140
|
-
backgroundSize: "cover",
|
|
141
|
-
backgroundPosition: "center",
|
|
142
|
-
backgroundRepeat: "no-repeat",
|
|
143
|
-
zIndex: 0
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
),
|
|
147
|
-
/* @__PURE__ */ jsxs2(
|
|
148
|
-
Box2,
|
|
149
|
-
{
|
|
150
|
-
sx: {
|
|
151
|
-
position: "relative",
|
|
152
|
-
zIndex: 1,
|
|
153
|
-
maxWidth: 1200,
|
|
154
|
-
height: { xs: "450px", md: "550px" },
|
|
155
|
-
mx: "auto",
|
|
156
|
-
px: { xs: 2.5, md: 6 },
|
|
157
|
-
display: "flex",
|
|
158
|
-
flexDirection: { xs: "column", md: "row" },
|
|
159
|
-
alignItems: { xs: "center", md: "center" },
|
|
160
|
-
justifyContent: "center",
|
|
161
|
-
gap: { xs: 0, md: 15 },
|
|
162
|
-
textAlign: { xs: "center", md: "left" }
|
|
163
|
-
},
|
|
164
|
-
children: [
|
|
165
|
-
/* @__PURE__ */ jsxs2(Stack, { spacing: 3, sx: { maxWidth: { md: 280 } }, children: [
|
|
166
|
-
/* @__PURE__ */ jsx2(
|
|
167
|
-
Typography2,
|
|
168
|
-
{
|
|
169
|
-
variant: "h4",
|
|
170
|
-
sx: {
|
|
171
|
-
fontWeight: 800,
|
|
172
|
-
fontSize: { xs: 24, md: 40 },
|
|
173
|
-
WebkitTextStroke: "0.5px rgba(255, 255, 255, .5)",
|
|
174
|
-
textShadow: "0 0 2px rgba(255, 255, 255, .95),0 0 4px rgba(255, 255, 255, .6),0 1px 0 #898989"
|
|
175
|
-
},
|
|
176
|
-
children: title
|
|
177
|
-
}
|
|
178
|
-
),
|
|
179
|
-
/* @__PURE__ */ jsx2(
|
|
180
|
-
Typography2,
|
|
181
|
-
{
|
|
182
|
-
sx: {
|
|
183
|
-
fontSize: { xs: 14, md: 18 },
|
|
184
|
-
color: "rgba(255,255,255,0.9)",
|
|
185
|
-
marginX: { xs: 4, md: 0 },
|
|
186
|
-
lineHeight: 1.5
|
|
187
|
-
},
|
|
188
|
-
children: subtitle
|
|
189
|
-
}
|
|
190
|
-
),
|
|
191
|
-
/* @__PURE__ */ jsx2(Box2, { sx: { display: { xs: "none", md: "block" } }, children: /* @__PURE__ */ jsx2(
|
|
192
|
-
OraculoButton,
|
|
193
|
-
{
|
|
194
|
-
variant: "primary",
|
|
195
|
-
size: "md",
|
|
196
|
-
onClick: () => onViewMore == null ? void 0 : onViewMore(),
|
|
197
|
-
children: "Ver m\xE1s"
|
|
198
|
-
}
|
|
199
|
-
) })
|
|
200
|
-
] }),
|
|
201
|
-
/* @__PURE__ */ jsx2(
|
|
202
|
-
Box2,
|
|
203
|
-
{
|
|
204
|
-
sx: {
|
|
205
|
-
display: "flex",
|
|
206
|
-
gap: { xs: 2, md: 3 },
|
|
207
|
-
justifyContent: "center",
|
|
208
|
-
overflowX: { xs: "auto", md: "visible" },
|
|
209
|
-
py: { xs: 3, md: 0 },
|
|
210
|
-
alignItems: "center"
|
|
211
|
-
},
|
|
212
|
-
children: (items != null ? items : []).slice(0, 3).map((juego, idx) => {
|
|
213
|
-
var _a, _b;
|
|
214
|
-
return /* @__PURE__ */ jsx2(
|
|
215
|
-
OraculoLiveCasinoCard_default,
|
|
216
|
-
{
|
|
217
|
-
logo: `https://olimpo.bet${(_b = juego.logo) != null ? _b : ""}`,
|
|
218
|
-
provider: juego.provider,
|
|
219
|
-
providerName: juego.web_name,
|
|
220
|
-
machine: juego.machine,
|
|
221
|
-
onClick: () => onCardClick == null ? void 0 : onCardClick(juego, idx)
|
|
222
|
-
},
|
|
223
|
-
(_a = juego.orden) != null ? _a : idx
|
|
224
|
-
);
|
|
225
|
-
})
|
|
226
|
-
}
|
|
227
|
-
),
|
|
228
|
-
/* @__PURE__ */ jsx2(Box2, { sx: { display: { xs: "block", md: "none" } }, children: /* @__PURE__ */ jsx2(
|
|
229
|
-
OraculoButton,
|
|
230
|
-
{
|
|
231
|
-
variant: "primary",
|
|
232
|
-
size: "lg",
|
|
233
|
-
onClick: () => onViewMore == null ? void 0 : onViewMore(),
|
|
234
|
-
children: "Ver m\xE1s"
|
|
235
|
-
}
|
|
236
|
-
) })
|
|
237
|
-
]
|
|
238
|
-
}
|
|
239
|
-
)
|
|
240
|
-
]
|
|
241
|
-
}
|
|
242
|
-
);
|
|
243
|
-
};
|
|
244
|
-
var OraculoSeccionCasinoEnVivo_default = OraculoSeccionCasinoEnVivo;
|
|
245
|
-
|
|
246
|
-
export {
|
|
247
|
-
OraculoLiveCasinoCard_default,
|
|
248
|
-
OraculoSeccionCasinoEnVivo_default
|
|
249
|
-
};
|