{"version":3,"file":"static/js/FetchParamsUpdaterSuggestedGames.f5e4ca34.chunk.js","mappings":"sSAkBA,MAAMA,EAAoCA,KACxC,MAAM,QAAEC,EAAO,gBAAEC,IAAoBC,EAAAA,EAAAA,OAE/B,mBAAEC,IAAuBC,EAAAA,EAAAA,MAEzB,oBAAEC,IAAwBC,EAAAA,EAAAA,MAE1B,qBAAEC,IAAyBC,EAAAA,EAAAA,MAE3B,iBAAEC,IAAqBC,EAAAA,EAAAA,GAAoB,CAAEV,YAoFnD,OAlFAW,EAAAA,EAAAA,kBAAgB,KACd,GAAKF,EAqDL,OAjDIA,IAAqBG,EAAAA,GAAkBC,UAAUC,KACnDX,GAAmB,GACnBI,EAAqB,CACnBQ,KAAMC,EAAAA,EAAkCC,IACxCC,QAAS,CACPC,SAAS,MAIbC,EAAAA,EAAAA,IACEC,EAAAA,GAA8BT,EAAAA,GAAkBC,UAAUC,IAC1D,CAAC,GACAQ,IAA4C,IAADC,EAC1C,IAAKD,EACH,OAGF,MAAME,GACY,QAAhBD,EAAAD,EAASG,eAAO,IAAAF,OAAA,EAAhBA,EAAkBG,KAAIC,GAASA,EAAMC,eAAe,GAElDJ,EAAQK,QACVxB,EAAoB,CAClBU,KAAMe,EAAAA,EAAoCb,IAC1CC,QAAS,CACPa,YAAaP,EAAQQ,MAAM,EAAG/B,EAAgBgC,YAC9CC,OAAQC,EAAAA,EAAiCC,GACzCC,cAAUC,KAGdnC,GAAmB,GACnBI,EAAqB,CACnBQ,KAAMC,EAAAA,EAAkCC,IACxCC,QAAS,CACPC,aAASmB,MAIb/B,EAAqB,CACnBQ,KAAMC,EAAAA,EAAkCC,IACxCC,QAAS,CACPqB,cAAc,EACdpB,SAAS,IAGf,KAKC,KACAV,GAIDA,IAAqBG,EAAAA,GAAkBC,UAAUC,KAIrDT,EAAoB,CAClBU,KAAMe,EAAAA,EAAoCb,IAC1CC,QAAS,CACPa,iBAAaO,EACbJ,OAAQC,EAAAA,EAAiCK,SACzCC,OAAQ,KAGZlC,EAAqB,CACnBQ,KAAMC,EAAAA,EAAkCC,IACxCC,QAAS,CACPqB,kBAAcD,EACdnB,aAASmB,KAGbnC,GAAmB,GAAM,CAC1B,GACA,CAACM,EAAkBR,IAEf,IAAI,EAGAyC,GAAmCC,EAAAA,EAAAA,MAC9C5C,E","sources":["newelements/Casino/Games/__partials/fetch-updaters/FetchParamsUpdaterSuggestedGames.tsx"],"sourcesContent":["import { memo, useLayoutEffect } from 'react';\nimport {\n CUSTOM_CATEGORIES,\n CUSTOM_CATEGORY_COMMAND_NAMES\n} from 'utils/constants/casino/custom-categories';\nimport {\n CasinoSuggestedGamesResponse,\n ENewCasinoGamesFetchingParamsKey\n} from 'interfaces/new-casino';\nimport { swarmCommand } from 'services/get-swarm-data';\nimport { useSelectedCategory } from '../hooks/useSelectedCategory';\nimport { useCasinoGamesConditionalsValues } from '../providers/CasinoGamesConditionalsProvider';\nimport { useCasinoGamesConfigsValues } from '../providers/CasinoGamesConfigsContext';\nimport { useCasinoGamesFetchDisabledValues } from '../providers/CasinoGamesFetchDisabledContext';\nimport { useCasinoGamesFetchParamsValues } from '../providers/CasinoGamesFetchParamsContext';\nimport { CasinoGamesConditionalsActionType } from '../state/conditionals-reducer';\nimport { CasinoGamesFetchingParamsActionType } from '../state/reducer';\n\nconst _FetchParamsUpdaterSuggestedGames = () => {\n const { configs, computedConfigs } = useCasinoGamesConfigsValues();\n\n const { setIsFetchDisabled } = useCasinoGamesFetchDisabledValues();\n\n const { dispatchFetchParams } = useCasinoGamesFetchParamsValues();\n\n const { dispatchConditionals } = useCasinoGamesConditionalsValues();\n\n const { selectedCategory } = useSelectedCategory({ configs });\n\n useLayoutEffect(() => {\n if (!selectedCategory) {\n return;\n }\n\n if (selectedCategory === CUSTOM_CATEGORIES.suggested.id) {\n setIsFetchDisabled(true);\n dispatchConditionals({\n type: CasinoGamesConditionalsActionType.SET,\n payload: {\n loading: true\n }\n });\n\n swarmCommand(\n CUSTOM_CATEGORY_COMMAND_NAMES[CUSTOM_CATEGORIES.suggested.id],\n {},\n (response: CasinoSuggestedGamesResponse) => {\n if (!response) {\n return;\n }\n\n const gameIds =\n response.GameIds?.map(numId => numId.toString()) || [];\n\n if (gameIds.length) {\n dispatchFetchParams({\n type: CasinoGamesFetchingParamsActionType.SET,\n payload: {\n external_id: gameIds.slice(0, computedConfigs.gamesLimit),\n by_key: ENewCasinoGamesFetchingParamsKey.Id,\n category: undefined\n }\n });\n setIsFetchDisabled(false);\n dispatchConditionals({\n type: CasinoGamesConditionalsActionType.SET,\n payload: {\n loading: undefined\n }\n });\n } else {\n dispatchConditionals({\n type: CasinoGamesConditionalsActionType.SET,\n payload: {\n emptyResults: true,\n loading: false\n }\n });\n }\n }\n );\n }\n\n return () => {\n if (!selectedCategory) {\n return;\n }\n\n if (selectedCategory !== CUSTOM_CATEGORIES.suggested.id) {\n return;\n }\n\n dispatchFetchParams({\n type: CasinoGamesFetchingParamsActionType.SET,\n payload: {\n external_id: undefined,\n by_key: ENewCasinoGamesFetchingParamsKey.Category,\n offset: 0\n }\n });\n dispatchConditionals({\n type: CasinoGamesConditionalsActionType.SET,\n payload: {\n emptyResults: undefined,\n loading: undefined\n }\n });\n setIsFetchDisabled(false);\n };\n }, [selectedCategory, computedConfigs]);\n\n return null;\n};\n\nexport const FetchParamsUpdaterSuggestedGames = memo(\n _FetchParamsUpdaterSuggestedGames\n);\n"],"names":["_FetchParamsUpdaterSuggestedGames","configs","computedConfigs","useCasinoGamesConfigsValues","setIsFetchDisabled","useCasinoGamesFetchDisabledValues","dispatchFetchParams","useCasinoGamesFetchParamsValues","dispatchConditionals","useCasinoGamesConditionalsValues","selectedCategory","useSelectedCategory","useLayoutEffect","CUSTOM_CATEGORIES","suggested","id","type","CasinoGamesConditionalsActionType","SET","payload","loading","swarmCommand","CUSTOM_CATEGORY_COMMAND_NAMES","response","_response$GameIds","gameIds","GameIds","map","numId","toString","length","CasinoGamesFetchingParamsActionType","external_id","slice","gamesLimit","by_key","ENewCasinoGamesFetchingParamsKey","Id","category","undefined","emptyResults","Category","offset","FetchParamsUpdaterSuggestedGames","memo"],"sourceRoot":""}