\r\n\t\t\t\t
\r\n\t\t\t\t\t\tVent venligst\r\n\t\t\t
\r\n\t\t\t\t:
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t}\r\n\t\t\r\n\t);\r\n};\r\n\r\nWithdrawAmount.propTypes = {\r\n\tsetView: PropTypes.func,\r\n\thistory: PropTypes.shape({\r\n\t\tpush: PropTypes.func.isRequired,\r\n\t\tgoBack: PropTypes.func\r\n\t}),\r\n\tgoBack: PropTypes.func\r\n};\r\n\r\nexport default withRouter(WithdrawAmount);\r\n","import React, { useContext, useEffect, useState } from 'react';\r\nimport { withRouter } from 'react-router-dom';\r\nimport PropTypes from 'prop-types';\r\nimport { populate, formatCurrency } from 'app/withdrawFlow/Helpers';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport routes from 'app/withdrawFlow/routes';\r\nimport { Heading, Paragraph, Icon } from 'atoms';\r\nimport { PlainButton, Button, UsageBar } from 'molecules';\r\nimport Dictionary from '../../context/Dictionary';\r\nimport { updateBonus } from 'app/shared/store/slices/withdrawAmountBonusSlice';\r\n\r\nconst WithdrawAmountBonus = (props) => {\r\n const context = useContext(Dictionary);\r\n const [bonusContent, setBonusContent] = useState(null);\r\n const withdrawAmountBonus = useSelector(state => state.withdrawAmountBonus);\r\n const dictionary = context?.withdrawbonus;\r\n const dispatch = useDispatch();\r\n\r\n const clickHandle = () => {\r\n dispatch(updateBonus({ VoidBonus: true }));\r\n props.history.push(routes.withdrawAmount.url);\r\n };\r\n\r\n const cancel = () => {\r\n window.location.href = window.location.pathname;\r\n };\r\n\r\n useEffect(() => {\r\n const textData = [{ key: 'BONUS', value: formatCurrency(withdrawAmountBonus.BonusTarget, true) }];\r\n\r\n setBonusContent({\r\n usageValue: withdrawAmountBonus.BonusCurrent,\r\n usageText: formatCurrency(withdrawAmountBonus.BonusCurrent, true),\r\n maxValue: withdrawAmountBonus.BonusTarget,\r\n maxText: formatCurrency(withdrawAmountBonus.BonusTarget, true),\r\n text: dictionary.AlternativeText,\r\n textData\r\n });\r\n }, []);\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n {dictionary?.Title}\r\n \r\n \r\n \r\n {bonusContent && }\r\n \r\n \r\n {\r\n populate(dictionary?.ManchetText, [\r\n { key: 'BONUS', value: formatCurrency(withdrawAmountBonus.BonusAmount) },\r\n { key: 'BALANCE', value: formatCurrency(withdrawAmountBonus.Balance) }\r\n ], true)\r\n }\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nWithdrawAmountBonus.propTypes = {\r\n setView: PropTypes.func,\r\n history: PropTypes.shape({\r\n push: PropTypes.func.isRequired\r\n }),\r\n};\r\n\r\nexport default withRouter(WithdrawAmountBonus);\r\n","import React, { useState, useContext, useEffect } from 'react';\r\nimport { withRouter } from 'react-router-dom';\r\nimport PropTypes from 'prop-types';\r\nimport { useForm } from 'react-hook-form';\r\nimport { ErrorCategory, userVerified, hasUploaded} from 'app/withdrawFlow/constants';\r\nimport routes from 'app/withdrawFlow/routes';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { unwrapResult } from '@reduxjs/toolkit';\r\nimport { unwrapErrorStatusText} from 'foundation/apiRequest/apiRequest';\r\nimport {\r\n\tHeading, Paragraph, PhrasePrimary, Icon, Link, Row, Loader\r\n} from 'atoms';\r\nimport { BackBtn, Button } from 'molecules';\r\nimport Dictionary from '../context/Dictionary';\r\nimport { createWithdraw, voidBonus } from 'app/shared/store/api/withdraw';\r\nimport { formatCurrency } from '../Helpers';\r\nimport registerRoutes from 'app/registerFlow/routes';\r\nimport { empty } from 'app/shared/store/slices/withdrawAmountSlice';\r\nimport { isMobile } from 'foundation/utilities/isMobile';\r\n\r\nconst WithdrawOverview = (props) => {\r\n\tconst context = useContext(Dictionary);\r\n\tconst withdrawAmount = useSelector(state => state.withdrawAmount);\r\n\tconst amount = parseFloat(withdrawAmount?.Amount) || 0;\r\n\tconst [isLoading, setLoading] = useState(false);\r\n\tconst currentUser = useSelector(state => state.currentUser.currentUser);\r\n\tconst [executePayout, setExecutePayout] = useState(false);\r\n\tconst dictionary = context?.withdrawoverview;\r\n\tconst dispatch = useDispatch();\r\n\tconst { handleSubmit } = useForm();\r\n\tconst isPayoutVerifyEnabled = context?.config.isPayoutVerifyEnabled;\r\n\tconst isPayoutVerifyEnabledMobile = context?.config.isPayoutVerifyEnabledMobile;\r\n\r\n\tuseEffect(() => {\r\n\t\tif (routes.withdrawConfirmed.url === props.location.pathname) {\r\n\t\t\tsetExecutePayout(true);\r\n\t\t\tdispatchWithdraw();\r\n\t\t}\r\n\t}, [props.history.pathname]);\r\n\r\n\tconst dispatchWithdraw = () => {\r\n\t\tdispatch(createWithdraw())\r\n\t\t\t.then(unwrapResult)\r\n\t\t\t.then((res) => {\r\n\t\t\t\t// Any error code 4xx and 5xx\r\n\t\t\t\tif (res.status >= 400 || res.status === undefined) {\r\n\t\t\t\t\tthrow res;\r\n\t\t\t\t}\r\n\t\t\t\tprops.history.push(routes.withdrawSuccess.url);\r\n\t\t\t})\r\n\t\t\t.catch((error) => {\r\n\t\t\t\tconst { statusText } = unwrapErrorStatusText(error);\r\n\t\t\t\tconst errorData = error?.response?.data?.ResponseData?.Data;\r\n\r\n\t\t\t\twindow?.TC?.gaEvent('endpointError', ErrorCategory, `endpoint_create_withdraw_failed_with_${statusText}`);\r\n\r\n\t\t\t\tif (error.response.status === 401 && shouldVerifyAction()) {\r\n\t\t\t\t\tprops.history.push(registerRoutes.confirmActionError.url);\r\n\t\t\t\t} else if (errorData && error.response.status === 403 && errorData?.UserVerified === 'false') {\r\n\t\t\t\t\tsessionStorage.setItem(userVerified, 'false');\r\n\t\t\t\t\tsessionStorage.setItem(hasUploaded, errorData?.HasUploaded.toLowerCase() ?? 'false');\r\n\t\t\t\t\tprops.history.push(routes.documentation.url)\r\n\t\t\t\t} else {\r\n\t\t\t\t\tprops.history.push(routes.withdrawFailed.url);\r\n\t\t\t\t}\r\n\t\t\t}).finally(() => {\r\n\t\t\t\tif (shouldVerifyAction()) {\r\n\t\t\t\t\tdispatch(empty());\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t}\r\n\r\n\tconst shouldVerifyAction = () => {\r\n\t\tif (currentUser.hasConfirmedWithdrawOnce) return false;\r\n\t\tif (isMobile.any() && isPayoutVerifyEnabledMobile) return true;\r\n\t\tif (!isMobile.any() && isPayoutVerifyEnabled) return true;\r\n\t\treturn false;\r\n\t};\r\n\r\n\tconst dispatchVoidBonus = () => {\r\n\t\treturn dispatch(voidBonus())\r\n\t\t\t.then(unwrapResult)\r\n\t\t\t.then((res) => {\r\n\t\t\t\tif (res.status >= 400 || res.status === undefined) {\r\n\t\t\t\t\tthrow res;\r\n\t\t\t\t}\r\n\t\t\t\treturn Promise.resolve(true);\r\n\t\t\t})\r\n\t\t\t.catch((error) => {\r\n\t\t\t\tconst { statusText } = unwrapErrorStatusText(error);\r\n\t\t\t\treturn Promise.reject(statusText);\r\n\t\t\t});\r\n\t}\r\n\r\n\tconst onSubmit = () => {\r\n\t\tsetLoading(true);\r\n\t\tif (withdrawAmount.BonusId) {\r\n\t\t\tif (withdrawAmount.VoidBonus) {\r\n\t\t\t\tdispatchVoidBonus()\r\n\t\t\t\t\t.then((success) => {\r\n\t\t\t\t\t\tif (success) {\r\n\t\t\t\t\t\t\tif (shouldVerifyAction()) {\r\n\t\t\t\t\t\t\t\tprops.history.push({\r\n\t\t\t\t\t\t\t\t\tpathname: registerRoutes.confirmAction.url,\r\n\t\t\t\t\t\t\t\t\tstate: {\r\n\t\t\t\t\t\t\t\t\t\treturnUrl: routes.withdrawConfirmed.url,\r\n\t\t\t\t\t\t\t\t\t\terrorReturnUrl: registerRoutes.confirmActionError.url,\r\n\t\t\t\t\t\t\t\t\t\tdictionaryType: 'confirmpayoutaction',\r\n hideAlert: true\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tdispatchWithdraw();\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.catch((error)=> {\r\n\t\t\t\t\twindow?.TC?.gaEvent('endpointError', ErrorCategory, `endpoint_void_bonus_failed_with_${error}`);\r\n\t\t\t\t\tprops.history.push(routes.generalError.url);\r\n\t\t\t\t})\r\n\t\t\t} else {\r\n\t\t\t\tprops.history.push(routes.withdrawAmountBonus.url);\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tif (shouldVerifyAction()) {\r\n\t\t\t\tprops.history.push({\r\n\t\t\t\t\tpathname: registerRoutes.confirmAction.url,\r\n\t\t\t\t\tstate: {\r\n\t\t\t\t\t\treturnUrl: routes.withdrawConfirmed.url,\r\n\t\t\t\t\t\terrorReturnUrl: registerRoutes.confirmActionError.url,\r\n\t\t\t\t\t\tdictionaryType: 'confirmpayoutaction',\r\n hideAlert: true\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tdispatchWithdraw();\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\tconst backClick = () => {\r\n\t\tprops.history.goBack();\r\n\t};\r\n\r\n\tif (executePayout) {\r\n\t\treturn (\r\n\t\t\t
\r\n\t\t);\r\n\t}\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nWithdrawOverview.propTypes = {\r\n\tsetView: PropTypes.func,\r\n\thistory: PropTypes.shape({\r\n\t\tpush: PropTypes.func.isRequired,\r\n\t\tgoBack: PropTypes.func\r\n\t}),\r\n\tgoBack: PropTypes.func\r\n};\r\n\r\nexport default withRouter(WithdrawOverview);\r\n","import React, { useContext, useEffect } from 'react';\r\nimport { withRouter } from 'react-router-dom';\r\nimport { useSelector } from 'react-redux';\r\nimport PropTypes from 'prop-types';\r\nimport { Heading, Paragraph, PhrasePrimary, Icon, Link } from 'atoms';\r\nimport { Button } from 'molecules';\r\nimport Dictionary from '../context/Dictionary';\r\nimport { pushGaEvent } from '../../../foundation/tracking/tracking';\r\nimport { formatCurrency } from 'app/withdrawFlow/Helpers';\r\n\r\nconst WithdrawSuccess = (props) => {\r\n const context = useContext(Dictionary);\r\n const dictionary = context?.withdrawsuccess;\r\n const withdrawAmount = useSelector(state => state.withdrawAmount.Amount);\r\n const clickHandle = () => {\r\n window.location.href = window.location.pathname;\r\n };\r\n\r\n useEffect( () => {\r\n pushGaEvent('withdraw', 'success', formatCurrency(withdrawAmount));\r\n }, []);\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n {dictionary?.Title}\r\n \r\n \r\n \r\n \r\n {dictionary?.ManchetText ? \r\n {dictionary?.ManchetText}\r\n : '' }\r\n \r\n \r\n );\r\n};\r\n\r\nWithdrawSuccess.propTypes = {\r\n setView: PropTypes.func,\r\n history: PropTypes.shape({\r\n push: PropTypes.func.isRequired\r\n }),\r\n};\r\n\r\nexport default withRouter(WithdrawSuccess);\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n\tHeading, Paragraph, PhrasePrimary, Icon, Link\r\n} from 'atoms';\r\nimport { Button } from 'molecules';\r\n\r\nconst ErrorMessage = ({\r\n\tdictionary, clickHandle, ButtonText, linkTarget\r\n}) => (\r\n\t
\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t{dictionary && {dictionary.Title}}\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t{dictionary?.ManchetText}\r\n\t\t\r\n\t\t\r\n\t\t\t\r\n\t\t\r\n\t\t\r\n\t\r\n);\r\n\r\nErrorMessage.propTypes = {\r\n\tdictionary: PropTypes.shape({\r\n\t\tTitle: PropTypes.string.isRequired,\r\n\t\tManchetText: PropTypes.string.isRequired,\r\n\t\tHelpText: PropTypes.string,\r\n\t\tHelpTextLink: PropTypes.string,\r\n\t\tHelpTextLinkText: PropTypes.string,\r\n\t\tHelpTextLinkTarget: PropTypes.string,\r\n\t\tlinkTarget: PropTypes.string\r\n\t}),\r\n\tButtonText: PropTypes.string,\r\n\tclickHandle: PropTypes.func,\r\n\tlinkTarget: PropTypes.string\r\n};\r\n\r\nexport default ErrorMessage;\r\n","import React, { useContext } from 'react';\r\nimport { withRouter } from 'react-router-dom';\r\nimport PropTypes from 'prop-types';\r\nimport { ErrorMessage } from 'app/withdrawFlow/containers';\r\nimport { populate, formatCurrency } from 'app/withdrawFlow/Helpers';\r\nimport { useSelector } from 'react-redux';\r\nimport routes from 'app/withdrawFlow/routes';\r\nimport Dictionary from '../context/Dictionary';\r\n\r\nconst WithdrawFailed = (props) => {\r\n const context = useContext(Dictionary);\r\n const dictionary = context?.withdrawfailed;\r\n const withdrawAmount = useSelector(state => state.withdrawAmount);\r\n const amount = parseFloat(withdrawAmount?.Amount) || 0;\r\n\r\n if (dictionary.ManchetText) {\r\n dictionary.ManchetText = populate(dictionary.ManchetText, [{ key: 'AMOUNT', value: formatCurrency(amount) }]);\r\n }\r\n\r\n const clickHandle = () => {\r\n props.history.push(routes.withdrawAmount.url);\r\n };\r\n return (\r\n
clickHandle()}\r\n ButtonText={dictionary?.CtaText}\r\n />);\r\n};\r\n\r\nWithdrawFailed.propTypes = {\r\n setView: PropTypes.func,\r\n history: PropTypes.shape({\r\n push: PropTypes.func.isRequired\r\n }),\r\n};\r\n\r\nexport default withRouter(WithdrawFailed);\r\n","import React, { useContext } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { withRouter } from 'react-router-dom';\r\nimport Dictionary from 'app/withdrawFlow/context/Dictionary';\r\nimport { ErrorMessage } from 'app/withdrawFlow/containers';\r\nimport routes from 'app/withdrawFlow/routes';\r\n\r\nconst GeneralError = (props) => {\r\n const context = useContext(Dictionary);\r\n const dictionary = context?.generalerror;\r\n\r\n const clickHandle = () => {\r\n props.history.push(routes.withdrawAmount.url);\r\n };\r\n\r\n return (\r\n clickHandle()}\r\n ButtonText={dictionary?.CtaText}\r\n />);\r\n};\r\n\r\nGeneralError.propTypes = {\r\n setView: PropTypes.func,\r\n history: PropTypes.shape({\r\n push: PropTypes.func.isRequired\r\n })\r\n};\r\n\r\n\r\nexport default withRouter(GeneralError);\r\n","import React, { useContext } from 'react';\r\nimport { withRouter } from 'react-router-dom';\r\nimport PropTypes from 'prop-types';\r\nimport routes from 'app/withdrawFlow/routes';\r\nimport Dictionary from 'app/withdrawFlow/context/Dictionary';\r\nimport { ErrorMessage } from 'app/withdrawFlow/containers';\r\n\r\nconst SessionFail = (props) => {\r\n const context = useContext(Dictionary);\r\n const dictionary = context?.sessionexpired;\r\n\r\n const clickHandle = () => {\r\n props.history.push(routes.login.url);\r\n };\r\n\r\n return (\r\n );\r\n};\r\n\r\nSessionFail.propTypes = {\r\n setView: PropTypes.func,\r\n history: PropTypes.shape({\r\n push: PropTypes.func.isRequired\r\n }),\r\n};\r\n\r\nexport default withRouter(SessionFail);\r\n","import React, { useEffect, useState } from 'react';\r\nimport {\r\n\tSwitch, Route, withRouter, useLocation\r\n} from 'react-router-dom';\r\nimport { SwitchTransition, CSSTransition } from 'react-transition-group';\r\nimport { LastLocationProvider } from 'react-router-last-location';\r\nimport routes from 'app/withdrawFlow/routes';\r\nimport { Provider } from 'react-redux';\r\nimport { PersistGate } from 'redux-persist/integration/react';\r\nimport PropTypes from 'prop-types';\r\nimport { fetchAuth } from 'foundation/Helpers/fetchAuth';\r\nimport { ErrorCategory, userVerified } from 'app/withdrawFlow/constants';\r\nimport AuthContext from 'app/withdrawFlow/context/Auth';\r\nimport { PrivateRoute } from 'app/withdrawFlow/Helpers';\r\nimport {\r\n\tWithdrawAmount,\r\n\tWithdrawAmountBonus,\r\n\tWithdrawOverview,\r\n\tWithdrawSuccess,\r\n\tWithdrawFailed,\r\n\tGeneralError,\r\n\tSessionFail\r\n} from 'app/withdrawFlow/Views';\r\nimport { store, persistor } from 'app/shared/store';\r\nimport { ProgressBar } from 'molecules';\r\nimport { Modal } from 'organisms';\r\n\r\nconst WithdrawApp = (props) => {\r\n\tconst [isModalOpen, setModalVisibility] = useState(null);\r\n\tconst [auth, setAuth] = useState(true);\r\n\tconst { pathname } = props.location;\r\n\r\n\tconst currentRoute = Object.values(routes).filter((route) => {\r\n\t\tif (route.url.indexOf(':') > -1) {\r\n\t\t\tconst tempRoute = route.url.substring(0, route.url.indexOf(':'));\r\n\t\t\tconst isPartOfRoute = pathname.indexOf(tempRoute);\r\n\t\t\tif (isPartOfRoute === 0) {\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn route.url === pathname;\r\n\t})[0];\r\n\r\n\tconst { progress, label, isVisible, skipAuth } = currentRoute || {};\r\n\tconst location = useLocation();\r\n\tlet closeTitle = 'Luk';\r\n\tif (pathname === routes.withdrawAmount.url || pathname === routes.withdrawOverview.url) {\r\n\t\tcloseTitle = 'Afbryd';\r\n\t}\r\n\r\n\tuseEffect(() => {\r\n\t\tlet isMounted = true;\r\n\r\n\t\ttry {\r\n\t\t\t\tconst pathArray = pathname.split('/');\r\n\t\t\t\tlet name = pathArray[pathArray.length - 1];\r\n\r\n\t\t\t\tif (!name.length) {\r\n\t\t\t\t\tname = 'forside';\r\n\t\t\t\t}\r\n\t\t\t\tif (currentRoute) {\r\n\t\t\t\t\tif (sessionStorage\r\n\t\t\t\t\t\t&& sessionStorage.getItem(userVerified)\r\n\t\t\t\t\t\t&& sessionStorage.getItem(userVerified).replace(/[^\\w!?]/g,'') === 'false') {\r\n\t\t\t\t\t\treturn props.history.push(routes.documentation.url);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (!skipAuth) {\r\n\t\t\t\t\t\tfetchAuth()\r\n\t\t\t\t\t\t\t.then((authResponse) => {\r\n if (isMounted) {\r\n setAuth(authResponse?.data?.Data?.IsAuthValid.toLowerCase() === 'true');\r\n }\r\n\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t.catch((authError) => {\r\n if (isMounted) {\r\n setAuth(false);\r\n }\r\n\t\t\t\t\t\t\t\twindow?.TC?.gaEvent('sessionError', ErrorCategory, `session_failed_with_${authError.statusText}`);\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t\twindow?.TC?.pushVirtualPage(name, `/virtualPath/udbetaling${pathname}`, '');\r\n if (isMounted) {\r\n setModalVisibility(true);\r\n }\r\n\t\t\t\t} else {\r\n\t\t\t\t\tprops.history.push(routes.generalError.url);\r\n\t\t\t\t}\r\n\r\n\t\t} catch (pathError) {\r\n\t\t\tconsole.error('Could not get route', pathname, pathError);\r\n\t\t}\r\n\t\treturn () => { isMounted = false; };\r\n\t}, [location]);\r\n\r\n\tconst toggleModal = (isModalVisible) => {\r\n\t\tsetModalVisibility(isModalVisible);\r\n\r\n\t\tif (isModalVisible) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\twindow.location.href = window.location.pathname; // Link to current page\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n};\r\n\r\nWithdrawApp.propTypes = {\r\n\thistory: PropTypes.shape({\r\n\t\tpush: PropTypes.func.isRequired,\r\n\t}),\r\n\tlocation: PropTypes.shape({\r\n\t\tpathname: PropTypes.string\r\n\t}),\r\n\tmodelId: PropTypes.string,\r\n\tappBaseRoute: PropTypes.string\r\n};\r\n\r\nexport default withRouter(WithdrawApp);\r\n","import React from 'react';\r\n\r\nexport default React.createContext({});\r\n"],"names":["appBaseRoute","window","TC","appRoutes","withdraw","login","url","documentation","withdrawAmount","label","progress","isVisible","skipAuth","withdrawAmountBonus","withdrawOverview","withdrawConfirmed","withdrawSuccess","withdrawFailed","generalError","sessionFail","userVerified","ErrorCategory","React","props","useContext","AuthContext","Route","Redirect","to","pathname","routes","populate","dictionary","data","dangerously","populated","forEach","entry","includes","key","replace","RegExp","value","html","__html","dangerouslySetInnerHTML","formatCurrency","number","useFixed","noCurrency","Intl","NumberFormat","style","currency","maximumFractionDigits","minimumFractionDigits","format","createWithdraw","createAsyncThunk","async","ignore_","thunkAPI","Amount","getState","formData","parseFloat","ApiRequest","method","error","getBalance","getActiveBonus","getDepositLimits","err","Error","voidBonus","BonusId","bonusId","WithdrawAmount","context","Dictionary","balance","setBalance","useState","fetchData","setFetchData","currentUser","useSelector","state","withdrawamount","dispatch","useDispatch","register","handleSubmit","errors","clearErrors","setValue","useForm","mode","reValidateMode","defaultValues","lastLocation","useLastLocation","resetForm","document","querySelector","reset","useEffect","isMounted","isAuthenticated","then","unwrapResult","limitsResponse","status","undefined","DepositLimit","Limits","some","limit","Limit","balanceResponse","update","VoidBonus","RealAmount","empty","Promise","resolve","reject","verifyBonusState","success","bonusResponse","updateBonus","BonusCurrent","Wagered","BonusTarget","WageringReq","BonusAmount","Balance","history","push","catch","statusText","unwrapErrorStatusText","gaEvent","redirect","limits","showFlowAfterLogin","showWithdraw","showDeposit","registerRoutes","detectLogin","className","BackBtn","onClick","backClick","goBack","Heading","Title","Icon","iconId","Paragraph","ManchetText","name","onSubmit","parsedAmount","replaceAll","onError","Label","Input","useRef","required","ValidationDictionary","validate","amount","parseAmount","validateAmount","id","title","placeholder","type","step","onChange","onFocus","event","cleanAmount","target","onBlur","reduceComma","onKeyUp","GuidanceDictionary","PhraseSecondary","AlternativeText","Button","CtaText","PhrasePrimary","useDiv","HelpText","Link","href","HelpTextLink","HelpTextLinkText","propTypes","setView","PropTypes","isRequired","withRouter","WithdrawAmountBonus","bonusContent","setBonusContent","withdrawbonus","textData","usageValue","usageText","maxValue","maxText","text","UsageBar","content","theme","showUptick","clickHandle","PlainButton","cancel","location","WithdrawOverview","isLoading","setLoading","executePayout","setExecutePayout","withdrawoverview","isPayoutVerifyEnabled","config","isPayoutVerifyEnabledMobile","dispatchWithdraw","res","errorData","response","ResponseData","Data","shouldVerifyAction","confirmActionError","UserVerified","sessionStorage","setItem","HasUploaded","toLowerCase","finally","hasConfirmedWithdrawOnce","isMobile","any","Loader","confirmAction","returnUrl","errorReturnUrl","dictionaryType","hideAlert","Row","left","isHeader","right","isAlternate","isFooter","WithdrawSuccess","withdrawsuccess","pushGaEvent","HelpTextLinkTarget","ErrorMessage","_ref","ButtonText","linkTarget","WithdrawFailed","withdrawfailed","GeneralError","generalerror","SessionFail","sessionexpired","WithdrawApp","isModalOpen","setModalVisibility","auth","setAuth","currentRoute","Object","values","filter","route","indexOf","tempRoute","substring","useLocation","closeTitle","pathArray","split","length","getItem","fetchAuth","authResponse","IsAuthValid","authError","pushVirtualPage","pathError","console","Provider","store","LastLocationProvider","PersistGate","loading","persistor","Modal","visible","toggleModal","isModalVisible","ProgressBar","heading","current","SwitchTransition","CSSTransition","classNames","timeout","Switch","PrivateRoute","exact","path","component","modelId"],"sourceRoot":""}