{"version":3,"file":"static/chunks/41924.b4a1cdad36d82478.js","sources":["webpack://_N_E/./src/modules/chat/store/chat.epic.tsx","webpack://_N_E/./src/modules/chat/methods/setChatVisibility.ts","webpack://_N_E/./src/modules/chat/store/thunks/unbindChatStreamAction.thunk.ts","webpack://_N_E/./src/modules/chat/methods/getChatVisibility.ts"],"sourceRoot":"","sourcesContent":["import { combineEpics } from 'redux-observable';\nimport { of } from 'rxjs';\nimport { LOCATION_CHANGE } from 'connected-next-router';\nimport {\n\tSET_DEVICE_TYPE,\n\tSET_LANGUAGE,\n\tSIDE_MENU_HIDE,\n\tSIDE_MENU_TOGGLE,\n} from '@legacyApp/client/store/app/app.constants';\nimport { config } from '@legacyApp/client/config';\nimport { USER_LOGOUT } from '@legacyApp/client/store/user/user.constants';\nimport { showAlert } from '@legacyApp/client/store/alerts/alerts.actions';\nimport { trans } from '@legacyApp/client/modules/translation/translate';\nimport { regexStrings } from '@legacyApp/client/modules/app/regexService';\nimport { epic, epicOldState } from '@legacyApp/client/modules/app/epicService';\nimport { setLockedView } from '@legacyApp/client/store/app/app.actions';\nimport { Sounds } from '@common/constants/config/sounds';\nimport { regexString } from '@legacyApp/client/modules/app/regexString';\nimport { REGISTRY_CHAT_PACKAGE } from '@legacyApp/client/store/registry/registry.constants';\nimport { getPathnameWithoutLang } from '@common/methods/getPathnameWithoutLang/getPathnameWithoutLang';\nimport { sportsBetSlipClearPlacedBets } from '../../sports/store/sportsBetSlip/sportsBetSlip.thunk';\nimport { toggleChatVisibilityBodyClass } from '../methods/toggleChatVisibilityBodyClass';\nimport { getChatVisibility } from '../methods/getChatVisibility';\nimport { setChatVisibility } from '../methods/setChatVisibility';\nimport { checkRealUserName } from '../methods/checkRealUserName';\nimport { checkChatDisabled } from '../methods/checkChatDisabled';\nimport audioService from '../../../LegacyApp/client/modules/app/audioService';\nimport { ChatBotTypes, createBotLogin } from '../constants/BOTS';\nimport { chatActions } from './chat.actions';\nimport { unbindStreams } from './chat.constants';\nimport { unbindChatStreamActionThunk } from './thunks/unbindChatStreamAction.thunk';\nimport { getRoomStreamThunk } from './thunks/getRoomStream.thunk';\n\nconst visibilityEpic = epic<ReturnType<typeof chatActions.setVisible>>(\n\t'visibilityEpic',\n\t{\n\t\tactions: (ofType) => ofType(chatActions.setVisible().type),\n\t\tcallback: ({ action, store$ }) => {\n\t\t\tconst actions = [];\n\t\t\tconst { isVisible, noLs } = action.payload;\n\t\t\tif ((isVisible && store$.value.app.mobile) || !isVisible) {\n\t\t\t\tactions.push(setLockedView('visibilityEpic', !!isVisible));\n\t\t\t}\n\t\t\tif (!noLs) {\n\t\t\t\tsetChatVisibility(isVisible);\n\t\t\t}\n\t\t\ttoggleChatVisibilityBodyClass(isVisible);\n\t\t\tif (!isVisible) {\n\t\t\t\tactions.push(sportsBetSlipClearPlacedBets());\n\t\t\t}\n\t\t\treturn of(actions);\n\t\t},\n\t},\n);\n\nconst switchRoomEpic = epic<ReturnType<typeof chatActions.setRoom>>(\n\t'switchRoomEpic',\n\t{\n\t\tactions: (ofType) => ofType(chatActions.setRoom().type),\n\t\tcallback: ({ action, store$ }) => {\n\t\t\tconst result = [];\n\t\t\tif (action.payload.lastRoom) {\n\t\t\t\tresult.push(unbindChatStreamActionThunk(action.payload.lastRoom));\n\t\t\t}\n\t\t\tunbindStreams.reset(store$.value?.chat?.room);\n\t\t\tif (!store$.value?.chat?.stream[action.payload.name]) {\n\t\t\t\treturn of([\n\t\t\t\t\t...result,\n\t\t\t\t\tchatActions.setStream({ room: action.payload.name, list: [] }),\n\t\t\t\t\tgetRoomStreamThunk(),\n\t\t\t\t]);\n\t\t\t}\n\t\t\tif (!store$.value?.chat?.stream?.[action.payload.name].length) {\n\t\t\t\treturn of([...result, getRoomStreamThunk()]);\n\t\t\t}\n\t\t\treturn of(result);\n\t\t},\n\t},\n);\n\nconst updateStreamEpic = epic<ReturnType<typeof chatActions.updateStream>>(\n\t'updateStreamEpic',\n\t{\n\t\tactions: (ofType) => ofType(chatActions.updateStream().type),\n\t\tcallback: ({ action, store$ }) => {\n\t\t\tconst regexResult = regexString(\n\t\t\t\tregexStrings.userName(store$.value.user.name),\n\t\t\t\taction.payload.data.message,\n\t\t\t);\n\t\t\t// console.log('test regex', {\n\t\t\t//   regexResult: regexResult,\n\t\t\t//   message: action.payload.message,\n\t\t\t// });\n\t\t\tif (\n\t\t\t\tstore$.value.user.name &&\n\t\t\t\t!!regexResult &&\n\t\t\t\taction.payload.data.message.indexOf(\n\t\t\t\t\t`goes from @${store$.value.user.name}`,\n\t\t\t\t) === -1\n\t\t\t) {\n\t\t\t\tif (\n\t\t\t\t\taction.payload.data.user.login === createBotLogin(ChatBotTypes.RAIN)\n\t\t\t\t) {\n\t\t\t\t\tconst split = action.payload.data.message.split(' ');\n\t\t\t\t\tconst amount = parseFloat(split[0]);\n\t\t\t\t\tconst currency = split[1].toLowerCase();\n\t\t\t\t\treturn of(\n\t\t\t\t\t\tshowAlert(\n\t\t\t\t\t\t\t'info',\n\t\t\t\t\t\t\ttrans({\n\t\t\t\t\t\t\t\tlabel: 'You have received {{amount}} {{currency}} from RAIN',\n\t\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\t\tamount,\n\t\t\t\t\t\t\t\t\tcurrency: currency.toUpperCase(),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t),\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tif (\n\t\t\t\t\taction.payload.data.user.login === createBotLogin(ChatBotTypes.TIP)\n\t\t\t\t) {\n\t\t\t\t\tif (\n\t\t\t\t\t\taction.payload.data.message.indexOf(\n\t\t\t\t\t\t\t`@${store$.value.user.name}`,\n\t\t\t\t\t\t) === 0\n\t\t\t\t\t) {\n\t\t\t\t\t\treturn of();\n\t\t\t\t\t}\n\t\t\t\t\tconst split = action.payload.data.message.split(' ');\n\t\t\t\t\tconst user = split[0].replace('@', '').split(':')[0];\n\t\t\t\t\tconst amount = parseFloat(split[2]);\n\t\t\t\t\tconst currency = split[3].toLowerCase();\n\t\t\t\t\treturn of(\n\t\t\t\t\t\tshowAlert(\n\t\t\t\t\t\t\t'info',\n\t\t\t\t\t\t\ttrans({\n\t\t\t\t\t\t\t\tlabel:\n\t\t\t\t\t\t\t\t\t'You have received {{amount}} {{currency}} TIP from {{user}}',\n\t\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\t\tamount,\n\t\t\t\t\t\t\t\t\tcurrency: currency.toUpperCase(),\n\t\t\t\t\t\t\t\t\tuser,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t),\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\t// TODO: chat store usage\n\t\t\t\tif (\n\t\t\t\t\taction.payload.data.user.login !== store$.value.user.name &&\n\t\t\t\t\taction.payload.room === store$.value?.chat?.room\n\t\t\t\t) {\n\t\t\t\t\taudioService.play(Sounds.mention, undefined, 0.2);\n\t\t\t\t\treturn of(\n\t\t\t\t\t\tshowAlert(\n\t\t\t\t\t\t\t'info',\n\t\t\t\t\t\t\ttrans({\n\t\t\t\t\t\t\t\tlabel: 'You were mentioned by {{user}}',\n\t\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\t\tuser:\n\t\t\t\t\t\t\t\t\t\ttypeof action.payload.data.user.login === 'string'\n\t\t\t\t\t\t\t\t\t\t\t? action.payload.data.user.login\n\t\t\t\t\t\t\t\t\t\t\t: '',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\tconfig.mentionedAlertTimeout,\n\t\t\t\t\t\t),\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t\t// TODO: chat store usage\n\t\t\tif (\n\t\t\t\tstore$.value?.chat?.users.indexOf(action.payload.data.user.login) >\n\t\t\t\t\t-1 ||\n\t\t\t\t!checkRealUserName(action.payload.data.user.login)\n\t\t\t) {\n\t\t\t\treturn of();\n\t\t\t}\n\t\t\treturn of(chatActions.addUser(action.payload.data.user.login));\n\t\t},\n\t},\n);\n\nconst initializedEpic = epic('initializedEpic', {\n\tactions: (ofType) => ofType(REGISTRY_CHAT_PACKAGE),\n\tcallback: ({ store$ }) => {\n\t\tif (store$.value.chat.room) {\n\t\t\treturn of();\n\t\t}\n\t\tconst room =\n\t\t\tconfig.chat.rooms.find((el) => store$.value.app.language === el.symbol)\n\t\t\t\t?.id || config.chat.rooms[0].id;\n\t\tif (room) {\n\t\t\treturn of(chatActions.setRoom({ name: room }));\n\t\t}\n\t\treturn of();\n\t},\n});\n\nconst widthEpic = epic('widthEpic', {\n\tactions: (ofType) =>\n\t\tofType(\n\t\t\tSET_DEVICE_TYPE,\n\t\t\tchatActions.setVisible().type,\n\t\t\tSIDE_MENU_HIDE,\n\t\t\tSIDE_MENU_TOGGLE,\n\t\t),\n\tcallback: ({ store$ }) => {\n\t\t// TODO: chat store usage\n\t\tconst width =\n\t\t\t!store$.value?.chat?.visible && !store$.value?.app?.isSideMenuVisible\n\t\t\t\t? 0\n\t\t\t\t: store$.value.app.deviceType === 'desktopBig'\n\t\t\t\t? 370\n\t\t\t\t: 320;\n\t\t// TODO: chat store usage\n\t\tif (width !== store$.value?.chat?.width) {\n\t\t\treturn of(chatActions.setWidth(width));\n\t\t}\n\t\treturn of();\n\t},\n});\n\nconst contentTypeChangeEpic = epic<\n\tReturnType<typeof chatActions.setContentType>\n>('contentTypeChangeEpic', {\n\tactions: (ofType) => ofType(chatActions.setContentType().type),\n\tcallback: () => {\n\t\treturn of(chatActions.setPrivateActive());\n\t},\n});\n\nconst logoutEpic = epic('logoutEpic', {\n\tactions: (ofType) => ofType(USER_LOGOUT),\n\tcallback: () => {\n\t\treturn of(chatActions.setContentType());\n\t},\n});\n\nconst disableEpic = epicOldState('disableEpic', {\n\tactions: (ofType) => ofType(LOCATION_CHANGE, SET_LANGUAGE),\n\tcallback: ({ store$, newState, oldState }) => {\n\t\tconst { mobile, language } = store$.value.app;\n\t\t// TODO: chat store usage\n\t\tconst { disabled, visible } = store$.value?.chat || {};\n\n\t\tconst newPathname = getPathnameWithoutLang(\n\t\t\tnewState.router.location.pathname,\n\t\t);\n\t\tconst oldPathname = getPathnameWithoutLang(\n\t\t\toldState.router.location.pathname,\n\t\t);\n\n\t\tif (!language) {\n\t\t\treturn [];\n\t\t}\n\t\tconst isDisabled = checkChatDisabled(newPathname);\n\t\tconst result = [];\n\t\tif (disabled !== isDisabled) {\n\t\t\tresult.push(chatActions.setDisabled(isDisabled));\n\t\t}\n\t\tif (isDisabled && visible) {\n\t\t\tresult.push(chatActions.setVisible({ isVisible: false, noLs: true }));\n\t\t}\n\t\tif (!isDisabled) {\n\t\t\tif (mobile && visible) {\n\t\t\t\tif (oldPathname === newPathname) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\t\t\t\treturn [...result, chatActions.setVisible({ isVisible: false })];\n\t\t\t}\n\t\t\tconst bool = getChatVisibility();\n\t\t\tif (!mobile && bool !== visible) {\n\t\t\t\tresult.push(chatActions.setVisible({ isVisible: bool }));\n\t\t\t}\n\t\t}\n\t\treturn result;\n\t},\n});\n\nconst chatEpic = combineEpics(\n\tswitchRoomEpic,\n\tvisibilityEpic,\n\tupdateStreamEpic,\n\tinitializedEpic,\n\twidthEpic,\n\tcontentTypeChangeEpic,\n\tlogoutEpic,\n\tdisableEpic,\n);\n\nexport default chatEpic;\n","import { lsSet } from '@modules/localStorage/methods/lsSet';\nimport { LocalStorageKeys } from '@modules/localStorage/types/localStorageKeys.type';\n\nexport const setChatVisibility = (bool: boolean) =>\n\tlsSet(LocalStorageKeys.CHAT_VISIBLE, bool);\n","import { unbindSocketChannel } from '@legacyApp/client/store/websocket/websocket.actions';\nimport { WEBSOCKET_CHANNELS } from '@legacyApp/client/store/websocket/websocket.constants';\nimport { config } from '@legacyApp/client/config';\nimport { AppThunk } from '@legacyApp/types/store/ThunkAction';\nimport { unbindStreams } from '../chat.constants';\nimport { chatActions } from '../chat.actions';\n\nexport const unbindChatStreamActionThunk = (room): AppThunk => {\n\treturn (dispatch) => {\n\t\tunbindStreams.reset(room);\n\t\tunbindStreams.setTimeout(\n\t\t\troom,\n\t\t\t() => {\n\t\t\t\tdispatch(chatActions.setStream({ room, list: [] }));\n\t\t\t\tdispatch(unbindSocketChannel(`${WEBSOCKET_CHANNELS.CHAT}.${room}`));\n\t\t\t},\n\t\t\tconfig.chat.clearRoomTimeout,\n\t\t);\n\t};\n};\n","import { lsGet } from '@modules/localStorage/methods/lsGet';\nimport { LocalStorageKeys } from '@modules/localStorage/types/localStorageKeys.type';\n\nexport const getChatVisibility = () => {\n\treturn lsGet(LocalStorageKeys.CHAT_VISIBLE, false);\n};\n"],"names":["visibilityEpic","epic","actions","ofType","chatActions","type","callback","bool","action","store$","payload","isVisible","noLs","value","app","mobile","push","setLockedView","lsSet","LocalStorageKeys","toggleChatVisibilityBodyClass","sportsBetSlipClearPlacedBets","of","switchRoomEpic","room","result","lastRoom","dispatch","unbindStreams","list","unbindSocketChannel","WEBSOCKET_CHANNELS","config","chat","stream","name","length","getRoomStreamThunk","updateStreamEpic","regexResult","regexString","regexStrings","user","data","message","indexOf","login","createBotLogin","ChatBotTypes","split","amount","parseFloat","currency","toLowerCase","showAlert","trans","label","options","toUpperCase","replace","audioService","Sounds","undefined","users","checkRealUserName","initializedEpic","REGISTRY_CHAT_PACKAGE","el","language","symbol","id","widthEpic","SET_DEVICE_TYPE","SIDE_MENU_HIDE","SIDE_MENU_TOGGLE","width","visible","isSideMenuVisible","deviceType","contentTypeChangeEpic","logoutEpic","USER_LOGOUT","disableEpic","epicOldState","LOCATION_CHANGE","SET_LANGUAGE","newState","oldState","disabled","newPathname","getPathnameWithoutLang","router","location","pathname","oldPathname","isDisabled","checkChatDisabled","lsGet","combineEpics"],"mappings":"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","debug_id":"48d10401-1683-561d-ae8c-7ee8cb4d5a94"}