{"version":3,"sources":["features/translation/service.ts","features/translation/loader.tsx","features/translation/index.ts","components/button/index.ts","features/navigation/actions.ts","configuration/environment.ts","components/dialogManager/index.ts","regex/cz/regex.cz.ts","regex/hu/regex.hu.ts","regex/sk/regex.sk.ts","regex/index.ts","components/fullPageLoadingIndicator/actions.ts","api/responses/baseResponse.ts","api/clients/baseClient.ts","api/clients/baseJsonClient.ts","api/clients/authenticationClient.ts","api/clients/xcallyClient.ts","api/clients/clientClient.ts","api/clients/catalogClient.ts","api/clients/pickupTimeClient.ts","api/clients/announcementClient.ts","api/clients/contractClient.ts","api/clients/claimClient.ts","api/clients/whistleblowingClient.ts","api/handlers/authenticatedRequestHandler.ts","api/handlers/errorHandler.ts","api/sagas/apiCallHandler.ts","api/utils/stringToDate.ts","api/interceptors/stringToDateInterceptor.ts","configuration/api.ts","api/index.ts","api/apiClient.ts","components/fullPageLoadingIndicator/fullPageLoadingIndicatorContainer.tsx","features/navigation/index.ts","components/textField/styles.ts","components/textField/textField.tsx","components/textField/textArea.tsx","components/textField/index.ts","environment/context.tsx","components/fullPageLoadingIndicator/index.ts","features/xcally/types.ts","components/dialogManager/formComponentRegistrator.ts","core/actions.ts","features/xcally/validationSchemas.ts","features/xcally/callback.tsx","features/xcally/callbackContainer.tsx","components/fullPageLoadingIndicator/reducer.ts","core/nameOfFactory.ts","features/browserBaseApp/supportedBrowserService.ts","features/navigation/reducer.ts","components/dialogManager/reducer.ts","features/xcally/reducer.ts","components/datePicker/dateTimePicker.tsx","components/datePicker/datePicker.tsx","components/autocomplete/autocomplete.tsx","store/store.default.ts","features/navigation/externalLink.tsx","features/navigation/saga.ts","features/xcally/saga.ts","components/dialogManager/saga.ts","features/xcally/actions.ts","components/dialogManager/actions.ts","features/navigation/linkButton.tsx","components/button/primaryButton.tsx","components/button/secondaryButton.tsx","components/dialogManager/unsupportedBrowserDialogContentText.tsx","components/dialogManager/helper.ts","environment/environment.ts","components/dialogManager/yesNoDialog.tsx","components/dialogManager/baseDialog.tsx","components/dialogManager/formDialog.tsx","components/dialogManager/modalDialogContainer.tsx","configuration/url.ts","features/navigation/routes.ts","reportWebVitals.ts","features/theme/context.tsx","features/theme/themeLoader.ts","features/cookiePanel/cookiePanel.tsx","features/cookiePanel/index.ts","features/browserBaseApp/browserBaseApp.tsx","features/browserBaseApp/index.ts","store/loader.tsx","store/storeLoader.ts","index.tsx"],"names":["customLanguageDetector","currentEnvironment","Error","i18n","I18nLoader","props","React","useState","isLoaded","setIsLoaded","i18nCallback","error","t","useEffect","callback","use","HttpBackend","initReactI18next","init","lng","fallbackLng","react","useSuspense","load","ns","debug","process","interpolation","escapeValue","format","value","toLowerCase","backend","loadPath","console","children","size","routeChangeAction","createAction","navigateToAction","navigateToHashAction","navigateBackAction","environment","country","CzEnvironmentRegex","phoneNumberRegex","phoneNumberWithPrefixRegex","phoneNumberOnlyWithPrefixRegex","HuEnvironmentRegex","SkEnvironmentRegex","emailRegex","phoneNumberWithPlusPrefixRegex","regex","isEmail","contact","test","isPhoneNumber","isPhoneNumberWithPrefix","isPhoneNumberWithPlusPrefix","cz","sk","hu","showFullPageLoadingIndicator","hideFullPageLoadingIndicator","BaseResponse","resultCode","resultReason","httpStatusCode","this","BaseClient","errorHandler","axiosInstance","modelPath","route","query","handleRequestAsync","a","response","errorResposne","message","data","config","headers","Accept","get","composeUrl","axiosResponse","put","post","delete","urlBuilder","AuthenticationClient","otpModel","postHttpAsync","userName","password","fakeSessionId","XcallyClient","mutation","getHttpAsync","ClientClient","CatalogClient","PickupTimeClient","AnnouncementClient","postFormDataHttpAsync","ContractClient","ClaimClient","WhistleblowingClient","AuthenticatedRequestHandler","request","ErrorHandler","responses","log","i18next","includes","status","apiCallHandler","ctxAndFnName","args","apiCallFnName","context","warn","isIso8601","undefined","stringToDate","body","Date","parse","Object","keys","key","StringToDateInterceptor","baseUrl","apiTokenExpirationInMinutes","REACT_APP_API_TOKEN_EXPIRATION_IN_MINUTES","Number","parseInt","ApiClient","Authentication","Announcement","Xcally","Client","Catalog","PickupTime","Contract","Claim","Whistleblowing","registerInterceptors","interceptors","execute","Promise","reject","axios","create","baseURL","timeout","withCredentials","validateStatus","useStyles","makeStyles","theme","createStyles","root","position","zIndex","right","bottom","top","left","display","alignItems","justifyContent","visibility","FullPageLoadingIndicatorContainer","memo","classes","show","className","open","connect","loadingIndicator","showIndicator","inputLabelRoot","fontSize","transform","breakpoints","up","inputLabelOutlined","input","backgroundColor","palette","background","paper","height","lineHeight","paddingLeft","spacing","paddingBottom","paddingTop","autocompleteInputRoot","padding","autocompleteInput","title","letterSpacing","description","color","grey","marginBottom","TextField","Fragment","Typography","fullWidth","InputLabelProps","outlined","InputProps","variant","TextArea","descriptionLength","setDescriptionLength","useTranslation","defaultLabelKey","currentStateLabelKey","rest","onDescriptionChange","useCallback","event","preventDefault","target","length","maxLength","form","setFieldValue","field","name","descriptionLabel","minLength","currentLength","label","multiline","rowsMax","onChange","DateLocaleContext","createContext","DateLocaleContextConsumer","Consumer","DateLocaleContextProvider","locale","setLocale","dateLocaleLoaderAsync","then","loadedLocale","catch","Provider","XCallyCallBackFormComponentName","FormComponents","registerFormComponent","contentComponentName","component","getComponentFor","createAsyncAction","actionTypePrfix","success","failure","createAsyncPaylodAction","phoneNumberSchema","yup","defined","phoneNumberTestMethod","callBackDateSchema","date","setHours","callMeBackSchema","phoneNumber","time","nameof","nameofFactory","inputGridItem","marginTop","primaryButton","secondaryButton","paddingRight","getOptionLabel","option","slotText","renderOption","state","FormObserver","useFormikContext","values","currentDate","setCurrentDate","toDateString","CallBackForm","shouldDisableDate","day","pickupDates","find","item","getTime","initialValues","initialFocusedDate","enableReinitialize","validationSchema","validateOnChange","validateOnMount","validateOnBlur","onSubmit","setSubmitting","setTimeout","onSubmitForm","submitForm","isSubmitting","resetForm","Box","p","Grid","container","xs","aria-label","sm","DatePickerEx","disablePast","Autocomplete","options","pickupTimes","toUTCString","times","Hidden","xsDown","justify","onClick","onCloseForm","type","smUp","errorMessage","pb","FormHelperText","defaultProps","CallbackContainer","loadCallCenterDateRequest","utils","DateFnsUtils","sendCallBackFormRequest","hideDialog","xcally","dates","dispatch","bindActionCreators","sendCallBackFormActionAsync","loadCallCenterDateActionAsync","fullPageLoadingIndicatorReducer","createReducer","indicatorStack","builder","addCase","actions","action","produce","draftState","supportedBrowsersService","isBrowserSupported","browserVersionNumber","browserVersion","isChrome","isFirefox","isEdge","isSafari","isOpera","reducer","currentRoute","payload","initialState","isVisible","dialogType","openCallBackFormAction","map","callCenterDate","forEach","timeSlot","id","startTime","DateTimePickerEx","endAdornment","InputAdornment","IconButton","CalendarToday","DialogProps","style","inputVariant","cancelLabel","ampm","textFieldClasses","useStylesTextField","useField","meta","helpers","setValue","inputValue","setInputValue","handleOnChange","newValue","onInputChange","newInputValue","inputRoot","autoHighlight","clearText","openText","getOptionSelected","renderInput","params","helperText","inputProps","autoComplete","history","createBrowserHistory","devMode","sagaMiddleware","createSagaMiddleware","middleware","getDefaultMiddleware","thunk","routerMiddleware","rootSaga","createRootReducer","preloadedState","store","configureStore","devTools","run","ExternalLinkComponent","href","ROUTES","rel","navigateToHandler","navigateToHashHandler","navigateBackHandler","all","takeEvery","navigationActions","routeUrl","push","hash","HASHS","pathname","goBack","openCallBackFormActionHandler","sendCallBackFormActionAsyncRequestHandler","sendCallBackFormActionAsyncSuccessHandler","loadCallCenterDateActionAsyncRequestHandler","showDialog","actionNo","actionYes","waitForModalDialogResult","scheduledAt","toISOString","call","actionToPut","handleDialogResult","modalResultSuccess","modalResultCancel","LinkButtonComponent","text","link","muiLinkClasses","isExternal","textVariant","align","textAlign","to","PrimatyButtonLazy","lazy","PrimatyButtonLazyLoader","SecondaryButtonLazy","SecondaryButtonLazyLoader","textDecoration","UnsupportedBrowserDialogContentText","useDispatch","onLinkClick","dialogResult","selectedActionYes","take","getType","environmentConfiguration","currentLanguageCode","suspender","resolve","module","default","YesNoDialogComponent","dialogContetnTextComponent","DialogContentText","descriptionComponent","Dialog","onClose","onNoHandle","aria-labelledby","aria-describedby","dialogRoot","DialogTitle","DialogContent","dialogContentRoot","DialogActions","onYesHandle","YesNoDialog","withStyles","margin","flexGrow","FormDialogComponent","dialogTitle","dialogDesciption","FormDialog","ModalManager","PureComponent","dialogManager","contacts","home","cookies","authenticatedSection","authenticatedSectionAnnouncement","authenticatedSectionAnnouncementDemage","authenticatedSectionAnnouncementTheft","authenticatedSectionAnnouncementLoss","authenticatedSectionAnnouncementExtendedWarranty","authenticatedSectionSelfcare","authenticatedSectionSelfcareContract","authenticatedSectionSelfcareClaim","authenticatedSectionSelfcareNewMessage","authenticatedSectionSelfcareMessageSent","announcement","signOut","unsupportedBrowser","supportedBrowser","whistleblowing","whistleblowingSent","euWebUrl","generalContact","reportWebVitals","onPerfEntry","Function","getCLS","getFID","getLCP","getFCP","getTTFB","ThemeContext","ThemeContextProvider","setTheme","themeLoaderAsync","common","white","styles","banner","opacity","button","border","borderRadius","fontWeight","CookiePanelComponent","CookiePanel","location","buttonText","cookieName","buttonStyle","expires","App","UnsupportedApp","ModalDialogContainer","BrowserBaseApp","setIsBrowserSupported","isBrowserSupportedResult","childrenComponent","fallback","CssBaseline","StoreLoader","setStore","storeLoaderAsync","loadedStore","enableES5","XCallyCallBackFormContainer","ReactDOM","render","StrictMode","Helmet","htmlAttributes","lang","document","querySelector"],"mappings":"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","file":"static/js/main.878a1134.chunk.js","sourcesContent":["import i18n, { Callback } from 'i18next';\r\nimport { initReactI18next } from 'react-i18next';\r\nimport HttpBackend from 'i18next-http-backend';\r\n\r\nimport { currentEnvironment } from '../../environment/environment';\r\n\r\nconst customLanguageDetector = (): string => {\r\n switch (currentEnvironment()) {\r\n case 'cz':\r\n return 'cs';\r\n case 'hu':\r\n return 'hu';\r\n case 'sk':\r\n return 'sk';\r\n default:\r\n throw new Error('CustomLanguageDetector invalid enviroment');\r\n }\r\n};\r\n\r\nexport const i18nService = (callback: Callback): void => {\r\n // don't want to use this?\r\n // have a look at the Quick start guide\r\n // for passing in lng and translations on init\r\n\r\n i18n\r\n // load translation using http -> see /public/locales (i.e. https://github.com/i18next/react-i18next/tree/master/example/react/public/locales)\r\n // learn more: https://github.com/i18next/i18next-http-backend\r\n .use(HttpBackend)\r\n // detect user language\r\n // learn more: https://github.com/i18next/i18next-browser-languageDetector\r\n // .use(LanguageDetector)\r\n // pass the i18n instance to react-i18next.\r\n .use(initReactI18next)\r\n // init i18next\r\n // for all options read: https://www.i18next.com/overview/configuration-options\r\n .init(\r\n {\r\n lng: customLanguageDetector(),\r\n fallbackLng: [customLanguageDetector()],\r\n /* fallbackLng: ['cs'], */\r\n react: {\r\n useSuspense: false,\r\n },\r\n load: 'languageOnly',\r\n ns: [\r\n 'common',\r\n 'menu',\r\n 'homePage',\r\n 'contacts',\r\n 'signIn',\r\n 'contracts',\r\n 'announcement',\r\n 'chat',\r\n 'selfcare',\r\n 'api',\r\n 'cookies',\r\n 'supportedBrowsers',\r\n 'unsupportedBrowser',\r\n 'xcally',\r\n 'app',\r\n 'components',\r\n 'whistleblowing',\r\n ],\r\n debug: process.env.NODE_ENV !== 'production',\r\n interpolation: {\r\n escapeValue: true, // not needed for react as it escapes by default,\r\n format: (value, format, lng) => {\r\n if (format === 'lowercase') return value.toLowerCase();\r\n\r\n return value;\r\n },\r\n },\r\n backend: {\r\n loadPath: '/locales/v1.0.1/{{lng}}/{{ns}}.json',\r\n },\r\n },\r\n callback\r\n );\r\n};\r\n\r\nexport default i18n;\r\n","import { TFunction } from 'i18next';\r\nimport React, { ReactElement, useEffect } from 'react';\r\n\r\nimport { i18nService } from './service';\r\nimport { FullPageLoadingIndicatorContainer } from '../../components/fullPageLoadingIndicator';\r\n\r\nexport const I18nLoader = (props: { children: ReactElement }): ReactElement => {\r\n const [isLoaded, setIsLoaded] = React.useState();\r\n\r\n const i18nCallback = (error: any, t: TFunction): void => {\r\n /* setIsLoaded(!error); */\r\n setIsLoaded(true);\r\n };\r\n\r\n useEffect(() => {\r\n i18nService(i18nCallback);\r\n }, []);\r\n\r\n if (!isLoaded) {\r\n return ;\r\n }\r\n\r\n console.debug('I18nLoader render');\r\n\r\n return props.children;\r\n};\r\n","import i18n from './service';\r\n\r\nexport { I18nLoader } from './loader';\r\nexport default i18n;\r\n","export { default as PrimaryButton } from './primaryButton';\r\nexport { default as SecondaryButton } from './secondaryButton';\r\n\r\nexport * from './types';\r\n","import { createAction } from '@reduxjs/toolkit';\r\nimport { INavigateToHashOptions, RoutesType } from './types';\r\n\r\nexport const routeChangeAction = createAction('routeChange');\r\nexport const navigateToAction = createAction('navigation/navigateTo');\r\nexport const navigateToHashAction = createAction('navigation/navigateToHsah');\r\nexport const navigateBackAction = createAction('navigation/navigateBack');\r\n"," let environment = 'cz';\r\n let country = 'Česká republika';\r\n// let environment = 'hu';\r\n// let country = 'Maďarsko';\r\n// let environment = 'sk';\r\n// let country = 'Slovenská republika';\r\n\r\nif (process.env.REACT_APP_ENVIROMENT) {\r\n environment = process.env.REACT_APP_ENVIROMENT;\r\n}\r\n\r\nif (process.env.REACT_APP_COUNTRY) {\r\n country = process.env.REACT_APP_COUNTRY;\r\n}\r\n\r\nexport default { environment, country };\r\n","export * from './types';\r\nexport { default as dialogManagerReducer } from './reducer';\r\nexport { default as dialogManagerSaga } from './saga';\r\nexport { default as ModalDialogContainer } from './modalDialogContainer';\r\nexport { default as UnsupportedBrowserDialogContentText } from './unsupportedBrowserDialogContentText';\r\nexport * from './actions';\r\nexport * from './helper';\r\n","import { IEnvironmentRegex } from '../types';\r\n\r\nconst phoneNumberRegex = /^(\\+420)? ?[1-9]\\d{2}(?: ?\\d{3}){2}$/i; // ^(\\+420)? ?[1-9][0-9]{2} ?[0-9]{3} ?[0-9]{3}$ // /^[1-9]\\d{8}$/i;\r\n/* eslint-disable-next-line unicorn/better-regex */\r\nconst phoneNumberWithPrefixRegex = /^(\\+\\d{3})? ?[1-9]\\d{2}(?: ?\\d{3}){2}$/i;\r\nconst phoneNumberOnlyWithPrefixRegex = /^(\\+420) ?[1-9]\\d{2}(?: ?\\d{3}){2}$/i;\r\n\r\nexport const CzEnvironmentRegex: IEnvironmentRegex = {\r\n phoneNumberRegex,\r\n phoneNumberWithPrefixRegex,\r\n phoneNumberOnlyWithPrefixRegex,\r\n};\r\n","import { IEnvironmentRegex } from '../types';\r\n\r\n/* eslint-disable-next-line unicorn/better-regex */\r\nconst phoneNumberRegex = /^(\\+36) ?\\d{9}$/i;\r\n/* eslint-disable-next-line unicorn/better-regex */\r\nconst phoneNumberWithPrefixRegex = /^(\\+36) ?\\d{9}$/i;\r\nconst phoneNumberOnlyWithPrefixRegex = /^(\\+36) ?\\d{9}$/i;\r\n\r\nexport const HuEnvironmentRegex: IEnvironmentRegex = {\r\n phoneNumberRegex,\r\n phoneNumberWithPrefixRegex,\r\n phoneNumberOnlyWithPrefixRegex\r\n};\r\n","import { IEnvironmentRegex } from '../types';\r\n\r\nconst phoneNumberRegex = /^(\\+421)? ?[1-9]\\d{2}(?: ?\\d{3}){2}$/i; // ^(\\+420)? ?[1-9][0-9]{2} ?[0-9]{3} ?[0-9]{3}$ // /^[1-9]\\d{8}$/i;\r\n/* eslint-disable-next-line unicorn/better-regex */\r\nconst phoneNumberWithPrefixRegex = /^(\\+\\d{3})? ?[1-9]\\d{2}(?: ?\\d{3}){2}$/i;\r\nconst phoneNumberOnlyWithPrefixRegex = /^(\\+421) ?[1-9]\\d{2}(?: ?\\d{3}){2}$/i;\r\n\r\nexport const SkEnvironmentRegex: IEnvironmentRegex = {\r\n phoneNumberRegex,\r\n phoneNumberWithPrefixRegex,\r\n phoneNumberOnlyWithPrefixRegex,\r\n};\r\n","import { currentEnvironment } from '../environment/environment';\r\n\r\nimport { CzEnvironmentRegex } from './cz/regex.cz';\r\nimport { HuEnvironmentRegex } from './hu/regex.hu';\r\nimport { SkEnvironmentRegex } from './sk/regex.sk';\r\nimport { IRegex } from './types';\r\n\r\nconst emailRegex = /^[\\w%+.-]+@[\\d.a-z-]+\\.[a-z]{2,4}$/i;\r\nconst phoneNumberWithPlusPrefixRegex = /^(\\+\\d{2,3})\\d{8,12}$/i;\r\n\r\nlet phoneNumberRegex = /$/i;\r\nlet phoneNumberWithPrefixRegex = /$/i;\r\n\r\nswitch (currentEnvironment()) {\r\n case 'cz':\r\n phoneNumberRegex = CzEnvironmentRegex.phoneNumberRegex;\r\n phoneNumberWithPrefixRegex = CzEnvironmentRegex.phoneNumberWithPrefixRegex;\r\n break;\r\n case 'hu':\r\n phoneNumberRegex = HuEnvironmentRegex.phoneNumberRegex;\r\n phoneNumberWithPrefixRegex = HuEnvironmentRegex.phoneNumberWithPrefixRegex;\r\n break;\r\n case 'sk':\r\n phoneNumberRegex = SkEnvironmentRegex.phoneNumberRegex;\r\n phoneNumberWithPrefixRegex = SkEnvironmentRegex.phoneNumberWithPrefixRegex;\r\n break;\r\n default:\r\n throw new Error('Regex invalid enviroment');\r\n}\r\n\r\nconst regex: IRegex = {\r\n isEmail: (contact: string): boolean => emailRegex.test(contact),\r\n isPhoneNumber: (contact: string): boolean => phoneNumberRegex.test(contact),\r\n isPhoneNumberWithPrefix: (contact: string): boolean => phoneNumberWithPrefixRegex.test(contact),\r\n isPhoneNumberWithPlusPrefix: (contact: string): boolean => phoneNumberWithPlusPrefixRegex.test(contact),\r\n\r\n cz: CzEnvironmentRegex,\r\n sk: SkEnvironmentRegex,\r\n hu: HuEnvironmentRegex,\r\n};\r\n\r\nexport default regex;\r\n","import { createAction } from \"@reduxjs/toolkit\";\r\n\r\nexport const showFullPageLoadingIndicator = createAction('fullPageLoadingIndicator/show');\r\n\r\nexport const hideFullPageLoadingIndicator = createAction('fullPageLoadingIndicator/hide');\r\n","export default class BaseResponse {\r\n resultCode: number;\r\n\r\n resultReason: string;\r\n\r\n httpStatusCode: number;\r\n\r\n constructor() {\r\n this.resultCode = 0;\r\n this.resultReason = '';\r\n this.httpStatusCode = 0;\r\n }\r\n}\r\n","import { AxiosInstance } from 'axios';\r\n\r\nimport { BaseResponse, BaseDataResponse } from '../responses';\r\nimport BaseJsonClient from './baseJsonClient';\r\nimport { IErrorHandler } from '../abstractions';\r\nimport { IBaseModel } from '../interfaces';\r\n\r\nexport interface ApiModelClient {\r\n getAllAsync(): Promise>;\r\n updateAsync(model: TModel): Promise>;\r\n createAsync(model: TModel): Promise>;\r\n deleteAsync(id: number): Promise;\r\n}\r\n\r\nexport interface ApiModelClientWithDelete {\r\n deleteAsync(id: number): Promise;\r\n}\r\n\r\nexport default class BaseClient extends BaseJsonClient {\r\n protected readonly axiosInstance: AxiosInstance;\r\n\r\n protected readonly errorHandler: IErrorHandler;\r\n\r\n protected readonly modelPath: string;\r\n\r\n constructor(errorHandler: IErrorHandler, axiosInstance: AxiosInstance, modelPath: string) {\r\n super(axiosInstance, modelPath);\r\n\r\n this.errorHandler = errorHandler;\r\n this.axiosInstance = axiosInstance;\r\n this.modelPath = modelPath;\r\n }\r\n\r\n protected async getHttpAsync(route: string, query: string): Promise {\r\n try {\r\n const response = await this.errorHandler.handleRequestAsync(async () => {\r\n return super.getHttpAsync(route, query);\r\n });\r\n\r\n return response;\r\n } catch (error) {\r\n const errorResposne = new BaseResponse();\r\n errorResposne.resultCode = -1;\r\n errorResposne.resultReason = error.message;\r\n\r\n return errorResposne as TResponse;\r\n }\r\n }\r\n\r\n protected async putHttpAsync(route: string, data: TData): Promise {\r\n try {\r\n const response = await this.errorHandler.handleRequestAsync(async () => {\r\n return super.putHttpAsync(route, data);\r\n });\r\n\r\n return response;\r\n } catch (error) {\r\n const errorResposne = new BaseResponse();\r\n errorResposne.resultCode = -1;\r\n errorResposne.resultReason = error.message;\r\n\r\n return errorResposne as TResponse;\r\n }\r\n }\r\n\r\n protected async postHttpAsync(route: string, data: TData): Promise {\r\n try {\r\n const response = await this.errorHandler.handleRequestAsync(async () => {\r\n return super.postHttpAsync(route, data);\r\n });\r\n\r\n return response;\r\n } catch (error) {\r\n const errorResposne = new BaseResponse();\r\n errorResposne.resultCode = -1;\r\n errorResposne.resultReason = error.message;\r\n\r\n return errorResposne as TResponse;\r\n }\r\n }\r\n\r\n protected async postFormDataHttpAsync(route: string, data: FormData): Promise {\r\n try {\r\n const response = await this.errorHandler.handleRequestAsync(async () => {\r\n return super.postFormDataHttpAsync(route, data);\r\n });\r\n\r\n return response;\r\n } catch (error) {\r\n const errorResposne = new BaseResponse();\r\n errorResposne.resultCode = -1;\r\n errorResposne.resultReason = error.message;\r\n\r\n return errorResposne as TResponse;\r\n }\r\n }\r\n\r\n protected async deleteHttpAsync(route: string): Promise {\r\n try {\r\n const response = await this.errorHandler.handleRequestAsync(async () => {\r\n return super.deleteHttpAsync(route);\r\n });\r\n\r\n return response;\r\n } catch (error) {\r\n const errorResposne = new BaseResponse();\r\n errorResposne.resultCode = -1;\r\n errorResposne.resultReason = error.message;\r\n\r\n return errorResposne as TResponse;\r\n }\r\n }\r\n}\r\n","import { AxiosInstance } from 'axios';\r\nimport { BaseResponse } from '../responses';\r\n\r\nexport default class BaseJsonClient {\r\n protected readonly axiosInstance: AxiosInstance;\r\n\r\n protected readonly modelPath: string;\r\n\r\n constructor(axiosInstance: AxiosInstance, modelPath: string) {\r\n this.axiosInstance = axiosInstance;\r\n this.modelPath = modelPath;\r\n }\r\n\r\n protected async getHttpAsync(route: string, query: string): Promise {\r\n const config = {\r\n headers: {\r\n Accept: 'application/json',\r\n 'Content-type': 'application/json',\r\n },\r\n };\r\n\r\n const axiosResponse = await this.axiosInstance.get(this.composeUrl(route, query), config);\r\n return axiosResponse.data as TResponse;\r\n }\r\n\r\n protected async putHttpAsync(route: string, data: TData): Promise {\r\n const config = {\r\n headers: {\r\n Accept: 'application/json',\r\n 'Content-type': 'application/json',\r\n },\r\n };\r\n\r\n const axiosResponse = await this.axiosInstance.put(this.composeUrl(route), data, config);\r\n return axiosResponse.data as TResponse;\r\n }\r\n\r\n protected async postHttpAsync(route: string, data: TData): Promise {\r\n const config = {\r\n headers: {\r\n Accept: 'application/json',\r\n 'Content-type': 'application/json',\r\n },\r\n };\r\n\r\n const axiosResponse = await this.axiosInstance.post(this.composeUrl(route), data, config);\r\n return axiosResponse.data as TResponse;\r\n }\r\n\r\n protected async postFormDataHttpAsync(route: string, data: FormData): Promise {\r\n const config = {\r\n headers: {\r\n /* Accept: 'application/json', */\r\n 'Content-type': 'application/x-www-form-urlencoded',\r\n },\r\n };\r\n\r\n const axiosResponse = await this.axiosInstance.post(this.composeUrl(route), data, config);\r\n return axiosResponse.data as TResponse;\r\n }\r\n\r\n protected async deleteHttpAsync(route: string): Promise {\r\n const config = {\r\n headers: {\r\n Accept: 'application/json',\r\n 'Content-type': 'application/json',\r\n },\r\n };\r\n\r\n const axiosResponse = await this.axiosInstance.delete(this.composeUrl(route), config);\r\n return axiosResponse.data as TResponse;\r\n }\r\n\r\n public composeUrl(route: string, query = ''): string {\r\n let urlBuilder: string;\r\n\r\n urlBuilder = this.modelPath;\r\n if (route) {\r\n urlBuilder += `/${route}`;\r\n }\r\n\r\n if (query) {\r\n urlBuilder += `?${query}`;\r\n }\r\n\r\n return urlBuilder;\r\n }\r\n}\r\n","import { AxiosInstance } from 'axios';\r\n\r\nimport BaseClient from './baseClient';\r\nimport { BaseResponse } from '../responses';\r\nimport { IErrorHandler } from '../abstractions';\r\nimport { SendOptRequestModel, SignOutRequestModel, VerifyOptRequestModel } from '../interfaces';\r\n\r\nexport default class AuthenticationClient extends BaseClient {\r\n constructor(errorHandler: IErrorHandler, axiosInstance: AxiosInstance) {\r\n super(errorHandler, axiosInstance, 'authentication');\r\n }\r\n\r\n public async sendOtpAsync(otpModel: SendOptRequestModel): Promise {\r\n const response = await this.postHttpAsync('send-otp', otpModel);\r\n\r\n return response;\r\n }\r\n\r\n public async verifyOtpAsync(otpModel: VerifyOptRequestModel): Promise {\r\n const response = await this.postHttpAsync('verify-otp', otpModel);\r\n\r\n return response;\r\n }\r\n\r\n public async loginAsync(userName: string, password: string): Promise {\r\n const data = { userName, password };\r\n\r\n return this.postHttpAsync('grant-password', data);\r\n }\r\n\r\n public async signOut(): Promise {\r\n const data: SignOutRequestModel = { fakeSessionId: '' };\r\n\r\n return this.postHttpAsync('sign-out', data);\r\n }\r\n}\r\n","import { AxiosInstance } from 'axios';\r\n\r\nimport BaseClient from './baseClient';\r\nimport { BaseDataResponse, BaseResponse } from '../responses';\r\nimport { IErrorHandler } from '../abstractions';\r\nimport { CallCenterDatePublicModel, CallMeBackCreateMutation } from '../interfaces';\r\n\r\nexport default class XcallyClient extends BaseClient {\r\n constructor(errorHandler: IErrorHandler, axiosInstance: AxiosInstance) {\r\n super(errorHandler, axiosInstance, 'xcally');\r\n }\r\n\r\n public async callMeBackAsync(mutation: CallMeBackCreateMutation): Promise {\r\n return this.postHttpAsync('call-me-back', mutation);\r\n }\r\n\r\n public async getCallCenterDateAsync(): Promise> {\r\n return this.getHttpAsync>('valid-call-times', '');\r\n }\r\n}\r\n","import { AxiosInstance } from 'axios';\r\n\r\nimport BaseClient from './baseClient';\r\nimport { BaseDataResponse } from '../responses';\r\nimport { IErrorHandler } from '../abstractions';\r\nimport { ContractModel } from '../interfaces';\r\n\r\nexport default class ClientClient extends BaseClient {\r\n constructor(errorHandler: IErrorHandler, axiosInstance: AxiosInstance) {\r\n super(errorHandler, axiosInstance, 'client');\r\n }\r\n\r\n public async getContractsAsync(): Promise> {\r\n return this.getHttpAsync>('contract', '');\r\n }\r\n}\r\n","import { AxiosInstance } from 'axios';\r\n\r\nimport BaseClient from './baseClient';\r\nimport { BaseDataResponse } from '../responses';\r\nimport { IErrorHandler } from '../abstractions';\r\nimport { ComponentModel, DocumentTypeModel, SalesPointModel } from '../interfaces';\r\n\r\nexport default class CatalogClient extends BaseClient {\r\n constructor(errorHandler: IErrorHandler, axiosInstance: AxiosInstance) {\r\n super(errorHandler, axiosInstance, 'catalog');\r\n }\r\n\r\n public async getComponentsAsync(): Promise> {\r\n return this.getHttpAsync>('component', '');\r\n }\r\n\r\n public async getDocumentTypesAsync(): Promise> {\r\n return this.getHttpAsync>('document-type', '');\r\n }\r\n\r\n public async getSalesPointsAsync(): Promise> {\r\n return this.getHttpAsync>('salespoint', '');\r\n }\r\n}\r\n","import { AxiosInstance } from 'axios';\r\n\r\nimport BaseClient from './baseClient';\r\nimport { BaseDataResponse } from '../responses';\r\nimport { IErrorHandler } from '../abstractions';\r\n\r\nexport default class PickupTimeClient extends BaseClient {\r\n constructor(errorHandler: IErrorHandler, axiosInstance: AxiosInstance) {\r\n super(errorHandler, axiosInstance, 'pickuptime');\r\n }\r\n\r\n public async getCurrentPickupTimesAsync(): Promise> {\r\n return this.getHttpAsync>('', '');\r\n }\r\n}\r\n","import { AxiosInstance } from 'axios';\r\n\r\nimport BaseClient from './baseClient';\r\nimport { BaseDataResponse } from '../responses';\r\nimport { IErrorHandler } from '../abstractions';\r\n\r\nexport default class AnnouncementClient extends BaseClient {\r\n constructor(errorHandler: IErrorHandler, axiosInstance: AxiosInstance) {\r\n super(errorHandler, axiosInstance, 'announcement');\r\n }\r\n\r\n public async postAnnouncementAsync(mutation: FormData): Promise> {\r\n return this.postFormDataHttpAsync>('', mutation);\r\n }\r\n}\r\n","import { AxiosInstance } from 'axios';\r\n\r\nimport BaseClient from './baseClient';\r\nimport { BaseResponse } from '../responses';\r\nimport { IErrorHandler } from '../abstractions';\r\n\r\nexport default class ContractClient extends BaseClient {\r\n constructor(errorHandler: IErrorHandler, axiosInstance: AxiosInstance) {\r\n super(errorHandler, axiosInstance, 'contract');\r\n }\r\n\r\n public async postMessageAsync(mutation: FormData): Promise {\r\n return this.postFormDataHttpAsync('question', mutation);\r\n }\r\n}\r\n","import { AxiosInstance } from 'axios';\r\n\r\nimport BaseClient from './baseClient';\r\nimport { BaseResponse } from '../responses';\r\nimport { IErrorHandler } from '../abstractions';\r\n\r\nexport default class ClaimClient extends BaseClient {\r\n constructor(errorHandler: IErrorHandler, axiosInstance: AxiosInstance) {\r\n super(errorHandler, axiosInstance, 'claim');\r\n }\r\n\r\n public async postMessageAsync(mutation: FormData): Promise {\r\n return this.postFormDataHttpAsync('question', mutation);\r\n }\r\n}\r\n","import { AxiosInstance } from 'axios';\r\n\r\nimport BaseClient from './baseClient';\r\nimport { BaseResponse } from '../responses';\r\nimport { IErrorHandler } from '../abstractions';\r\nimport { WhistleblowingPublicModel } from '../interfaces';\r\n\r\nexport default class WhistleblowingClient extends BaseClient {\r\n constructor(errorHandler: IErrorHandler, axiosInstance: AxiosInstance) {\r\n super(errorHandler, axiosInstance, 'whistleblowing');\r\n }\r\n\r\n public async postMessageAsync(mutation: WhistleblowingPublicModel): Promise {\r\n return this.postHttpAsync('', mutation);\r\n }\r\n}\r\n","import { BaseResponse } from '../responses';\r\nimport { IAuthenticatedRequestHandler } from '../abstractions';\r\n\r\nexport default class AuthenticatedRequestHandler implements IAuthenticatedRequestHandler {\r\n public handleRequestAsync = async (request: () => Promise): Promise => {\r\n // TODO: Udelat kontrolu zda jsou cookies a zda jsou platna, pokud ne asi redirect a integrace sagy\r\n\r\n /* if (string.IsNullOrEmpty(credentialsStorage.BearerToken))\r\n {\r\n var response = await authenticationClient.Authenticate(\r\n credentialsStorage.ClientId,\r\n credentialsStorage.ClientSecret);\r\n\r\n if (response.ResultCode != 0)\r\n {\r\n return response.ToBaseResponse() as TResponse;\r\n }\r\n\r\n // TODO - event mechanizmus by byl lepsi\r\n credentialsStorage.BearerToken = response.Data;\r\n } */\r\n\r\n return request();\r\n };\r\n}\r\n","import i18next from 'i18next';\r\n\r\nimport { BaseResponse } from '../responses';\r\nimport { IErrorHandler } from '../abstractions';\r\n\r\nexport default class ErrorHandler implements IErrorHandler {\r\n handleRequestAsync = async (request: () => Promise): Promise => {\r\n try {\r\n const responses = await request();\r\n console.debug(responses);\r\n\r\n return responses;\r\n } catch (error) {\r\n console.log(error);\r\n\r\n const response = new BaseResponse() as TResponse;\r\n response.resultCode = -500;\r\n response.resultReason = i18next.t('api:invalidOperationError');\r\n\r\n if (error.message && error.message.toLowerCase().includes( i18next.t('api:networkError'))) {\r\n response.resultReason = i18next.t('api:noInternetError');\r\n }\r\n\r\n if (error.response) {\r\n response.httpStatusCode = error.response.status;\r\n\r\n if (error.response.status === 401 && error.response.resultCode === 11003) {\r\n response.resultReason = i18next.t(`api:resultCodes:${error.response.resultCode}`);\r\n } else if (error.response.status === 401) {\r\n response.resultReason = i18next.t('api:unauthorizeError');\r\n }\r\n\r\n if (error.response.data && error.response.data.resultCode > 0 && error.response.data.resultReason) {\r\n response.resultCode = error.response.data.resultCode;\r\n response.resultReason = i18next.t(`api:resultCodes:${error.response.data.resultCode}`);\r\n }\r\n }\r\n\r\n return response;\r\n }\r\n };\r\n}\r\n","import { BaseResponse } from '../responses';\r\nimport { IBaseModel } from '../interfaces';\r\n\r\nexport const apiCallHandler = async <\r\n TModel extends IBaseModel,\r\n TResult extends BaseResponse,\r\n Ctx extends { [P in Name]: ApiCallFn },\r\n Name extends string,\r\n ApiCallFn extends (this: Ctx, ...args: any[]) => Promise\r\n>(\r\n ctxAndFnName: { context: Ctx; apiCallFnName: Name },\r\n ...args: ApiCallParameters\r\n): Promise => {\r\n console.debug(...args);\r\n\r\n const { apiCallFnName, context } = ctxAndFnName;\r\n const response = await context[apiCallFnName](...args);\r\n\r\n console.debug(response);\r\n\r\n try {\r\n return response as TResult;\r\n } catch (error) {\r\n console.warn(error);\r\n return response as TResult;\r\n }\r\n};\r\n\r\ntype ApiCallParameters any> = T extends (...args: infer P) => any ? P : never;\r\n","const isIso8601 = (value: string): boolean => {\r\n if (value === null || value === undefined) {\r\n return false;\r\n }\r\n\r\n const ISO_8601 = /(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2})(\\+\\d{2}:\\d{2})/;\r\n return ISO_8601.test(value);\r\n};\r\n\r\nexport const stringToDate = (body: any): void => {\r\n if (body === null || body === undefined) {\r\n return;\r\n }\r\n\r\n if (typeof body !== 'object') {\r\n if(isIso8601(body)) {\r\n // eslint-disable-next-line no-param-reassign\r\n body = new Date(Date.parse(body));\r\n }\r\n }\r\n\r\n // eslint-disable-next-line no-restricted-syntax\r\n for (const key of Object.keys(body)) {\r\n const value = body[key];\r\n if (isIso8601(value)) {\r\n // eslint-disable-next-line no-param-reassign\r\n body[key] = new Date(Date.parse(value));\r\n } else if (typeof value === 'object') {\r\n stringToDate(value);\r\n }\r\n }\r\n};","import { stringToDate } from '../utils/stringToDate';\r\n\r\nexport class StringToDateInterceptor {\r\n static execute(response: any): any {\r\n const { data } = response.data;\r\n\r\n stringToDate(data);\r\n\r\n return response;\r\n }\r\n}\r\n","let baseUrl = 'http://localhost:5000/api/v1';\r\nlet apiTokenExpirationInMinutes = 60;\r\n\r\nif (process.env.REACT_APP_BASE_API_URL) {\r\n baseUrl = process.env.REACT_APP_BASE_API_URL;\r\n}\r\n\r\nif (process.env.REACT_APP_API_TOKEN_EXPIRATION_IN_MINUTES) {\r\n apiTokenExpirationInMinutes = Number.parseInt(process.env.REACT_APP_API_TOKEN_EXPIRATION_IN_MINUTES, 10);\r\n}\r\n\r\nexport default { baseUrl, apiTokenExpirationInMinutes };\r\n","import { ApiClient as ApiClientClass } from './apiClient';\r\nimport apiConfig from '../configuration/api';\r\n\r\nconst apiClientInstance = new ApiClientClass(apiConfig.baseUrl);\r\n\r\nexport const ApiClient = apiClientInstance;\r\n","import axios, { AxiosInstance } from 'axios';\r\n\r\nimport {\r\n AnnouncementClient,\r\n AuthenticationClient,\r\n CatalogClient,\r\n ClaimClient,\r\n ClientClient,\r\n ContractClient,\r\n XcallyClient,\r\n PickupTimeClient,\r\n WhistleblowingClient,\r\n} from './clients';\r\nimport { AuthenticatedRequestHandler, ErrorHandler } from './handlers';\r\nimport { apiCallHandler } from './sagas';\r\nimport { StringToDateInterceptor } from './interceptors';\r\n\r\nexport class ApiClient {\r\n private axiosInstance: AxiosInstance;\r\n\r\n constructor(baseUrl: string) {\r\n this.axiosInstance = axios.create({\r\n baseURL: baseUrl,\r\n timeout: 500000,\r\n withCredentials: true,\r\n headers: {},\r\n validateStatus: (status: number) => status >= 200 && status < 300,\r\n });\r\n\r\n this.registerInterceptors();\r\n\r\n const authenticatedRequestHandler = new AuthenticatedRequestHandler();\r\n const errorHandler = new ErrorHandler();\r\n\r\n this.Authentication = new AuthenticationClient(errorHandler, this.axiosInstance);\r\n this.Announcement = new AnnouncementClient(errorHandler, this.axiosInstance);\r\n this.Xcally = new XcallyClient(errorHandler, this.axiosInstance);\r\n this.Client = new ClientClient(errorHandler, this.axiosInstance);\r\n this.Catalog = new CatalogClient(errorHandler, this.axiosInstance);\r\n this.PickupTime = new PickupTimeClient(errorHandler, this.axiosInstance);\r\n this.Contract = new ContractClient(errorHandler, this.axiosInstance);\r\n this.Claim = new ClaimClient(errorHandler, this.axiosInstance);\r\n this.Whistleblowing = new WhistleblowingClient(errorHandler, this.axiosInstance);\r\n\r\n this.apiCallHandler = apiCallHandler;\r\n }\r\n\r\n public Authentication: AuthenticationClient;\r\n\r\n public Announcement: AnnouncementClient;\r\n\r\n public Xcally: XcallyClient;\r\n\r\n public Client: ClientClient;\r\n\r\n public Catalog: CatalogClient;\r\n\r\n public PickupTime: PickupTimeClient;\r\n\r\n public Contract: ContractClient;\r\n\r\n public Claim: ClaimClient;\r\n\r\n public Whistleblowing: WhistleblowingClient;\r\n\r\n public apiCallHandler: typeof apiCallHandler;\r\n\r\n private registerInterceptors = (): void => {\r\n /* this.axiosInstance.interceptors.request.use(tenantInterceptor, error => {\r\n return Promise.reject(error);\r\n }); */\r\n\r\n this.axiosInstance.interceptors.response.use(\r\n (response) => StringToDateInterceptor.execute(response),\r\n (error) => {\r\n return Promise.reject(error);\r\n }\r\n );\r\n };\r\n}\r\n","import React, { memo } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { Backdrop, CircularProgress, makeStyles, createStyles, Theme } from '@material-ui/core';\r\nimport { StyleRules } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles(\r\n (theme: Theme): StyleRules =>\r\n createStyles({\r\n root: {\r\n position: 'fixed',\r\n zIndex: 2300,\r\n right: '0px',\r\n bottom: '0px',\r\n top: '0px',\r\n left: '0px',\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n visibility: (props) => props.visibility,\r\n },\r\n })\r\n);\r\n\r\ntype FullPageLoadingIndicatorClassKey = 'root';\r\n\r\ntype FullPageLoadingIndicatorStyleProps = {\r\n visibility: 'visible' | 'hidden';\r\n};\r\n\r\ninterface IFullPageLoadingIndicatorProps extends IFullPageLoadingIndicatorStateProps {\r\n size: number;\r\n}\r\n\r\ninterface IFullPageLoadingIndicatorStateProps {\r\n show: boolean;\r\n}\r\n\r\nconst FullPageLoadingIndicatorContainer: React.FunctionComponent = memo(\r\n (props): React.ReactElement => {\r\n console.debug('FullPageLoadingIndicator');\r\n const classes = useStyles({ visibility: props.show ? 'visible' : 'hidden' });\r\n\r\n return (\r\n
\r\n \r\n \r\n
\r\n );\r\n }\r\n);\r\n\r\nconst mapStateToProps = ({ loadingIndicator }: any): IFullPageLoadingIndicatorStateProps => {\r\n return {\r\n show: loadingIndicator.showIndicator,\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps)(FullPageLoadingIndicatorContainer);\r\n","export * from './types';\r\nexport * from './actions';\r\n\r\nexport { default as ROUTES, HASHS } from './routes';\r\nexport { default as LinkButton } from './linkButton';\r\nexport { default as AnchorLinkButton } from './anchorLinkButton';\r\nexport { default as ExternalLink } from './externalLink';\r\n\r\nexport { default as navigationReducer } from './reducer';\r\nexport { default as navigationSaga } from './saga';\r\n","import { createStyles, makeStyles, Theme } from '@material-ui/core/styles';\r\n\r\nexport const useStyles = makeStyles((theme: Theme) =>\r\n createStyles({\r\n root: {},\r\n inputLabelRoot: {\r\n fontSize: '16px',\r\n '&$inputLabelOutlined': {\r\n transform: 'translate(16px, 17.5px) scale(1)',\r\n [theme.breakpoints.up('sm')]: {\r\n transform: 'translate(16px, 15px) scale(1)',\r\n },\r\n },\r\n '&.MuiInputLabel-outlined.MuiInputLabel-shrink': {\r\n transform: 'translate(16px, -6.5px) scale(0.75)',\r\n },\r\n },\r\n inputLabelOutlined: {},\r\n input: {\r\n backgroundColor: theme.palette.background.paper,\r\n height: '16px',\r\n lineHeight: 1,\r\n paddingLeft: theme.spacing(2),\r\n paddingBottom: theme.spacing(2.5),\r\n paddingTop: theme.spacing(2.5),\r\n [theme.breakpoints.up('sm')]: {\r\n paddingBottom: theme.spacing(1.875),\r\n paddingTop: theme.spacing(1.875),\r\n },\r\n },\r\n autocompleteInputRoot: {\r\n '&&[class*=\"MuiOutlinedInput-root\"]': {\r\n padding: 0,\r\n },\r\n '&&[class*=\"MuiOutlinedInput-root\"] $autocompleteInput': {\r\n height: '16px',\r\n lineHeight: 1,\r\n paddingLeft: theme.spacing(2),\r\n paddingBottom: theme.spacing(2.5),\r\n paddingTop: theme.spacing(2.5),\r\n [theme.breakpoints.up('sm')]: {\r\n paddingBottom: theme.spacing(1.875),\r\n paddingTop: theme.spacing(1.875),\r\n },\r\n },\r\n '&&[class*=\"MuiOutlinedInput-root\"] $autocompleteInput:first-child': {\r\n paddingLeft: theme.spacing(2),\r\n },\r\n },\r\n autocompleteInput: {},\r\n title: { fontSize: '16px', lineHeight: '24px', letterSpacing: '0.15px' },\r\n description: { fontSize: '12px', lineHeight: '16px', letterSpacing: '0.4px', color: theme.palette.grey[500], marginBottom: theme.spacing(0.75) },\r\n })\r\n);\r\n","import React from 'react';\r\nimport { TextField as FormikTextField, TextFieldProps as FormikTTextFieldProps } from 'formik-material-ui';\r\nimport Typography from '@material-ui/core/Typography';\r\n\r\nimport { useStyles } from './styles';\r\nimport { ExtendedTextFieldProps } from './types';\r\n\r\nfunction TextField(props: ExtendedTextFieldProps): React.ReactElement {\r\n const classes = useStyles();\r\n\r\n return (\r\n \r\n {props.title && {props.title}}\r\n {props.description && {props.description}}\r\n\r\n \r\n \r\n );\r\n}\r\n\r\nexport default TextField;\r\n","import React, { useCallback, useState } from 'react';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nimport { ExtendedTextAreFieldProps } from './types';\r\nimport TextField from './textField';\r\n\r\nfunction TextArea(props: ExtendedTextAreFieldProps): React.ReactElement {\r\n const [descriptionLength, setDescriptionLength] = useState(0);\r\n const { t } = useTranslation();\r\n const { defaultLabelKey, currentStateLabelKey, ...rest } = props;\r\n\r\n const onDescriptionChange = useCallback((event: React.ChangeEvent): void => {\r\n event.preventDefault();\r\n\r\n if (event.target && event.target.value) {\r\n if (event.target.value.length <= props.maxLength) {\r\n props.form.setFieldValue(props.field.name, event.target.value);\r\n setDescriptionLength(event.target.value.length);\r\n }\r\n } else {\r\n props.form.setFieldValue(props.field.name, '');\r\n setDescriptionLength(0);\r\n }\r\n }, []);\r\n\r\n let descriptionLabel = t(defaultLabelKey, { minLength: props.minLength, currentLength: 0 });\r\n\r\n if (props.minLength && props.minLength > 0) {\r\n if (descriptionLength > 0 && descriptionLength < props.minLength) {\r\n descriptionLabel = t(currentStateLabelKey, { minLength: props.minLength, currentLength: descriptionLength });\r\n }\r\n } else if (props.maxLength && props.maxLength > 0) {\r\n if (descriptionLength > 0 && descriptionLength < props.maxLength) {\r\n descriptionLabel = t(currentStateLabelKey, { minLength: props.minLength, currentLength: descriptionLength });\r\n }\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default TextArea;\r\n","import TextField from './textField';\r\n\r\nexport { useStyles as useStylesTextField } from './styles';\r\nexport { default as TextArea } from './textArea';\r\nexport default TextField;\r\n","import React, { ReactElement, ReactNode, useEffect } from 'react';\r\nimport { dateLocaleLoaderAsync } from './environment';\r\n\r\nconst DateLocaleContext = React.createContext({} as Locale);\r\n\r\nexport const DateLocaleContextConsumer = DateLocaleContext.Consumer;\r\n\r\nexport const DateLocaleContextProvider = (props: { children: ReactNode }): ReactElement => {\r\n const [locale, setLocale] = React.useState();\r\n\r\n useEffect(() => {\r\n dateLocaleLoaderAsync()\r\n .then(function (loadedLocale) {\r\n setLocale(loadedLocale);\r\n console.debug('Locale loaded:', loadedLocale);\r\n\r\n return loadedLocale;\r\n })\r\n .catch(function (error) {\r\n console.error(error);\r\n });\r\n }, []);\r\n\r\n if (!locale) {\r\n return
;\r\n }\r\n\r\n console.debug('DateLocaleContextProvider render');\r\n return {props.children};\r\n};\r\n","export { default as FullPageLoadingIndicatorContainer } from './fullPageLoadingIndicatorContainer';\r\nexport { hideFullPageLoadingIndicator, showFullPageLoadingIndicator } from './actions';\r\nexport { default as fullPageLoadingIndicatorReducer, initialState as fullPageLoadingIndicatorInitialState } from './reducer';\r\n/* export * from './types'; */\r\n","import { IAutocompelteOption } from '../../components/autocomplete/types';\r\n\r\nexport const XCallyCallBackFormComponentName = 'xcallyCallBackForm';\r\n\r\nexport interface CallMeBackModel {\r\n date: Date | undefined;\r\n time: string;\r\n phoneNumber: string;\r\n}\r\n\r\nexport interface CallMeBackTimeAutocompleteModel extends IAutocompelteOption {\r\n date: string;\r\n slotText: string;\r\n}\r\n\r\nexport interface CallMeBackPickupTimesModel {\r\n times: CallMeBackTimeAutocompleteModel[];\r\n date: string;\r\n}\r\n\r\nexport type CallMeBackDataeAndPickupTimesModel = { [itemId: string]: CallMeBackPickupTimesModel }; /* Record; */\r\n","export const FormComponents: Record = {};\r\n\r\nexport const registerFormComponent = (contentComponentName: string, component: React.ComponentType): void => {\r\n FormComponents[contentComponentName] = component;\r\n};\r\n\r\nexport const getComponentFor = (contentComponentName: string): React.ComponentType => {\r\n return FormComponents[contentComponentName];\r\n};\r\n","import { ActionCreatorWithoutPayload, ActionCreatorWithPayload, createAction, PayloadActionCreator } from '@reduxjs/toolkit';\r\n\r\nexport const createAsyncAction = (\r\n actionTypePrfix: string\r\n): {\r\n request: ActionCreatorWithoutPayload;\r\n success: ActionCreatorWithoutPayload;\r\n failure: ActionCreatorWithPayload;\r\n} => {\r\n return {\r\n request: createAction(`${actionTypePrfix}/request`),\r\n success: createAction(`${actionTypePrfix}/success`),\r\n failure: createAction(`${actionTypePrfix}/failure`),\r\n };\r\n};\r\n\r\nexport const createAsyncPaylodAction = (\r\n actionTypePrfix: string\r\n): {\r\n request: PayloadActionCreator;\r\n success: PayloadActionCreator;\r\n failure: PayloadActionCreator;\r\n} => {\r\n return {\r\n request: createAction(`${actionTypePrfix}/request`),\r\n success: createAction(`${actionTypePrfix}/success`),\r\n failure: createAction(`${actionTypePrfix}/failure`),\r\n };\r\n};\r\n","import { TFunction } from 'i18next';\r\nimport * as yup from 'yup';\r\n\r\nimport regex from '../../regex';\r\nimport { currentEnvironment } from '../../environment/environment';\r\n\r\nconst phoneNumberTestMethod = (value: string | undefined): boolean => {\r\n switch (currentEnvironment()) {\r\n case 'cz': {\r\n return !!value && (regex.cz.phoneNumberOnlyWithPrefixRegex.test(value) || regex.sk.phoneNumberOnlyWithPrefixRegex.test(value));\r\n }\r\n case 'hu':\r\n return !!value && regex.hu.phoneNumberOnlyWithPrefixRegex.test(value);\r\n case 'sk':\r\n return !!value && (regex.cz.phoneNumberOnlyWithPrefixRegex.test(value) || regex.sk.phoneNumberOnlyWithPrefixRegex.test(value));\r\n default:\r\n throw new Error('Regex invalid enviroment');\r\n }\r\n};\r\n\r\nconst phoneNumberSchema = (t: TFunction): any =>\r\n yup\r\n .string()\r\n .defined(t('contacts:callMeBack:validations:phoneNumberIsRequired'))\r\n .test('isPhoneNumber', t('contacts:callMeBack:validations:phoneNumberIsNotValid'), (value) => {\r\n return phoneNumberTestMethod(value);\r\n });\r\n\r\nconst callBackDateSchema = (t: TFunction /* , pickupTimes: Date[] */): any =>\r\n yup\r\n .mixed()\r\n .test('is-date', t('contacts:callMeBack:validations:callBackDateIsRequired'), (date) => {\r\n if (date === null) {\r\n return false;\r\n }\r\n\r\n return true;\r\n })\r\n .test('is-date-in-range', t('contacts:callMeBack:validations:callBackDateIsRequired'), (date) => {\r\n if (!date || date === null) {\r\n return false;\r\n }\r\n\r\n date.setHours(0, 0, 0, 0);\r\n\r\n /* const valid = !!pickupTimes.find((item) => {\r\n return item.getTime() === date.getTime();\r\n });\r\n\r\n return valid; */\r\n\r\n return true;\r\n });\r\n\r\nexport const callMeBackSchema /* : yup.SchemaOf */ = (t: TFunction): any =>\r\n yup\r\n .object({\r\n phoneNumber: phoneNumberSchema(t),\r\n date: callBackDateSchema(t),\r\n time: yup.string().defined(t('contacts:callMeBack:validations:callBackTimeIsRequired')),\r\n })\r\n .defined();\r\n","import React, { useCallback, useEffect, useState } from 'react';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { MaterialUiPickersDate } from '@material-ui/pickers/typings/date';\r\nimport createStyles from '@material-ui/core/styles/createStyles';\r\nimport makeStyles from '@material-ui/core/styles/makeStyles';\r\nimport { Theme } from '@material-ui/core/styles/createMuiTheme';\r\nimport { Box, FormHelperText, Grid, Hidden, Typography } from '@material-ui/core';\r\nimport { Field, Form, Formik, useFormikContext } from 'formik';\r\nimport { AutocompleteRenderOptionState } from '@material-ui/lab/Autocomplete';\r\n\r\nimport { callMeBackSchema } from './validationSchemas';\r\nimport TextField from '../../components/textField';\r\nimport { nameofFactory } from '../../core/nameOfFactory';\r\nimport { DatePickerEx } from '../../components/datePicker';\r\nimport { PrimaryButton, SecondaryButton } from '../../components/button';\r\nimport { sendCallBackFormActionAsync } from './actions';\r\nimport { CallMeBackModel, CallMeBackDataeAndPickupTimesModel, CallMeBackTimeAutocompleteModel, CallMeBackPickupTimesModel } from './types';\r\nimport { Autocomplete } from '../../components/autocomplete';\r\n\r\nconst nameof = nameofFactory();\r\n\r\nconst useStyles = makeStyles((theme: Theme) =>\r\n createStyles({\r\n root: {},\r\n inputGridItem: {\r\n marginTop: theme.spacing(1.25),\r\n [theme.breakpoints.up('sm')]: { marginTop: theme.spacing(1.25) },\r\n },\r\n primaryButton: {\r\n paddingTop: theme.spacing(2),\r\n\r\n [theme.breakpoints.up('sm')]: { paddingLeft: theme.spacing(1), paddingTop: theme.spacing(2.5) },\r\n },\r\n secondaryButton: {\r\n paddingTop: theme.spacing(2.5),\r\n\r\n [theme.breakpoints.up('sm')]: { paddingRight: theme.spacing(1), paddingTop: theme.spacing(2.5) },\r\n },\r\n })\r\n);\r\n\r\ninterface ICallBackFormProps {\r\n initialFocusedDate: Date | undefined;\r\n pickupDates: Date[];\r\n pickupTimes: CallMeBackDataeAndPickupTimesModel;\r\n errorMessage?: string;\r\n onSubmitForm: typeof sendCallBackFormActionAsync.request;\r\n onCloseForm: () => void;\r\n}\r\n\r\nconst getOptionLabel = (option: CallMeBackTimeAutocompleteModel): string => {\r\n return option.slotText;\r\n};\r\n\r\nconst renderOption = (option: CallMeBackTimeAutocompleteModel, state: AutocompleteRenderOptionState): React.ReactElement => {\r\n return (\r\n \r\n {option.slotText}\r\n \r\n );\r\n};\r\n\r\nconst FormObserver: React.FC = () => {\r\n const { values, setFieldValue } = useFormikContext();\r\n const [currentDate, setCurrentDate] = useState(values.date);\r\n\r\n useEffect(() => {\r\n /* console.log('FormObserver::values', values);\r\n console.log(currentDate.toDateString());\r\n console.log(values.date.toDateString()); */\r\n\r\n if (currentDate && values.date && currentDate.toDateString() !== values.date.toDateString()) {\r\n setFieldValue(nameof('time'), '', true);\r\n }\r\n\r\n setCurrentDate(values.date);\r\n }, [values, currentDate]);\r\n\r\n return ;\r\n};\r\n\r\nfunction CallBackForm(props: ICallBackFormProps): React.ReactElement {\r\n const classes = useStyles();\r\n const { t } = useTranslation();\r\n\r\n const shouldDisableDate = (day: MaterialUiPickersDate): boolean => {\r\n if (!day) {\r\n return true;\r\n }\r\n\r\n const disabled = !props.pickupDates.find((item) => {\r\n return item.getTime() === day.getTime();\r\n });\r\n\r\n return disabled;\r\n };\r\n\r\n return (\r\n \r\n initialValues={{\r\n phoneNumber: '',\r\n date: props.initialFocusedDate,\r\n time: '',\r\n }}\r\n enableReinitialize\r\n validationSchema={callMeBackSchema(t)}\r\n validateOnChange\r\n validateOnMount={false}\r\n validateOnBlur={false}\r\n onSubmit={(values, { setSubmitting }) => {\r\n setTimeout(() => {\r\n props.onSubmitForm(values);\r\n setSubmitting(false);\r\n }, 500);\r\n }}\r\n >\r\n {({ submitForm, isSubmitting, values, setFieldValue, resetForm }) => {\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {t('common:buttons:close')}\r\n \r\n \r\n {t('common:buttons:send')}\r\n \r\n \r\n\r\n \r\n \r\n \r\n {t('common:buttons:close')}\r\n \r\n \r\n \r\n \r\n {t('common:buttons:send')}\r\n \r\n \r\n \r\n \r\n \r\n {props.errorMessage && (\r\n \r\n \r\n \r\n \r\n {props.errorMessage}\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n );\r\n }}\r\n \r\n );\r\n}\r\n\r\nCallBackForm.defaultProps = {\r\n errorMessage: '',\r\n};\r\n\r\nexport default CallBackForm;\r\n","import React, { memo, useEffect } from 'react';\r\nimport { connect, useDispatch } from 'react-redux';\r\nimport { MuiPickersUtilsProvider } from '@material-ui/pickers';\r\nimport DateFnsUtils from '@date-io/date-fns';\r\nimport { bindActionCreators, Dispatch } from 'redux';\r\n\r\nimport XCallyCallBackForm from './callback';\r\nimport { IRootState } from '../../store/types';\r\nimport { loadCallCenterDateActionAsync, sendCallBackFormActionAsync } from './actions';\r\nimport { hideDialog } from '../../components/dialogManager';\r\nimport { CallCenterDatePublicModel } from '../../api/interfaces';\r\nimport { CallMeBackDataeAndPickupTimesModel } from './types';\r\nimport { DateLocaleContextConsumer } from '../../environment/context';\r\n\r\ninterface ICallbackContainerDispatchProps {\r\n sendCallBackFormRequest: typeof sendCallBackFormActionAsync.request;\r\n loadCallCenterDateRequest: typeof loadCallCenterDateActionAsync.request;\r\n hideDialog: typeof hideDialog;\r\n}\r\n\r\ninterface ICallbackContainerProps extends ICallbackContainerStateProps, ICallbackContainerDispatchProps {}\r\n\r\ninterface ICallbackContainerStateProps {\r\n errorMessage?: string;\r\n dates: CallCenterDatePublicModel[];\r\n initialFocusedDate: Date | undefined;\r\n pickupDates: Date[];\r\n pickupTimes: CallMeBackDataeAndPickupTimesModel;\r\n}\r\n\r\nconst CallbackContainer: React.FunctionComponent = memo(\r\n (props): React.ReactElement => {\r\n console.debug('CallbackContainer');\r\n\r\n useEffect(() => {\r\n props.loadCallCenterDateRequest();\r\n }, []);\r\n\r\n return (\r\n \r\n {(locale) => (\r\n \r\n \r\n \r\n )}\r\n \r\n );\r\n }\r\n);\r\n\r\nconst mapStateToProps = ({ xcally }: IRootState): ICallbackContainerStateProps => {\r\n return {\r\n errorMessage: xcally.errorMessage,\r\n dates: xcally.dates,\r\n initialFocusedDate: xcally.initialFocusedDate,\r\n pickupDates: xcally.pickupDates,\r\n pickupTimes: xcally.pickupTimes,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch: Dispatch): ICallbackContainerDispatchProps =>\r\n bindActionCreators(\r\n {\r\n sendCallBackFormRequest: sendCallBackFormActionAsync.request,\r\n loadCallCenterDateRequest: loadCallCenterDateActionAsync.request,\r\n hideDialog,\r\n },\r\n dispatch\r\n );\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(CallbackContainer);\r\n","import { createReducer } from '@reduxjs/toolkit';\r\nimport produce from 'immer';\r\n\r\nimport { Stack } from '../../core/stack';\r\nimport { IFullPageLoadingIndicatorState } from './types.state';\r\nimport * as actions from './actions';\r\n\r\nexport const initialState: IFullPageLoadingIndicatorState = {\r\n showIndicator: false,\r\n /* indicatorStack: new Stack(), */\r\n indicatorStack: 0,\r\n};\r\n\r\nconst fullPageLoadingIndicatorReducer = createReducer(initialState, (builder) =>\r\n builder\r\n .addCase(actions.showFullPageLoadingIndicator, (state, action) => {\r\n const nextState = produce(state, (draftState) => {\r\n draftState.indicatorStack += 1;\r\n draftState.showIndicator = draftState.indicatorStack !== 0;\r\n\r\n /* draftState.indicatorStack.push(true);\r\n draftState.showIndicator = !draftState.indicatorStack.isEmpty(); */\r\n });\r\n\r\n return nextState;\r\n })\r\n .addCase(actions.hideFullPageLoadingIndicator, (state, action) => {\r\n const nextState = produce(state, (draftState) => {\r\n draftState.indicatorStack -= 1;\r\n draftState.showIndicator = draftState.indicatorStack !== 0;\r\n\r\n /* draftState.indicatorStack.pop();\r\n draftState.showIndicator = !draftState.indicatorStack.isEmpty(); */\r\n });\r\n\r\n return nextState;\r\n })\r\n);\r\n\r\nexport default fullPageLoadingIndicatorReducer;\r\n","export const nameofFactory = () => (name: keyof T) => name;\r\n","import { isChrome, isFirefox, isEdge, isOpera, isSafari, browserVersion } from 'react-device-detect';\r\n\r\nconst chromeMinVersion = 49;\r\nconst firefoxMinVersion = 52;\r\nconst edgeMinVersion = 79;\r\nconst safaryMinVersion = 10;\r\n\r\nexport const supportedBrowsersService = (): { isBrowserSupported: () => boolean } => {\r\n return {\r\n isBrowserSupported: () => {\r\n try {\r\n const browserVersionNumber = Number.parseInt(browserVersion, 10);\r\n\r\n return (\r\n (isChrome && browserVersionNumber >= chromeMinVersion) ||\r\n (isFirefox && browserVersionNumber >= firefoxMinVersion) ||\r\n (isEdge && browserVersionNumber >= edgeMinVersion) ||\r\n (isSafari && browserVersionNumber >= safaryMinVersion) ||\r\n isOpera\r\n );\r\n } catch {\r\n return false;\r\n }\r\n },\r\n };\r\n};\r\n","import { createReducer } from '@reduxjs/toolkit';\r\nimport produce from 'immer';\r\n\r\nimport { routeChangeAction } from './actions';\r\nimport { INavigationState } from './types.state';\r\n\r\nconst initialState: INavigationState = {\r\n currentRoute: '',\r\n};\r\n\r\nconst reducer = createReducer(initialState, (builder) =>\r\n builder.addCase(routeChangeAction, (state, action) => {\r\n const nextState = produce(state, (draftState) => {\r\n draftState.currentRoute = action.payload;\r\n });\r\n\r\n return nextState;\r\n })\r\n);\r\n\r\nexport default reducer;\r\n","import { createReducer } from '@reduxjs/toolkit';\r\nimport produce from 'immer';\r\n\r\nimport * as actions from './actions';\r\nimport { IDialogManagerState } from './types.state';\r\n\r\nconst initialState: IDialogManagerState = {\r\n isVisible: false,\r\n dialogType: 'YesNoDialog',\r\n data: undefined,\r\n};\r\n\r\nconst fullPageLoadingIndicatorReducer = createReducer(initialState, (builder) =>\r\n builder\r\n .addCase(actions.showDialog(), (state, action) => {\r\n const nextState = produce(state, (draftState) => {\r\n draftState.isVisible = true;\r\n draftState.dialogType = action.payload.dialogType;\r\n draftState.data = action.payload.data;\r\n });\r\n\r\n return nextState;\r\n })\r\n .addCase(actions.hideDialog, (state, action) => {\r\n return { ...initialState };\r\n })\r\n);\r\n\r\nexport default fullPageLoadingIndicatorReducer;\r\n","import { createReducer } from '@reduxjs/toolkit';\r\nimport produce from 'immer';\r\n\r\nimport { sendCallBackFormActionAsync, openCallBackFormAction, loadCallCenterDateActionAsync } from './actions';\r\nimport { IXcallyState } from './types.state';\r\n\r\nconst initialState: IXcallyState = {\r\n errorMessage: undefined,\r\n dates: [],\r\n initialFocusedDate: undefined,\r\n pickupDates: [],\r\n pickupTimes: {},\r\n};\r\n\r\nconst reducer = createReducer(initialState, (builder) =>\r\n builder\r\n .addCase(openCallBackFormAction, (state, action) => {\r\n const nextState: IXcallyState = produce(state, (draftState) => {\r\n draftState.errorMessage = undefined;\r\n });\r\n\r\n return nextState;\r\n })\r\n .addCase(sendCallBackFormActionAsync.request, (state, action) => {\r\n const nextState: IXcallyState = produce(state, (draftState) => {\r\n draftState.errorMessage = undefined;\r\n });\r\n\r\n return nextState;\r\n })\r\n .addCase(sendCallBackFormActionAsync.success, (state, action) => {\r\n const nextState: IXcallyState = produce(state, (draftState) => {\r\n draftState.errorMessage = undefined;\r\n });\r\n\r\n return nextState;\r\n })\r\n .addCase(sendCallBackFormActionAsync.failure, (state, action) => {\r\n const nextState: IXcallyState = produce(state, (draftState) => {\r\n draftState.errorMessage = action.payload;\r\n });\r\n\r\n return nextState;\r\n })\r\n\r\n .addCase(loadCallCenterDateActionAsync.request, (state, action) => {\r\n const nextState: IXcallyState = produce(state, (draftState) => {\r\n draftState.errorMessage = undefined;\r\n });\r\n\r\n return nextState;\r\n })\r\n .addCase(loadCallCenterDateActionAsync.success, (state, action) => {\r\n const nextState: IXcallyState = produce(state, (draftState) => {\r\n draftState.errorMessage = undefined;\r\n draftState.dates = action.payload;\r\n\r\n if (action.payload && action.payload.length > 0) {\r\n draftState.initialFocusedDate = action.payload[0].date;\r\n draftState.pickupDates = action.payload.map((callCenterDate) => callCenterDate.date);\r\n\r\n action.payload.forEach((callCenterDate) => {\r\n draftState.pickupTimes[callCenterDate.date.toUTCString()] = {\r\n date: callCenterDate.date.toUTCString(),\r\n times: callCenterDate.times.map((timeSlot) => {\r\n return {\r\n date: callCenterDate.date.toUTCString(),\r\n slotText: timeSlot.slotText,\r\n id: timeSlot.startTime.toUTCString(),\r\n };\r\n }),\r\n };\r\n });\r\n }\r\n });\r\n\r\n return nextState;\r\n })\r\n .addCase(loadCallCenterDateActionAsync.failure, (state, action) => {\r\n const nextState: IXcallyState = produce(state, (draftState) => {\r\n draftState.errorMessage = action.payload;\r\n });\r\n\r\n return nextState;\r\n })\r\n);\r\n\r\nexport default reducer;\r\n","import React from 'react';\r\nimport { createStyles, makeStyles, Theme } from '@material-ui/core/styles';\r\nimport { DateTimePicker, DateTimePickerProps } from 'formik-material-ui-pickers';\r\nimport { IconButton, InputAdornment } from '@material-ui/core';\r\nimport { CalendarToday } from '@material-ui/icons';\r\n\r\nconst useStyles = makeStyles((theme: Theme) =>\r\n createStyles({\r\n root: {},\r\n inputLabelRoot: {\r\n fontSize: '16px',\r\n '&$inputLabelOutlined': {\r\n transform: 'translate(16px, 17.5px) scale(1)',\r\n [theme.breakpoints.up('sm')]: {\r\n transform: 'translate(16px, 15px) scale(1)',\r\n },\r\n },\r\n '&.MuiInputLabel-outlined.MuiInputLabel-shrink': {\r\n transform: 'translate(16px, -6.5px) scale(0.75)',\r\n },\r\n },\r\n inputLabelOutlined: {},\r\n input: {\r\n backgroundColor: theme.palette.background.paper,\r\n height: '16px',\r\n lineHeight: 1,\r\n paddingLeft: theme.spacing(2),\r\n paddingBottom: theme.spacing(2.5),\r\n paddingTop: theme.spacing(2.5),\r\n [theme.breakpoints.up('sm')]: {\r\n paddingBottom: theme.spacing(1.875),\r\n paddingTop: theme.spacing(1.875),\r\n },\r\n },\r\n })\r\n);\r\n\r\nfunction DateTimePickerEx(props: DateTimePickerProps): React.ReactElement {\r\n const classes = useStyles();\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n ),\r\n }}\r\n DialogProps={{ style: { zIndex: 300000 } }}\r\n inputVariant=\"outlined\"\r\n format=\"d.M. yyyy HH:mm\"\r\n cancelLabel=\"Zrušit\"\r\n ampm={false}\r\n />\r\n );\r\n}\r\n\r\nexport default DateTimePickerEx;\r\n","import React from 'react';\r\nimport { createStyles, makeStyles, Theme } from '@material-ui/core/styles';\r\nimport { DatePicker, DatePickerProps } from 'formik-material-ui-pickers';\r\nimport { CalendarToday } from '@material-ui/icons';\r\nimport { IconButton, InputAdornment } from '@material-ui/core';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nconst useStyles = makeStyles((theme: Theme) =>\r\n createStyles({\r\n root: {},\r\n inputLabelRoot: {\r\n fontSize: '16px',\r\n '&$inputLabelOutlined': {\r\n transform: 'translate(16px, 17.5px) scale(1)',\r\n [theme.breakpoints.up('sm')]: {\r\n transform: 'translate(16px, 15px) scale(1)',\r\n },\r\n },\r\n '&.MuiInputLabel-outlined.MuiInputLabel-shrink': {\r\n transform: 'translate(16px, -6.5px) scale(0.75)',\r\n },\r\n },\r\n inputLabelOutlined: {},\r\n input: {\r\n backgroundColor: theme.palette.background.paper,\r\n height: '16px',\r\n lineHeight: 1,\r\n paddingLeft: theme.spacing(2),\r\n paddingBottom: theme.spacing(2.5),\r\n paddingTop: theme.spacing(2.5),\r\n [theme.breakpoints.up('sm')]: {\r\n paddingBottom: theme.spacing(1.875),\r\n paddingTop: theme.spacing(1.875),\r\n },\r\n },\r\n })\r\n);\r\n\r\nfunction DatePickerEx(props: DatePickerProps): React.ReactElement {\r\n const classes = useStyles();\r\n const { t } = useTranslation();\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n ),\r\n }}\r\n DialogProps={{\r\n style: { zIndex: 300000 },\r\n }}\r\n inputVariant=\"outlined\"\r\n format=\"d.M. yyyy\"\r\n cancelLabel={t('common:buttons:cancel')}\r\n />\r\n );\r\n}\r\n\r\nexport default DatePickerEx;\r\n","import React, { useCallback } from 'react';\r\nimport { FieldInputProps, useField, useFormikContext } from 'formik';\r\nimport { TextField as MuiTextField } from '@material-ui/core';\r\nimport MuiAutocomplete, { AutocompleteRenderInputParams } from '@material-ui/lab/Autocomplete';\r\n\r\nimport { useStylesTextField } from '../textField';\r\nimport { IAutocompelteOption } from './types';\r\n\r\nconst Autocomplete = (props: {\r\n id: string;\r\n label: string;\r\n options: T[];\r\n key: keyof T;\r\n getOptionLabel: (option: T) => string;\r\n renderOption: (option: T) => React.ReactElement;\r\n getOptionSelected: (option: T, value: T) => boolean;\r\n field: FieldInputProps;\r\n}): React.ReactElement => {\r\n const textFieldClasses = useStylesTextField();\r\n const [field, meta, helpers] = useField(props.field.name);\r\n\r\n /* eslint-disable-next-line unicorn/no-null */\r\n const [value, setValue] = React.useState(null);\r\n const [inputValue, setInputValue] = React.useState('');\r\n\r\n if (field.value === '' && value) {\r\n /* eslint-disable-next-line unicorn/no-null */\r\n setValue(null);\r\n }\r\n\r\n if (field.value === '' && inputValue) {\r\n setInputValue('');\r\n }\r\n\r\n const handleOnChange = useCallback((event: any, newValue: T | null) => {\r\n console.log('Selected value:', newValue);\r\n setValue(newValue);\r\n\r\n if (newValue) {\r\n helpers.setValue(newValue.id);\r\n } else {\r\n helpers.setValue('');\r\n }\r\n }, []);\r\n\r\n return (\r\n \r\n id={props.id}\r\n onChange={handleOnChange}\r\n onInputChange={(event, newInputValue) => {\r\n setInputValue(newInputValue);\r\n }}\r\n options={props.options}\r\n classes={{\r\n inputRoot: textFieldClasses.autocompleteInputRoot,\r\n input: textFieldClasses.autocompleteInput,\r\n }}\r\n fullWidth\r\n autoHighlight\r\n clearText=\"Odebrat\"\r\n openText=\"Otevřít\"\r\n getOptionLabel={props.getOptionLabel}\r\n renderOption={props.renderOption}\r\n getOptionSelected={props.getOptionSelected}\r\n value={value}\r\n inputValue={inputValue}\r\n renderInput={(params: AutocompleteRenderInputParams) => (\r\n \r\n )}\r\n />\r\n );\r\n};\r\n\r\nexport default Autocomplete;\r\n","import { configureStore, EnhancedStore, getDefaultMiddleware } from '@reduxjs/toolkit';\r\nimport createSagaMiddleware from 'redux-saga';\r\nimport logger from 'redux-logger';\r\nimport { createBrowserHistory } from 'history';\r\nimport { routerMiddleware } from 'connected-react-router';\r\n\r\nexport const history = createBrowserHistory();\r\n\r\nconst devMode = process.env.NODE_ENV === 'development';\r\nconst sagaMiddleware = createSagaMiddleware();\r\nconst middleware = [...getDefaultMiddleware({ thunk: false }), routerMiddleware(history), sagaMiddleware];\r\n\r\nif (devMode) {\r\n middleware.push(logger);\r\n}\r\n\r\nexport default (rootSaga: any, createRootReducer: any, preloadedState = {}): EnhancedStore => {\r\n const store = configureStore({\r\n reducer: createRootReducer(history),\r\n devTools: devMode,\r\n middleware,\r\n preloadedState,\r\n });\r\n sagaMiddleware.run(rootSaga);\r\n\r\n return store;\r\n};\r\n","import React, { PropsWithChildren } from 'react';\r\n\r\nimport { IExternalLinkProps } from './types';\r\nimport ROUTES from './routes';\r\n\r\nconst ExternalLinkComponent = (props: PropsWithChildren): React.ReactElement> => {\r\n const { children, className } = props;\r\n\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n};\r\n\r\nexport default ExternalLinkComponent;\r\n","import { put, all, takeEvery, ForkEffect, AllEffect, PutEffect } from 'redux-saga/effects';\r\nimport { push, goBack } from 'connected-react-router';\r\nimport * as navigationActions from './actions';\r\nimport ROUTES, { HASHS } from './routes';\r\n\r\n// use them in parallel\r\nexport default function* rootSaga(): Generator | AllEffect> {\r\n yield all([\r\n yield takeEvery(navigationActions.navigateToAction, navigateToHandler),\r\n yield takeEvery(navigationActions.navigateToHashAction, navigateToHashHandler),\r\n yield takeEvery(navigationActions.navigateBackAction, navigateBackHandler),\r\n ]);\r\n}\r\n\r\nfunction* navigateToHandler(action: ReturnType): Generator {\r\n try {\r\n const routeUrl = ROUTES[action.payload];\r\n yield put(push(routeUrl));\r\n } catch (error) {\r\n console.error(error);\r\n }\r\n}\r\n\r\nfunction* navigateToHashHandler(action: ReturnType): Generator {\r\n try {\r\n const routeUrl = ROUTES[action.payload.route];\r\n const hash = HASHS[action.payload.hash];\r\n yield put(\r\n push({\r\n pathname: routeUrl,\r\n hash: `#${hash}`,\r\n })\r\n );\r\n } catch (error) {\r\n console.error(error);\r\n }\r\n}\r\n\r\nfunction* navigateBackHandler(action: ReturnType): Generator {\r\n try {\r\n yield put(goBack());\r\n } catch (error) {\r\n console.error(error);\r\n }\r\n}\r\n","import { put, all, takeEvery, ForkEffect, AllEffect, call } from 'redux-saga/effects';\r\n\r\nimport { openCallBackFormAction, sendCallBackFormActionAsync, loadCallCenterDateActionAsync } from './actions';\r\nimport { FormModalDialogData, ModalDialogResult, showDialog, waitForModalDialogResult, YesNoModalDialogData } from '../../components/dialogManager';\r\nimport { XCallyCallBackFormComponentName } from './types';\r\nimport { ApiClient } from '../../api';\r\nimport { BaseDataResponse, BaseResponse } from '../../api/responses';\r\nimport { CallCenterDatePublicModel } from '../../api/interfaces';\r\nimport i18n from '../translation';\r\n\r\n// use them in parallel\r\nexport default function* rootSaga(): Generator | AllEffect> {\r\n yield all([\r\n yield takeEvery(openCallBackFormAction, openCallBackFormActionHandler),\r\n yield takeEvery(sendCallBackFormActionAsync.request, sendCallBackFormActionAsyncRequestHandler),\r\n yield takeEvery(sendCallBackFormActionAsync.success, sendCallBackFormActionAsyncSuccessHandler),\r\n yield takeEvery(loadCallCenterDateActionAsync.request, loadCallCenterDateActionAsyncRequestHandler),\r\n ]);\r\n}\r\n\r\nfunction* openCallBackFormActionHandler(action: ReturnType): any {\r\n console.debug('openCallBackFormActionHandler');\r\n\r\n yield put(\r\n showDialog()({\r\n data: {\r\n actionNo: i18n.t('xcally:dialogs:openCallBackForm:actionNo'),\r\n actionYes: i18n.t('xcally:dialogs:openCallBackForm:actionYes'),\r\n description: i18n.t('xcally:dialogs:openCallBackForm:description'),\r\n title: i18n.t('xcally:dialogs:openCallBackForm:title'),\r\n contentComponentName: XCallyCallBackFormComponentName,\r\n },\r\n dialogType: 'FormDialog',\r\n })\r\n );\r\n\r\n const modalDialogResult: ModalDialogResult = yield waitForModalDialogResult();\r\n}\r\n\r\nfunction* sendCallBackFormActionAsyncRequestHandler(action: ReturnType): any {\r\n console.debug('sendCallBackFormActionAsync.request');\r\n\r\n try {\r\n const mutation = { phoneNumber: action.payload.phoneNumber, scheduledAt: new Date(action.payload.time).toISOString() };\r\n const response: BaseResponse = yield call(\r\n ApiClient.apiCallHandler,\r\n {\r\n context: ApiClient.Xcally,\r\n apiCallFnName: 'callMeBackAsync',\r\n },\r\n mutation\r\n );\r\n\r\n yield response.resultCode === 0\r\n ? yield put(sendCallBackFormActionAsync.success())\r\n : yield put(sendCallBackFormActionAsync.failure(response.resultReason));\r\n /* if (response.resultCode === 0) {\r\n yield put(sendCallBackFormActionAsync.success());\r\n yield put(hideDialog());\r\n } else {\r\n yield put(sendCallBackFormActionAsync.failure(response.resultReason));\r\n } */\r\n } catch (error) {\r\n yield put(sendCallBackFormActionAsync.failure(error));\r\n }\r\n}\r\n\r\nfunction* sendCallBackFormActionAsyncSuccessHandler(action: ReturnType): any {\r\n console.debug('sendCallBackFormActionAsync.success');\r\n\r\n try {\r\n yield put(\r\n showDialog()({\r\n data: {\r\n actionNo: i18n.t('xcally:dialogs:sendCallBackForm:actionNo'),\r\n actionYes: i18n.t('xcally:dialogs:sendCallBackForm:actionYes'),\r\n description: i18n.t('xcally:dialogs:sendCallBackForm:description'),\r\n title: i18n.t('xcally:dialogs:sendCallBackForm:title'),\r\n },\r\n dialogType: 'YesDialog',\r\n })\r\n );\r\n } catch (error) {\r\n yield put(sendCallBackFormActionAsync.failure(error));\r\n }\r\n}\r\n\r\nfunction* loadCallCenterDateActionAsyncRequestHandler(action: ReturnType): any {\r\n console.debug('sendCallBackFormActionAsync.request');\r\n\r\n try {\r\n const response: BaseDataResponse = yield call(ApiClient.apiCallHandler, {\r\n context: ApiClient.Xcally,\r\n apiCallFnName: 'getCallCenterDateAsync',\r\n });\r\n\r\n const actionToPut =\r\n response.resultCode === 0 ? loadCallCenterDateActionAsync.success(response.data) : loadCallCenterDateActionAsync.failure(response.resultReason);\r\n yield put(actionToPut);\r\n } catch (error) {\r\n yield put(loadCallCenterDateActionAsync.failure(error));\r\n }\r\n}\r\n","import { put, ForkEffect, all, takeEvery, AllEffect, PutEffect } from 'redux-saga/effects';\r\n\r\nimport { hideDialog, modalResultCancel, modalResultSuccess } from './actions';\r\n\r\nfunction* handleDialogResult(): Generator {\r\n yield put(hideDialog());\r\n}\r\n\r\nexport default function* root(): Generator | AllEffect, void, unknown> {\r\n yield all([yield takeEvery([modalResultSuccess, modalResultCancel], handleDialogResult)]);\r\n}\r\n","import { createAction } from '@reduxjs/toolkit';\r\n\r\nimport { CallCenterDatePublicModel } from '../../api/interfaces';\r\nimport { createAsyncAction, createAsyncPaylodAction } from '../../core/actions';\r\nimport { CallMeBackModel } from './types';\r\n\r\nexport const openCallBackFormAction = createAction('xcally/openCallBackForm');\r\nexport const sendCallBackFormActionAsync = createAsyncPaylodAction('xcally/sendCallBackFormActionAsync');\r\nexport const loadCallCenterDateActionAsync = createAsyncPaylodAction(\r\n 'xcally/loadCallCenterDateActionAsync'\r\n);\r\n","import { ActionCreatorWithPayload, createAction } from '@reduxjs/toolkit';\r\n\r\nimport { DialogManagerPayload } from './types';\r\n\r\nexport const showDialog = (): ActionCreatorWithPayload> =>\r\n createAction>('dialogManager/SHOW_MODAL_DIALOG');\r\n \r\nexport const hideDialog = createAction('dialogManager/HIDE_MODAL_DIALOG');\r\nexport const modalResultSuccess = createAction('dialogManager/DIALOG_OK');\r\nexport const modalResultCancel = createAction('dialogManager/DIALOG_NO');\r\n","import React, { useCallback } from 'react';\r\nimport MuiLink from '@material-ui/core/Link';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport { Link } from 'react-router-dom';\r\n\r\nimport { IBaseLinkProps } from './types';\r\nimport ROUTES from './routes';\r\n\r\nconst LinkButtonComponent = (props: IBaseLinkProps): React.ReactElement => {\r\n const { text, link, ...muiLinkClasses } = props.classes;\r\n const onClickHandler = useCallback(\r\n (event: React.MouseEvent) => {\r\n if (props.onClick) {\r\n props.onClick();\r\n }\r\n },\r\n [props.onClick]\r\n );\r\n\r\n return props.isExternal ? (\r\n \r\n \r\n \r\n {props.text}\r\n \r\n \r\n \r\n ) : (\r\n \r\n \r\n \r\n {props.text}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default LinkButtonComponent;\r\n","import React from 'react';\r\nimport { currentEnvironment } from '../../environment/environment';\r\n\r\nconst PrimatyButtonLazyLoader = (): React.ComponentType => {\r\n switch (currentEnvironment()) {\r\n case 'cz':\r\n return React.lazy(() => import('./cz/primaryButton'));\r\n case 'hu':\r\n return React.lazy(() => import('./hu/primaryButton'));\r\n case 'sk':\r\n return React.lazy(() => import('./sk/primaryButton'));\r\n default:\r\n throw new Error('PrimatyButtonLazyLoader invalid enviroment');\r\n }\r\n};\r\n\r\nconst PrimatyButtonLazy = PrimatyButtonLazyLoader();\r\n\r\nexport default PrimatyButtonLazy;\r\n","import React from 'react';\r\nimport { currentEnvironment } from '../../environment/environment';\r\n\r\nconst SecondaryButtonLazyLoader = (): React.ComponentType => {\r\n switch (currentEnvironment()) {\r\n case 'cz':\r\n return React.lazy(() => import('./cz/secondaryButton'));\r\n case 'hu':\r\n return React.lazy(() => import('./hu/secondaryButton'));\r\n case 'sk':\r\n return React.lazy(() => import('./sk/secondaryButton'));\r\n default:\r\n throw new Error('SecondaryButtonLazyLoader invalid enviroment');\r\n }\r\n};\r\n\r\nconst SecondaryButtonLazy = SecondaryButtonLazyLoader();\r\n\r\nexport default SecondaryButtonLazy;\r\n","import React, { useCallback, useEffect } from 'react';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { useDispatch } from 'react-redux';\r\nimport createStyles from '@material-ui/core/styles/createStyles';\r\nimport makeStyles from '@material-ui/core/styles/makeStyles';\r\nimport { Theme } from '@material-ui/core/styles/createMuiTheme';\r\nimport DialogContentText from '@material-ui/core/DialogContentText/DialogContentText';\r\n\r\nimport { LinkButton } from '../../features/navigation';\r\nimport { hideDialog } from './actions';\r\n\r\nconst useStyles = makeStyles((theme: Theme) =>\r\n createStyles({\r\n root: {},\r\n link: {\r\n /* color: theme.palette.text.secondary, */\r\n textDecoration: 'underline',\r\n '&:hover': { textDecoration: 'none' },\r\n },\r\n text: {},\r\n })\r\n);\r\n\r\nfunction UnsupportedBrowserDialogContentText(): React.ReactElement {\r\n const classes = useStyles();\r\n const dispatch = useDispatch();\r\n const { t } = useTranslation();\r\n\r\n const onLinkClick = useCallback(() => {\r\n dispatch(hideDialog());\r\n }, [dispatch]);\r\n\r\n return (\r\n \r\n {t('unsupportedBrowser:dialog:text')}  \r\n \r\n \r\n );\r\n}\r\n\r\nexport default UnsupportedBrowserDialogContentText;\r\n","import { AnyAction, getType } from '@reduxjs/toolkit';\r\nimport { take, TakeEffect } from 'redux-saga/effects';\r\n\r\nimport * as actions from './actions';\r\nimport { ModalDialogResult, ModalDialogResultWithPayload } from './types';\r\n\r\nexport function* waitForModalDialogResult(): Generator {\r\n const dialogResult = { selectedActionYes: false } as ModalDialogResult;\r\n const modalDialogAction = yield take([getType(actions.modalResultSuccess), getType(actions.modalResultCancel)]);\r\n\r\n if (modalDialogAction.type === getType(actions.modalResultSuccess)) {\r\n dialogResult.selectedActionYes = true;\r\n }\r\n\r\n return dialogResult;\r\n}\r\n\r\nexport function* waitForModalDialogResultWithPayload(): Generator, AnyAction> {\r\n const dialogResult = { selectedActionYes: false } as ModalDialogResultWithPayload;\r\n const modalDialogAction = yield take([getType(actions.modalResultSuccess), getType(actions.modalResultCancel)]);\r\n\r\n if (modalDialogAction.type === getType(actions.modalResultSuccess)) {\r\n dialogResult.selectedActionYes = true;\r\n dialogResult.payload = modalDialogAction.payload;\r\n }\r\n\r\n return dialogResult;\r\n}\r\n","import environmentConfiguration from '../configuration/environment';\r\nimport { Environment, LanguageCode } from '../core/types';\r\n\r\nexport const currentEnvironment = (): Environment => {\r\n switch (environmentConfiguration.environment) {\r\n case 'cz':\r\n return 'cz';\r\n case 'hu':\r\n return 'hu';\r\n case 'sk':\r\n return 'sk';\r\n default:\r\n throw new Error(`Environment for ${environmentConfiguration.environment} is not supported!`);\r\n }\r\n};\r\n\r\nexport const currentLanguageCode = (): LanguageCode => {\r\n switch (environmentConfiguration.environment) {\r\n case 'cz':\r\n return 'cs';\r\n case 'hu':\r\n return 'hu';\r\n case 'sk':\r\n return 'sk';\r\n default:\r\n throw new Error(`Language for ${environmentConfiguration.environment} is not supported!`);\r\n }\r\n};\r\n\r\nexport const dateLocaleLoaderAsync = (): Promise => {\r\n let suspender: Promise;\r\n\r\n switch (currentEnvironment()) {\r\n case 'cz':\r\n suspender = new Promise((resolve, reject) => {\r\n import('date-fns/locale/cs')\r\n .then((module) => {\r\n resolve(module.default);\r\n\r\n return module.default;\r\n })\r\n .catch((error) => {\r\n console.error('Locale cs cannot loaded!');\r\n reject(error);\r\n });\r\n });\r\n break;\r\n case 'hu':\r\n suspender = new Promise((resolve, reject) => {\r\n import('date-fns/locale/hu')\r\n .then((module) => {\r\n resolve(module.default);\r\n\r\n return module.default;\r\n })\r\n .catch((error) => {\r\n console.error('Locale hu cannot loaded!');\r\n reject(error);\r\n });\r\n });\r\n break;\r\n case 'sk':\r\n suspender = new Promise((resolve, reject) => {\r\n import('date-fns/locale/sk')\r\n .then((module) => {\r\n resolve(module.default);\r\n\r\n return module.default;\r\n })\r\n .catch((error) => {\r\n console.error('Locale sk cannot loaded!');\r\n reject(error);\r\n });\r\n });\r\n break;\r\n default:\r\n throw new Error(`Locale for environment ${environmentConfiguration.environment} is not supported!`);\r\n }\r\n\r\n return suspender;\r\n};\r\n","import * as React from 'react';\r\nimport withStyles, { ClassNameMap } from '@material-ui/core/styles/withStyles';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport Dialog from '@material-ui/core/Dialog';\r\nimport DialogTitle from '@material-ui/core/DialogTitle';\r\nimport DialogContent from '@material-ui/core/DialogContent';\r\nimport DialogContentText from '@material-ui/core/DialogContentText';\r\nimport DialogActions from '@material-ui/core/DialogActions';\r\n\r\nimport { DialogType, YesNoModalDialogData } from './types';\r\nimport { BaseYesNoDialogClassKey, baseYesNoDialogStyles } from './baseDialog';\r\nimport { PrimaryButton, SecondaryButton } from '../button';\r\n\r\ninterface IYesNoDialogProps {\r\n isVisible: boolean;\r\n data: YesNoModalDialogData;\r\n classes: Partial>;\r\n dialogType: DialogType;\r\n\r\n onYesHandle(): void;\r\n onNoHandle(): void;\r\n}\r\n\r\nclass YesNoDialogComponent extends React.PureComponent {\r\n render(): React.ReactNode {\r\n const dialogContetnTextComponent = this.props.data.description ? (\r\n {this.props.data.description}\r\n ) : (\r\n this.props.data.descriptionComponent && \r\n );\r\n\r\n return (\r\n \r\n \r\n
\r\n \r\n {this.props.data.title}\r\n \r\n\r\n \r\n {dialogContetnTextComponent}\r\n \r\n\r\n \r\n \r\n {this.props.dialogType === 'YesNoDialog' ? (\r\n {this.props.data.actionNo}\r\n ) : undefined}\r\n {this.props.data.actionYes}\r\n \r\n \r\n
\r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\nexport const YesNoDialog = withStyles(baseYesNoDialogStyles)(YesNoDialogComponent);\r\n","import { Theme } from '@material-ui/core';\r\nimport { StyleRules } from '@material-ui/core/styles';\r\nimport createStyles from '@material-ui/core/styles/createStyles';\r\n\r\nexport type BaseDialogClassKey = 'paper' | 'dialogRoot' | 'dialogContentRoot';\r\n\r\nexport type BaseYesNoDialogClassKey = BaseDialogClassKey;\r\n\r\nexport type BaseFormDialogClassKey = BaseDialogClassKey | 'dialogTitle' | 'dialogDesciption';\r\n\r\nexport const baseYesNoDialogStyles = (theme: Theme): StyleRules =>\r\n createStyles({\r\n paper: {\r\n margin: theme.spacing(1),\r\n [theme.breakpoints.up('sm')]: {\r\n margin: theme.spacing(6),\r\n },\r\n },\r\n dialogRoot: { padding: theme.spacing(5), flexGrow: 1 },\r\n dialogContentRoot: { padding: theme.spacing(5), textAlign: 'center' },\r\n });\r\n\r\nexport const baseFormDialogStyles = (theme: Theme): StyleRules =>\r\n createStyles({\r\n paper: {\r\n margin: theme.spacing(1),\r\n [theme.breakpoints.up('sm')]: {\r\n margin: theme.spacing(6),\r\n },\r\n },\r\n dialogRoot: {\r\n paddingLeft: theme.spacing(2.25),\r\n paddingRight: theme.spacing(2.25),\r\n paddingTop: theme.spacing(2.75),\r\n paddingBottom: theme.spacing(2),\r\n flexGrow: 1,\r\n\r\n [theme.breakpoints.up('sm')]: {\r\n paddingLeft: theme.spacing(5.25),\r\n paddingRight: theme.spacing(5.25),\r\n paddingTop: theme.spacing(2.75),\r\n paddingBottom: theme.spacing(4),\r\n },\r\n },\r\n dialogContentRoot: { padding: theme.spacing(5), textAlign: 'center' },\r\n dialogTitle: { paddingLeft: theme.spacing(1), paddingRight: theme.spacing(1) },\r\n dialogDesciption: { paddingLeft: theme.spacing(1), paddingRight: theme.spacing(1) },\r\n });\r\n","import * as React from 'react';\r\nimport withStyles, { ClassNameMap } from '@material-ui/core/styles/withStyles';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport Dialog from '@material-ui/core/Dialog';\r\nimport DialogTitle from '@material-ui/core/DialogTitle';\r\nimport DialogContent from '@material-ui/core/DialogContent';\r\nimport DialogContentText from '@material-ui/core/DialogContentText';\r\n\r\nimport { DialogType, FormModalDialogData } from './types';\r\nimport { BaseFormDialogClassKey, baseFormDialogStyles } from './baseDialog';\r\n\r\ninterface IFormDialogProps {\r\n isVisible: boolean;\r\n data: FormModalDialogData;\r\n classes: Partial>;\r\n dialogType: DialogType;\r\n component: React.ComponentType;\r\n onNoHandle(): void;\r\n}\r\n\r\nclass FormDialogComponent extends React.PureComponent {\r\n render(): React.ReactNode {\r\n return (\r\n \r\n
\r\n \r\n \r\n \r\n {this.props.data.title}\r\n \r\n \r\n \r\n \r\n {this.props.data.description}\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\nexport const FormDialog = withStyles(baseFormDialogStyles)(FormDialogComponent);\r\n","import React from 'react';\r\nimport { bindActionCreators, Dispatch } from 'redux';\r\nimport { connect } from 'react-redux';\r\n\r\nimport * as actions from './actions';\r\nimport { DialogType, YesNoModalDialogData, BaseModalDialogData, FormModalDialogData } from './types';\r\nimport { YesNoDialog } from './yesNoDialog';\r\nimport { FormDialog } from './formDialog';\r\nimport { IRootState } from '../../store/types';\r\nimport { getComponentFor } from './formComponentRegistrator';\r\n\r\ninterface IModalManagerProps extends IModalManagerStateProps, IModalManagerDispatchProps {}\r\n\r\ninterface IModalManagerStateProps {\r\n isVisible: boolean;\r\n dialogType: DialogType;\r\n data?: BaseModalDialogData;\r\n}\r\n\r\ninterface IModalManagerDispatchProps {\r\n onYesHandle(value?: any): void;\r\n onNoHandle(): void;\r\n}\r\n\r\nclass ModalManager extends React.PureComponent {\r\n render(): React.ReactNode {\r\n switch (this.props.dialogType) {\r\n case 'FormDialog': {\r\n const component = getComponentFor((this.props.data as FormModalDialogData).contentComponentName);\r\n \r\n return (\r\n \r\n {this.props.data ? (\r\n \r\n ) : undefined}\r\n \r\n );\r\n }\r\n default: {\r\n return (\r\n \r\n {this.props.data ? (\r\n \r\n ) : undefined}\r\n \r\n );\r\n }\r\n }\r\n }\r\n}\r\n\r\nconst mapStateToProps = ({ dialogManager }: IRootState): IModalManagerStateProps => {\r\n return {\r\n isVisible: dialogManager.isVisible,\r\n dialogType: dialogManager.dialogType,\r\n data: dialogManager.data,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch: Dispatch): IModalManagerDispatchProps => {\r\n return {\r\n onNoHandle: bindActionCreators(actions.modalResultCancel, dispatch),\r\n onYesHandle: bindActionCreators(actions.modalResultSuccess, dispatch),\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ModalManager);\r\n","let euWebUrl = 'https://localhost/';\r\n\r\nif (process.env.REACT_APP_EU_WEB_URL) {\r\n euWebUrl = process.env.REACT_APP_EU_WEB_URL;\r\n}\r\n\r\nexport default { euWebUrl };\r\n","import urlConfiguration from '../../configuration/url';\r\n\r\nconst ROUTES = {\r\n contacts: '/contacts',\r\n root: '/',\r\n home: '/home',\r\n cookies: '/cookies',\r\n authenticatedSection: '/auth',\r\n authenticatedSectionAnnouncement: '/auth/announcement',\r\n authenticatedSectionAnnouncementDemage: '/auth/announcement?event=damage',\r\n authenticatedSectionAnnouncementTheft: '/auth/announcement?event=theft',\r\n authenticatedSectionAnnouncementLoss: '/auth/announcement?event=loss',\r\n authenticatedSectionAnnouncementExtendedWarranty: '/auth/announcement?event=extendedWarranty',\r\n authenticatedSectionSelfcare: '/auth/selfcare',\r\n authenticatedSectionSelfcareContract: '/auth/selfcare/contract',\r\n authenticatedSectionSelfcareClaim: '/auth/selfcare/claim',\r\n authenticatedSectionSelfcareNewMessage: '/auth/selfcare/message',\r\n authenticatedSectionSelfcareMessageSent: '/auth/selfcare/sent',\r\n announcement: '/announcement',\r\n signOut: '/signout',\r\n unsupportedBrowser: '/unsupported-browser',\r\n supportedBrowser: '/supported-browser',\r\n whistleblowing: '/whistleblowing',\r\n whistleblowingSent: '/whistleblowingsent',\r\n 'external/cookies/chrome': 'https://support.google.com/chrome/answer/95647?hl=en',\r\n 'external/cookies/firefox':\r\n 'https://support.mozilla.org/en-US/kb/enhanced-tracking-protection-firefox-desktop?redirectslug=enable-and-disable-cookies-website-preferences&&redirectlocale=en-US',\r\n 'external/cookies/internet-explorer': 'https://support.microsoft.com/en-us/topic/delete-and-manage-cookies-168dab11-0753-043d-7c16-ede5947fc64d',\r\n 'external/cookies/safari': 'https://help.apple.com/safari/mac/8.0/',\r\n // HU\r\n 'external/hu/maxima': 'https://maximabiztosito.hu/sites/default/files/Adatvedelem-Adatkezelesi_tajeoztato_Yettel_2022_03.pdf',\r\n 'external/yettel/informace-o-zpracovani-osobnich-udaju':\r\n 'https://maximabiztosito.hu/sites/default/files/2022-02/Adatvedelem-Adatkezelesi_tejekoztato_Yettel_2022_03.pdf',\r\n 'external/yettel/informacni-dokument': 'https://maximabiztosito.hu/sites/default/files/2022-02/Yettel_IPID_Keszulekbiztositas_Tajekoztato.pdf',\r\n 'external/yettel/vseobecne-pojistne-podminky': 'https://maximabiztosito.hu/biztositas',\r\n 'external/telenor/postup-reseni-stiznosti': 'https://maximabiztosito.hu/sites/default/files/2021-11/Panaszkezelesi_tajekoztato_2021THU.pdf',\r\n 'external/yettel': 'https://www.yettel.hu',\r\n 'external/yettel/keszulekbiztositas': 'https://www.yettel.hu/keszulekbiztositas',\r\n 'external/hu/icloud': 'https://support.apple.com/hu-hu/guide/icloud/mmfc0eeddd/icloud',\r\n // CZ\r\n 'external/cz/maxima': 'https://www.o2.cz/osobni/-a15962?field=data&_linka=a65117',\r\n 'external/o2/ramcova-pojistna-smlouva-do-7.10.2022': 'https://www.o2.cz/osobni/-a76692?field=data',\r\n 'external/o2/ramcova-pojistna-smlouva-od-7.10.2022': 'https://www.o2.cz/-a202801?field=data ',\r\n 'external/o2/ramcova-pojistna-smlouva-od-1.2.2024': 'https://www.o2.cz/-a134579?field=data',\r\n 'external/o2/informacni-dokument-do-7.10.2022': 'https://www.o2.cz/osobni/-a76804?field=data',\r\n 'external/o2/informacni-dokument-od-7.10.2022': 'https://www.o2.cz/-a202803?field=data',\r\n 'external/o2/informacni-dokument-od-1.2.2024': 'https://www.o2.cz/-a134581?field=data',\r\n 'external/o2/informace-o-zpracovani-osobnich-udaju': 'https://www.o2.cz/osobni/-a15962?field=data&_linka=a65117',\r\n 'external/o2family/ramcova-pojistna-smlouva-do-7.10.2022': 'https://www.o2family.cz/files/content/hwpoj/rps-o2family-20200812.pdf',\r\n 'external/o2family/ramcova-pojistna-smlouva-od-7.10.2022': 'https://www.o2family.cz/files/content/hwpoj/2022/rps-o2f-hw-2022.pdf',\r\n 'external/o2family/ramcova-pojistna-smlouva-od-1.2.2024': 'https://www.o2.cz/-a134579?field=data',\r\n 'external/o2family/informacni-dokument-do-7.10.2022':\r\n 'https://www.o2family.cz/files/content/hwpoj/informacni-dokument-k-pojistnemu-produktu-1.9.2020.pdf',\r\n 'external/o2family/informacni-dokument-od-7.10.2022':\r\n 'https://www.o2family.cz/files/content/hwpoj/2022/informacni-dokument-k-pojistnemu-produktu-o2f-2022.pdf',\r\n 'external/o2family/informacni-dokument-od-1.2.2024':\r\n 'https://www.o2.cz/-a134581?field=data',\r\n 'external/o2family/informace-o-zpracovani-osobnich-udaju':\r\n 'https://www.o2family.cz/files/content/pojisteni/memorandum-o-ochrane-osobnich-udaju-o2-hw-pojisteni.pdf',\r\n 'external/o2/products': 'https://www.o2.cz/osobni/pojistka-mobil',\r\n 'external/o2/products/cestovni-pojisteni': 'https://www.o2.cz/osobni/cestovni-pojisteni',\r\n 'external/o2/products/zarizeni-na-splatky': 'https://www.o2.cz/osobni/zarizeni-na-splatky',\r\n 'external/o2/products/platba-pres-o2': 'https://www.o2.cz/osobni/platba-pres-o2',\r\n 'external/o2/products/o2-rb-karta': 'https://www.o2.cz/osobni/o2-rb-karta',\r\n 'external/cz/icloud': 'https://support.apple.com/cs-cz/guide/icloud/mmfc0eeddd/icloud',\r\n 'external/cz/dpd': 'https://www.dpd.com/cz/cs/podpora/podminky-prepravy/jak-spravne-zabalit-zasilky/',\r\n // SK\r\n 'external/sk/o2pojistka': 'https://www.o2.sk/ponuka/telefony-a-zariadenia/o2poistka',\r\n 'external/sk/maxima-informace-o-zpracovani-osobnich-udaju': 'https://www.pojistovnamaxima.sk/sk/informacie-o-spracuvani-osobnych-udajov',\r\n 'external/sk/prodejny': 'https://www.o2.sk/podpora/centrum-podpory/kontakty/o2-predajne',\r\n // EU\r\n \"external/eu/all\":urlConfiguration.euWebUrl\r\n};\r\n\r\nexport default ROUTES;\r\n\r\nexport const HASHS = {\r\n generalContact: 'generalContact',\r\n};\r\n\r\nexport type AuthenticationChatType = 'none' | 'contract' | 'announcement';\r\n","import { ReportHandler } from 'web-vitals';\r\n\r\nconst reportWebVitals = (onPerfEntry?: ReportHandler): void => {\r\n if (onPerfEntry && onPerfEntry instanceof Function) {\r\n import('web-vitals')\r\n .then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {\r\n getCLS(onPerfEntry);\r\n getFID(onPerfEntry);\r\n getLCP(onPerfEntry);\r\n\r\n /* getTTFB(onPerfEntry);\r\n getFCP(onPerfEntry); */\r\n\r\n return true;\r\n })\r\n .catch((error: Error) => {\r\n // eslint-disable-next-line no-console\r\n console.error(error);\r\n });\r\n }\r\n};\r\n\r\nexport default reportWebVitals;\r\n","import { Theme, ThemeProvider as MuiThemeProvider } from '@material-ui/core';\r\nimport React, { ReactElement, ReactNode, useEffect } from 'react';\r\n\r\nimport { themeLoaderAsync } from './themeLoader';\r\n\r\nconst ThemeContext = React.createContext({} as Theme);\r\n\r\nexport const ThemeContextConsumer = ThemeContext.Consumer;\r\n\r\nexport const ThemeContextProvider = (props: { children: ReactNode }): ReactElement => {\r\n const [theme, setTheme] = React.useState();\r\n\r\n useEffect(() => {\r\n themeLoaderAsync()\r\n .then(function (loadedLocale) {\r\n setTheme(loadedLocale);\r\n console.debug('Locale loaded:', loadedLocale);\r\n\r\n return loadedLocale;\r\n })\r\n .catch(function (error) {\r\n console.error(error);\r\n });\r\n }, []);\r\n\r\n if (!theme) {\r\n return
;\r\n }\r\n\r\n console.debug('ThemeContextProvider render');\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n};\r\n","import { Theme } from '@material-ui/core/styles/createMuiTheme';\r\n\r\nimport { currentEnvironment } from '../../environment/environment';\r\n\r\nexport const themeLoaderAsync = (): Promise => {\r\n let suspender: Promise;\r\n\r\n switch (currentEnvironment()) {\r\n case 'cz':\r\n suspender = new Promise((resolve, reject) => {\r\n import('./cz/theme')\r\n .then((module) => {\r\n resolve(module.default);\r\n\r\n return module.default;\r\n })\r\n .catch((error) => {\r\n console.error('Theme cs cannot loaded!');\r\n reject(error);\r\n });\r\n });\r\n break;\r\n case 'hu':\r\n suspender = new Promise((resolve, reject) => {\r\n import('./hu/theme')\r\n .then((module) => {\r\n resolve(module.default);\r\n\r\n return module.default;\r\n })\r\n .catch((error) => {\r\n console.error('Theme hu cannot loaded!');\r\n reject(error);\r\n });\r\n });\r\n break;\r\n case 'sk':\r\n suspender = new Promise((resolve, reject) => {\r\n import('./sk/theme')\r\n .then((module) => {\r\n resolve(module.default);\r\n\r\n return module.default;\r\n })\r\n .catch((error) => {\r\n console.error('Theme sk cannot loaded!');\r\n reject(error);\r\n });\r\n });\r\n break;\r\n default:\r\n throw new Error(`Theme for environment ${currentEnvironment()} is not supported!`);\r\n }\r\n\r\n return suspender;\r\n};\r\n","import React, { useEffect } from 'react';\r\nimport createStyles from '@material-ui/core/styles/createStyles';\r\nimport makeStyles from '@material-ui/core/styles/makeStyles';\r\nimport { Theme } from '@material-ui/core/styles/createMuiTheme';\r\nimport { Typography } from '@material-ui/core';\r\nimport { Link } from 'react-router-dom';\r\nimport { useTranslation } from 'react-i18next';\r\nimport CookieConsent from 'react-cookie-consent';\r\nimport { ROUTES } from '../navigation';\r\n\r\nconst useStyles = makeStyles((theme: Theme) =>\r\n createStyles({\r\n root: {},\r\n link: {\r\n color: theme.palette.common.white,\r\n textDecoration: 'underline',\r\n '&:hover': { textDecoration: 'none' },\r\n },\r\n })\r\n);\r\n\r\nconst styles = {\r\n banner: {\r\n background: '#334051',\r\n opacity: 0.88,\r\n zIndex: '300000',\r\n },\r\n button: {\r\n border: '1px solid white',\r\n borderRadius: 4,\r\n height: 32,\r\n lineHeight: '32px',\r\n background: 'transparent',\r\n color: 'white',\r\n fontSize: '14px',\r\n fontWeight: 600,\r\n opacity: 1,\r\n padding: '0px 15px',\r\n margin: '18px',\r\n },\r\n};\r\n\r\nfunction CookiePanelComponent(): React.ReactElement {\r\n const classes = useStyles();\r\n const { t } = useTranslation();\r\n\r\n return (\r\n
\r\n \r\n \r\n {t('cookies:cookiePanel:title')}\r\n \r\n {t('cookies:cookiePanel:titleLink')}\r\n {' '}\r\n {t('cookies:cookiePanel:consent')}\r\n \r\n \r\n
\r\n );\r\n}\r\n\r\nexport default CookiePanelComponent;\r\n","import CookiePanel from './cookiePanel';\r\n\r\nexport default CookiePanel;","import React, { lazy, Suspense, useEffect } from 'react';\r\nimport CssBaseline from '@material-ui/core/CssBaseline';\r\n\r\nimport { ThemeContextProvider } from '../theme';\r\nimport FullPageLoadingIndicatorContainer from '../../components/fullPageLoadingIndicator/fullPageLoadingIndicatorContainer';\r\nimport { supportedBrowsersService } from './supportedBrowserService';\r\nimport CookiePanel from '../cookiePanel';\r\nimport { DateLocaleContextProvider } from '../../environment/context';\r\n\r\nconst App = lazy(() => import('../app/app'));\r\nconst UnsupportedApp = lazy(() => import('../unsupportedBrowserApp/unsupportedBrowserApp'));\r\nconst ModalDialogContainer = lazy(() => import('../../components/dialogManager/modalDialogContainer'));\r\nconst renderLoader = (): React.ReactElement => ;\r\n\r\nfunction BrowserBaseApp(): React.ReactElement {\r\n const [isBrowserSupported, setIsBrowserSupported] = React.useState(false);\r\n \r\n useEffect(() => {\r\n const isBrowserSupportedResult = supportedBrowsersService().isBrowserSupported();\r\n setIsBrowserSupported(isBrowserSupportedResult);\r\n }, []);\r\n\r\n const childrenComponent = isBrowserSupported ? : ;\r\n console.log('BrowserBaseApp render');\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n {childrenComponent}\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default BrowserBaseApp;\r\n","import BrowserBaseApp from './browserBaseApp';\r\n\r\nexport default BrowserBaseApp;\r\n","import React, { ReactElement, useEffect } from 'react';\r\nimport { Provider } from 'react-redux';\r\nimport { AnyAction, Store } from 'redux';\r\n\r\nimport { storeLoaderAsync } from './storeLoader';\r\n\r\nexport const StoreLoader = (props: { children: ReactElement }): ReactElement => {\r\n const [store, setStore] = React.useState>();\r\n\r\n useEffect(() => {\r\n storeLoaderAsync()\r\n .then(function (loadedStore) {\r\n setStore(loadedStore);\r\n console.debug('Store loaded:', loadedStore);\r\n\r\n return loadedStore;\r\n })\r\n .catch(function (error) {\r\n console.error(error);\r\n });\r\n }, []);\r\n\r\n if (!store) {\r\n return
;\r\n }\r\n\r\n console.debug('StoreLoader render');\r\n\r\n return {props.children};\r\n};\r\n","import { EnhancedStore } from '@reduxjs/toolkit';\r\n\r\nimport { currentEnvironment } from '../environment/environment';\r\nimport environmentConfiguration from '../configuration/environment';\r\n\r\nexport const storeLoaderAsync = (): Promise => {\r\n let suspender: Promise;\r\n\r\n switch (currentEnvironment()) {\r\n case 'cz':\r\n suspender = new Promise((resolve, reject) => {\r\n import('./cz/store.cz')\r\n .then((module) => {\r\n resolve(module.default);\r\n\r\n return module.default;\r\n })\r\n .catch((error) => {\r\n console.error('Store cs cannot loaded!');\r\n reject(error);\r\n });\r\n });\r\n break;\r\n case 'hu':\r\n suspender = new Promise((resolve, reject) => {\r\n import('./hu/store.hu')\r\n .then((module) => {\r\n resolve(module.default);\r\n\r\n return module.default;\r\n })\r\n .catch((error) => {\r\n console.error('Store hu cannot loaded!');\r\n reject(error);\r\n });\r\n });\r\n break;\r\n case 'sk':\r\n suspender = new Promise((resolve, reject) => {\r\n import('./sk/store.sk')\r\n .then((module) => {\r\n resolve(module.default);\r\n\r\n return module.default;\r\n })\r\n .catch((error) => {\r\n console.error('Store sk cannot loaded!');\r\n reject(error);\r\n });\r\n });\r\n break;\r\n default:\r\n throw new Error(`Store for environment ${environmentConfiguration.environment} is not supported!`);\r\n }\r\n\r\n return suspender;\r\n};\r\n","import 'react-app-polyfill/ie11';\r\nimport 'react-app-polyfill/stable';\r\nimport 'regenerator-runtime/runtime';\r\n\r\nimport 'core-js';\r\nimport 'core-js/es';\r\n/* import 'core-js/es/regexp';\r\nimport 'core-js/es/function';\r\nimport 'core-js/es/parse-int';\r\nimport 'core-js/es/parse-float';\r\nimport 'core-js/es/number';\r\nimport 'core-js/es/math';\r\nimport 'core-js/es/string';\r\nimport 'core-js/es/date';\r\nimport 'core-js/es/array';\r\nimport 'core-js/es/map';\r\nimport 'core-js/es/weak-map';\r\nimport 'core-js/es/set';\r\nimport 'core-js/es/reflect'; */\r\nimport 'core-js/web';\r\nimport { enableES5 } from 'immer';\r\nimport { Helmet } from 'react-helmet';\r\n\r\nimport React, { Suspense } from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport { ConnectedRouter } from 'connected-react-router';\r\n\r\nimport { I18nLoader } from './features/translation';\r\nimport reportWebVitals from './reportWebVitals';\r\nimport { history } from './store/store.default';\r\nimport BrowserBaseApp from './features/browserBaseApp';\r\nimport { registerFormComponent } from './components/dialogManager/formComponentRegistrator';\r\nimport { XCallyCallBackFormContainer, XCallyCallBackFormComponentName } from './features/xcally';\r\nimport { FullPageLoadingIndicatorContainer } from './components/fullPageLoadingIndicator';\r\nimport { currentLanguageCode } from './environment/environment';\r\nimport { StoreLoader } from './store/loader';\r\n\r\nenableES5();\r\nregisterFormComponent(XCallyCallBackFormComponentName, XCallyCallBackFormContainer);\r\n\r\nconst renderLoader = (): React.ReactElement => ;\r\n\r\nReactDOM.render(\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ,\r\n document.querySelector('#root')\r\n);\r\n\r\n// If you want to start measuring performance in your app, pass a function\r\n// to log results (for example: reportWebVitals(console.log))\r\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\r\nreportWebVitals();\r\n"],"sourceRoot":""}