{"version":3,"sources":["images/clients/alpiq/logo.png","infrastructure/store/main/mainActionTypes.ts","infrastructure/store/main/MainReducer.ts","infrastructure/store/StoreSubscribers.ts","i18n.ts","infrastructure/oidc/UserManager.ts","serviceWorker.ts","features/shared/enums/DeviceTypeEnum.ts","infrastructure/oidc/LoginPage.tsx","infrastructure/oidc/LogoutPage.tsx","infrastructure/oidc/CallbackPage.tsx","infrastructure/oidc/SilentRenewPage.tsx","infrastructure/oidc/LoginRoutes.tsx","features/shared/layout/topbar/components/TopBarLogo.tsx","features/shared/layout/topbar/components/TopBar.tsx","features/shared/components/avatar/Avatar.tsx","features/sidebar/ProfileDialog.tsx","features/shared/layout/Layout.tsx","fontawesome.ts","features/item/Item.tsx","features/itemWithPrices/ItemWithPrices.tsx","features/buyTranche/Tranche.tsx","features/formula/Formul.tsx","features/modal/ModalTime.tsx","features/modal/ModalBuy.tsx","features/envelope/components/EnvelopeTable.tsx","features/shared/modules/Dashboard.tsx","features/shared/components/table/CustomTable.tsx","features/customer/sections/Detail.tsx","features/shared/modules/Customer.tsx","App.tsx","index.tsx","infrastructure/store/ConfigureStore.ts","features/sidebar/profiledialog.module.scss","features/shared/layout/topbar/components/topbar.module.scss","features/shared/layout/topbar/components/topbarlogo.module.scss","features/shared/components/avatar/avatar.module.scss","features/shared/layout/layout.module.scss"],"names":["module","exports","MainActionTypes","initialState","tablesState","Array","MainReducer","state","action","type","SET_TABLE_STATE","tableState","filter","x","code","data","push","validateMainReducer","pState","pDispatch","validateAnother","selected","localStorage","getItem","backendOptions","loadPath","i18n","use","Backend","init","backend","LanguageDetector","initReactI18next","lng","fallbackLng","whitelist","debug","interpolation","escapeValue","Oidc","Log","logger","console","UserManager","createUserManager","client_id","process","authority","response_type","scope","redirect_uri","silent_redirect_uri","automaticSilentRenew","filterProtocolClaims","loadUserInfo","events","addSilentRenewError","error","hasOwnProperty","signinRedirect","Boolean","window","location","hostname","match","DeviceTypeEnum","LoginPage","props","className","icon","faSpinner","LogoutPage","signoutRedirect","CallbackPage","routerHistory","useHistory","userManager","successCallback","SilentRenewPage","processSilentRenew","LoginRoutes","exact","path","component","logoImg","require","TopBarLogo","MOBILE","styles","topbarLogo","DESKTOP","logoClass","href","src","alt","topbarLogoImg","TopBar","useDispatch","userState","useSelector","store","oidc","topbar","topbarActionItem","topbarActionLink","onClick","e","onSidebar","topbarProfileAvatar","topbarProfileText","user","profile","email","Avatar","inlineStyle","width","size","height","fontSize","undefined","iconSize","disabaleShadow","shadow","avatar","getClasses","disableShadow","style","ProfileDialog","show","setShow","closeDialogHandler","Modal","onHide","dialogClassName","profileDialog","profileModal","profileContent","profileHeader","profileCloseBtn","aria-hidden","name","profileHeaderInfo","profileBody","target","profileActionItem","profileActionIcon","faKey","to","faSignOutAlt","Layout","useState","profileDialogShow","setProfileDialogShow","showBar","Container","fluid","pageContainer","Col","lg","Row","children","library","add","faComment","faCommentR","faEnvelope","faBars","faBell","faUser","faQuestionCircle","faCheckCircle","faExclamationCircle","faInfoCircle","Item","t","useTranslation","setSelected","useEffect","rerender","baseLoad","zdaPlatnaCenaBaseLoad","kindDerivationPrice","whatsSelected","whatsShown","periodCode","Badge","variant","Date","datumBaseLoad","toLocaleDateString","Button","onModalTime","checked","onChange","set","baseload","peakload","exchange","date","kind","adding","onSelectItem","setSelectedAndSend","Number","komodita","peakLoad","Form","Group","Label","value","msgBaseLoad","toFixed","replace","datumkurzu","getHours","getMinutes","getSeconds","title","textInfoBaseLoad","ItemWithPrices","inputValue","setInputValue","inputValueUnformatted","setInputValueUnformatted","percents","percentValue","setPercentValue","percentValueUnformatted","setPercentValueUnformatted","canBuy","setCanBuy","copy","setCopy","cena","cenaTranse","setcenaTranse","priceName","formulaName","split","detailInfo","calculatedPrice","obchodniDen","odkazNaBanku","numberWithSpaces","parts","toString","join","formatInputs","formatedInput","parseFloat","formatedPercents","kodBanky","timeoutId","setTimeout","clearTimeout","numbertocopy","amountRemaining","procenta","amountPlanning","transe","alfabetagama","isIt","alfa","beta","gama","gridder","Fragment","faChartLine","priceBaseLoad","exchangeRate","dateLoadedPrice","faArrowAltCircleRight","Control","onInput","total","newAmmountPercentage","overAmountRemAllowed","handleChange","min","max","placeholder","remainingAmmount","newAmmount","handleChangePercentage","formulaDisplayName","disabled","Tranche","buyResult","setbuyResult","getDeal","a","params","trancheToBuy","axios","post","url","pResult","resultList","purchaseEnvStatus","formulaList","periodList","amount","faBug","description","messageError","Formul","formule","setFormule","tranche","setTranche","isBuy","setIsBuy","getPrices","periodToBuy","onSelectItemHandle","pricePeakLoad","period","purchaseManner","formula","mail","purchaseEnvelopeId","envelope","isRequested","pFormules","map","perioda","i","YearsSet","QuartSet","MonthsSet","YearsBest","QuartBest","MonthsBest","bloky","includes","OrderedOffersSetLeft","OrderedOffersSetRight","OrderedOffersBestLeft","OrderedOffersBestRight","PlanListSetLeft","nakupy","y","statusDne","PlanListSetRight","PlanListBestLeft","PlanListBestRight","Accordion","defaultActiveKey","Card","Toggle","as","Header","eventKey","faChevronDown","Collapse","Body","ModalTime","setDate","datumDotazu","datumOdpovedi","uzivatel","smsEmailResponseText","response","setResponse","choser","setChoser","setSet","sendRequestPrice","URLSearchParams","AskDateTime","toISOString","useremail","username","userphone","clientname","obdobi","kodbanky","get","dt","setMinutes","curentDate","isOpen","resetAndHide","aria-labelledby","centered","closeButton","Title","id","modaltime","responseText","resultEmail","message","resultSMS","renderResponseBody","locale","moment","isValid","d","toDate","handleDateChange","Footer","ModalBuy","prices","setPrices","selectAll","setSelectAll","showOnlyPrices","setShowOnlyPrices","setPeriod","setKodBanky","isOpenModalTime","setIsOpenModalTime","setPeriodToBuy","fresh","setFresh","handleOnChangeSelect","addOrRemove","helpArray","oldArray","some","length","splice","handleTimeModal","getPeriod","rok","nazevBurzy","selectThisAll","what","periods","index","zpusobStanoveniCeny","OrderedOffers","banka","datumKurzu","datum","dateTimeBaseLoad","datumPeakLoad","dateTimePeakLoad","messageBaseLoad","msgPeakLoad","messagePeakLoad","cenaBaseLoad","cenaPeakLoad","kurz","zdaPlatnaCenaPeakLoad","renderModalBodySetLeft","renderModalBodySetRight","renderModalBodyBestLeft","renderModalBodyBestRight","faSync","phone_number","EnvelopeTable","envelopes","setEnvelopes","envOpen","setEnvOpen","od","do","years","setYears","render","setRender","setRerender","nextLevel","setNextLevel","rowspan","setRowspan","isOpenModal","setIsOpenModal","getEnvelopes","getFullYear","refresh","arr","arr2","arr3","purchaseCustomerList","obalky","purchaseEnvelopeList","j","toggleModal","obchodujeme","zbyva","yearsControl","from","intFrom","parseInt","intTo","step","Table","bordered","colSpan","pEnvelopes","pointer","sort","b","nameA","toUpperCase","nameB","indx","jednotliveObalky","inex","PlanCount","RemainCount","lvl1Open","rs","trCount","nextLevelOpen","BoughtTotalCount","BoughtTotalM","isOpenEnvelopeTranches","PlanList","planList","plan","colspan","month","key","TrancheBoughtList","trancheBoughtList","tBoughtList","p","trancheId","purchasingDate","price","currency","boughtList","tBoughtListList","BoughtTotalList","RemainList","purchaseRemainList","remain","indexx","purchaseEnvYear","faShoppingCart","faBolt","faBurn","compRegNumber","faMinus","faPlus","dateFrom","dateTo","rowSpan","renderTableBody","Dashboard","CustomTable","headData","val","Detail","tCustomer","Customer","App","dispatch","getUser","isLoadingUser","pathname","then","expired","USER_FOUND","payload","log","DEBUG","history","createBrowserHistory","rootReducer","combineReducers","router","connectRouter","oidcReducer","main","sagaMiddleware","createSagaMiddleware","middleware","routerMiddleware","composeEnhancers","composeWithDevTools","createStore","compose","applyMiddleware","subscribing","subscribe","forEach","getState","configureStore","initialReduxState","ReactDOM","StrictMode","fallback","document","getElementById","navigator","serviceWorker","ready","registration","unregister","catch"],"mappings":"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","file":"static/js/main.606c8038.chunk.js","sourcesContent":["module.exports = __webpack_public_path__ + \"static/media/logo.e8614ffc.png\";","import TableStateModel from \"../../../features/shared/models/TableStateModel\";\r\n\r\nexport enum MainActionTypes {\r\n SET_TABLE_STATE = \"@@contracts/GET_CONTRACTS\"\r\n}\r\n\r\nexport type MainAction =\r\n\t| { type: MainActionTypes.SET_TABLE_STATE, data: TableStateModel };","import { Reducer } from \"redux\";\r\nimport { MainActionTypes, MainAction } from \"./mainActionTypes\";\r\nimport IMainState from \"./IMainState\";\r\nimport TableStateModel from \"../../../features/shared/models/TableStateModel\";\r\n\r\nconst initialState: IMainState = {\r\n tablesState: new Array(),\r\n};\r\n\r\nconst MainReducer: Reducer = (\r\n state = initialState,\r\n action\r\n) => {\r\n switch (action.type) {\r\n case MainActionTypes.SET_TABLE_STATE: {\r\n const tableState = state.tablesState.filter(\r\n (x) => x.code !== action.data.code\r\n );\r\n\r\n tableState.push(action.data);\r\n\r\n return {\r\n ...state,\r\n tablesState: tableState,\r\n };\r\n }\r\n default: {\r\n return state;\r\n }\r\n }\r\n};\r\n\r\nexport default MainReducer;\r\n","import IAppState from \"./IAppState\";\r\nimport { AnyAction } from \"redux\";\r\nimport { Dispatch } from \"react\";\r\n\r\n// ACTIONS\r\nimport {MainActionTypes} from \"./main/mainActionTypes\";\r\n\r\nexport const validateMainReducer = (\r\n pState: IAppState,\r\n pDispatch: Dispatch\r\n) => {\r\n // let state = pState.main.tablesState[0];\r\n // if(!state) return;\r\n // state.page = 100;\r\n // pDispatch({type: MainActionTypes.SET_TABLE_STATE, data: state})\r\n};\r\n\r\nexport const validateAnother = (\r\n pState: IAppState,\r\n pDispatch: Dispatch\r\n) => {\r\n // let state = pState.main.tablesState[0];\r\n // if(!state) return;\r\n // state.page = 200;\r\n // pDispatch({type: MainActionTypes.SET_TABLE_STATE, data: state})\r\n};\r\n","import i18n from \"i18next\";\r\nimport { initReactI18next } from \"react-i18next\";\r\nimport Backend, { BackendOptions } from \"i18next-http-backend\";\r\nimport LanguageDetector from \"i18next-browser-languagedetector\";\r\n\r\nconst languages = [\"cz\", \"sk\"];\r\n// Zvolený jazyk z localstorage nebo default\r\nconst selected = localStorage.getItem(\"i18nextLng\") || \"cz\";\r\n\r\n// Cesta k překladům pro daný projekt\r\nconst getLoadPath = (): string => {\r\n var clientName: string = process.env.REACT_APP_CLIENT || \"\";\r\n\r\n switch (clientName) {\r\n default:\r\n return \"default\";\r\n }\r\n};\r\n\r\n// Konfigurace pro načítání překladů\r\nconst backendOptions: BackendOptions = {\r\n loadPath: `/locales/{{lng}}/${getLoadPath()}/{{ns}}.json`,\r\n};\r\n\r\n//load translation using xhr -> see /public/locales\r\n//learn more: https://github.com/i18next/i18next-http-backend\r\ni18n.use(Backend).init({\r\n backend: backendOptions,\r\n});\r\n\r\ni18n\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 lng: selected,\r\n fallbackLng: \"cz\",\r\n whitelist: languages,\r\n debug: true,\r\n\r\n interpolation: {\r\n escapeValue: false, // not needed for react as it escapes by default\r\n },\r\n });\r\n\r\nexport default i18n;","import { createUserManager } from \"redux-oidc\";\r\nimport Oidc, { UserManagerSettings, User } from \"oidc-client\";\r\n\r\nconst userManagerConfig: UserManagerSettings = {\r\n client_id: process.env[\"REACT_APP_CLIENT_ID\"],\r\n authority: process.env[\"REACT_APP_AUTHORITY\"],\r\n response_type: \"code\",\r\n scope: \"openid profile roles email address NakupniPortalAPI phone\",\r\n redirect_uri: process.env[\"REACT_APP_REDIRECT_URI\"],\r\n silent_redirect_uri: process.env[\"REACT_APP_SILENT_REDIRECT_URI\"],\r\n automaticSilentRenew: true,\r\n filterProtocolClaims: true,\r\n loadUserInfo: true,\r\n};\r\n\r\nOidc.Log.logger = console;\r\n\r\nconst UserManager = createUserManager(userManagerConfig);\r\n\r\nUserManager.events.addSilentRenewError((error: any) => {\r\n if (error.hasOwnProperty(\"error\") && error[\"error\"] === \"login_required\") {\r\n UserManager.signinRedirect();\r\n }\r\n})\r\n\r\nexport default UserManager;\r\n\r\n//NakupniPortalAPI_Triton_ReactClient => triton\r\n//NakupniPortalAPI_ReactClient => localhost IS\r\n\r\n\r\n//NakupniPortalAPI_ReactClient - pro alpiq dev\r\n//https://nakupniportal.dev.alpiq-energy.cz/ UI\r\n//https://api.dev.alpiq-energy.cz/NakupniPortal.Api/api/v1/ api\r\n//https://identityserver.dev.alpiq-energy.cz/IdentityServer4.IdentityServer identity\r\n\r\n//REACT_APP_FLEXI_API_URL = https://api.dev.alpiq-energy.cz/NakupniPortal.Api/api/v1/\r\n//REACT_APP_AUTHORITY = https://identityserver.dev.alpiq-energy.cz/IdentityServer4.IdentityServer\r\n//REACT_APP_REDIRECT_URI = https://nakupniportal.dev.alpiq-energy.cz/callback\r\n//REACT_APP_SILENT_REDIRECT_URI = https://nakupniportal.dev.alpiq-energy.cz/silent_renew\r\n\r\n\r\n//NakupniPortalAPI_ReactClient - pro alpiq prod\r\n//https://nakupniportal.alpiq-energy.cz/ UI\r\n//https://flexiapi.alpiq-energy.cz/NakupniPortal.Api/api/v1/ api\r\n//https://identityserver.alpiq-energy.cz/IdentityServer4.IdentityServer identity\r\n\r\n//REACT_APP_FLEXI_API_URL = https://flexiapi.alpiq-energy.cz/nakupniportal.api/api/v1/\r\n//REACT_APP_AUTHORITY = https://identityserver.alpiq-energy.cz/identityserver4.identityserver\r\n//REACT_APP_REDIRECT_URI = https://nakupniportal.alpiq-energy.cz/callback\r\n//REACT_APP_SILENT_REDIRECT_URI = https://nakupniportal.alpiq-energy.cz/silent_renew\r\n\r\n\r\n//mtesar\r\n//https://triton/NakupniPortalApi/api/v1/\r\n//https://triton/OeptAlpiqActualBuild-is4\r\n//https://mtesar/\r\n\r\n//REACT_APP_FLEXI_API_URL = https://triton/NakupniPortalApi/api/v1/\r\n//REACT_APP_AUTHORITY = https://triton/OeptAlpiqActualBuild-is4\r\n//REACT_APP_REDIRECT_URI = https://mtesar/callback\r\n//REACT_APP_SILENT_REDIRECT_URI = https://mtesar/silent_renew","// This optional code is used to register a service worker.\r\n// register() is not called by default.\r\n\r\n// This lets the app load faster on subsequent visits in production, and gives\r\n// it offline capabilities. However, it also means that developers (and users)\r\n// will only see deployed updates on subsequent visits to a page, after all the\r\n// existing tabs open on the page have been closed, since previously cached\r\n// resources are updated in the background.\r\n\r\n// To learn more about the benefits of this model and instructions on how to\r\n// opt-in, read https://bit.ly/CRA-PWA\r\n\r\nconst isLocalhost = Boolean(\r\n window.location.hostname === 'localhost' ||\r\n // [::1] is the IPv6 localhost address.\r\n window.location.hostname === '[::1]' ||\r\n // 127.0.0.0/8 are considered localhost for IPv4.\r\n window.location.hostname.match(\r\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\r\n )\r\n);\r\n\r\ntype Config = {\r\n onSuccess?: (registration: ServiceWorkerRegistration) => void;\r\n onUpdate?: (registration: ServiceWorkerRegistration) => void;\r\n};\r\n\r\nexport function register(config?: Config) {\r\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\r\n // The URL constructor is available in all browsers that support SW.\r\n const publicUrl = new URL(\r\n process.env.PUBLIC_URL,\r\n window.location.href\r\n );\r\n if (publicUrl.origin !== window.location.origin) {\r\n // Our service worker won't work if PUBLIC_URL is on a different origin\r\n // from what our page is served on. This might happen if a CDN is used to\r\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\r\n return;\r\n }\r\n\r\n window.addEventListener('load', () => {\r\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\r\n\r\n if (isLocalhost) {\r\n // This is running on localhost. Let's check if a service worker still exists or not.\r\n checkValidServiceWorker(swUrl, config);\r\n\r\n // Add some additional logging to localhost, pointing developers to the\r\n // service worker/PWA documentation.\r\n navigator.serviceWorker.ready.then(() => {\r\n console.log(\r\n 'This web app is being served cache-first by a service ' +\r\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\r\n );\r\n });\r\n } else {\r\n // Is not localhost. Just register service worker\r\n registerValidSW(swUrl, config);\r\n }\r\n });\r\n }\r\n}\r\n\r\nfunction registerValidSW(swUrl: string, config?: Config) {\r\n navigator.serviceWorker\r\n .register(swUrl)\r\n .then(registration => {\r\n registration.onupdatefound = () => {\r\n const installingWorker = registration.installing;\r\n if (installingWorker == null) {\r\n return;\r\n }\r\n installingWorker.onstatechange = () => {\r\n if (installingWorker.state === 'installed') {\r\n if (navigator.serviceWorker.controller) {\r\n // At this point, the updated precached content has been fetched,\r\n // but the previous service worker will still serve the older\r\n // content until all client tabs are closed.\r\n console.log(\r\n 'New content is available and will be used when all ' +\r\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\r\n );\r\n\r\n // Execute callback\r\n if (config && config.onUpdate) {\r\n config.onUpdate(registration);\r\n }\r\n } else {\r\n // At this point, everything has been precached.\r\n // It's the perfect time to display a\r\n // \"Content is cached for offline use.\" message.\r\n console.log('Content is cached for offline use.');\r\n\r\n // Execute callback\r\n if (config && config.onSuccess) {\r\n config.onSuccess(registration);\r\n }\r\n }\r\n }\r\n };\r\n };\r\n })\r\n .catch(error => {\r\n console.error('Error during service worker registration:', error);\r\n });\r\n}\r\n\r\nfunction checkValidServiceWorker(swUrl: string, config?: Config) {\r\n // Check if the service worker can be found. If it can't reload the page.\r\n fetch(swUrl, {\r\n headers: { 'Service-Worker': 'script' }\r\n })\r\n .then(response => {\r\n // Ensure service worker exists, and that we really are getting a JS file.\r\n const contentType = response.headers.get('content-type');\r\n if (\r\n response.status === 404 ||\r\n (contentType != null && contentType.indexOf('javascript') === -1)\r\n ) {\r\n // No service worker found. Probably a different app. Reload the page.\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister().then(() => {\r\n window.location.reload();\r\n });\r\n });\r\n } else {\r\n // Service worker found. Proceed as normal.\r\n registerValidSW(swUrl, config);\r\n }\r\n })\r\n .catch(() => {\r\n console.log(\r\n 'No internet connection found. App is running in offline mode.'\r\n );\r\n });\r\n}\r\n\r\nexport function unregister() {\r\n if ('serviceWorker' in navigator) {\r\n navigator.serviceWorker.ready\r\n .then(registration => {\r\n registration.unregister();\r\n })\r\n .catch(error => {\r\n console.error(error.message);\r\n });\r\n }\r\n}\r\n","export enum DeviceTypeEnum {\r\n DESKTOP = \"desktop\",\r\n MOBILE = \"mobile\"\r\n}","import React from \"react\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { faPlus, faMinus, faShoppingCart, faSpinner } from \"@fortawesome/free-solid-svg-icons\";\r\n\r\ninterface IProps {}\r\n\r\nconst LoginPage: React.FC = (props) => {\r\n // debugger;\r\n return
\r\n \r\n
;\r\n};\r\n\r\nexport default LoginPage;\r\n","import React from \"react\";\r\nimport UserManager from \"./UserManager\";\r\n\r\ninterface IProps {}\r\n\r\nconst LogoutPage: React.FC = (props) => {\r\n return (\r\n <>\r\n Logging out...\r\n {UserManager.signoutRedirect()}\r\n \r\n );\r\n};\r\n\r\nexport default LogoutPage;\r\n","import React from \"react\";\r\nimport { CallbackComponent } from \"redux-oidc\";\r\nimport UserManager from \"./UserManager\";\r\nimport { useHistory } from \"react-router-dom\";\r\n\r\ninterface IProps {}\r\n\r\nconst CallbackPage: React.FC = () => {\r\n const routerHistory = useHistory();\r\n return (\r\n routerHistory.push(\"/\")}\r\n >\r\n
Redirecting...
\r\n \r\n );\r\n};\r\n\r\nexport default CallbackPage;\r\n","import React from \"react\";\r\nimport { processSilentRenew } from \"redux-oidc\";\r\n\r\ninterface IProps {}\r\n\r\nconst SilentRenewPage: React.FC = (props) => {\r\n return (\r\n <>\r\n {processSilentRenew()}\r\n
SilentRenewComponent
\r\n \r\n );\r\n};\r\n\r\nexport default SilentRenewPage;\r\n","import React from \"react\";\r\nimport { Route } from \"react-router-dom\";\r\n\r\nimport LogoutPage from \"./LogoutPage\";\r\nimport CallbackPage from \"./CallbackPage\";\r\nimport SilentRenewPage from \"./SilentRenewPage\";\r\n\r\ninterface IProps {}\r\n\r\nconst LoginRoutes: React.FC = (props) => {\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default LoginRoutes;\r\n","import React, { ReactElement } from \"react\";\r\n\r\nimport { DeviceTypeEnum } from \"../../../enums/DeviceTypeEnum\";\r\n\r\nimport styles from \"./topbarlogo.module.scss\";\r\n\r\nconst logoImg = require(\"images/clients/\" + process.env.REACT_APP_CLIENT_NAME + '/logo.png');\r\n\r\ninterface IProps { \r\n type: DeviceTypeEnum;\r\n}\r\n \r\nconst TopBarLogo : React.FC = (props) => {\r\n \r\n let logoClass = (type: string) => {\r\n switch (type) {\r\n case DeviceTypeEnum.MOBILE:\r\n return `d-md-none ${styles.topbarLogo}`;\r\n case DeviceTypeEnum.DESKTOP:\r\n return `d-none d-md-flex navbar-brand ${styles.topbarLogo}`;\r\n default:\r\n return \"d-none\";\r\n }\r\n }\r\n\r\n return (\r\n \r\n \"Logo\"\r\n \r\n );\r\n}; \r\n\r\nexport default TopBarLogo;","import React, { ReactElement } from \"react\";\r\nimport Dropdown from \"react-bootstrap/Dropdown\";\r\n\r\nimport TopBarLogo from \"./TopBarLogo\";\r\nimport MessagesMenu from \"./MessagesMenu\";\r\nimport MessageDTO from \"../dto/MessageDTO\";\r\nimport { DeviceTypeEnum } from \"../../../enums/DeviceTypeEnum\";\r\nimport NotificationsMenu from \"./NotificationsMenu\";\r\nimport AlertDTO from \"../../../alerts/dto/AlertDTO\";\r\nimport AlertTypeEnum from \"../../../enums/AlertTypeEnum\";\r\n\r\nimport styles from \"./topbar.module.scss\";\r\nimport UserManager from \"../../../../../infrastructure/oidc/UserManager\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { USER_SIGNED_OUT, UserState } from \"redux-oidc\";\r\nimport IAppState from \"../../../../../infrastructure/store/IAppState\";\r\nimport { useHistory } from \"react-router-dom\";\r\n\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\n\r\ninterface IProps {\r\n onSidebar: (e: any, showBar: boolean) => void;\r\n}\r\n\r\nconst TopBar: React.FC = (props) => {\r\n\r\n const dispatch = useDispatch();\r\n let userState = useSelector((store) => store.oidc);\r\n\r\n // END TEMPORARY\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default TopBar;","import React from \"react\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { IconProp } from \"@fortawesome/fontawesome-svg-core\";\r\n\r\nimport styles from \"./avatar.module.scss\";\r\n\r\n\r\ninterface IProps {\r\n size: number;\r\n icon: IconProp;\r\n iconSize?: number;\r\n disableShadow?: boolean; \r\n}\r\n\r\nconst Avatar: React.FC = (props) => {\r\n\r\n const inlineStyle = {\r\n width: `${props.size}px`,\r\n height: `${props.size}px`,\r\n fontSize: props.iconSize !== undefined ? `${props.iconSize}rem` : '1.25rem'\r\n }\r\n\r\n const getClasses = (disabaleShadow?: boolean) => {\r\n let shadow = disabaleShadow !== undefined ? \" shadow-none\" : \"\";\r\n return `${styles.avatar}${shadow}`;\r\n }\r\n\r\n return (\r\n
\r\n \r\n
\r\n ) \r\n};\r\n\r\nexport default Avatar;\r\n","import React, { ReactElement } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { faSignOutAlt, faKey } from \"@fortawesome/free-solid-svg-icons\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { UserState } from \"redux-oidc\";\r\nimport { Link } from \"react-router-dom\";\r\n// style\r\nimport styles from \"./profiledialog.module.scss\";\r\n// store\r\nimport IAppState from \"infrastructure/store/IAppState\";\r\n// components\r\nimport Avatar from \"features/shared/components/avatar/Avatar\";\r\n\r\ninterface IProps {\r\n show: boolean;\r\n setShow: React.Dispatch>;\r\n}\r\n\r\nconst ProfileDialog: React.FC = (props) => {\r\n // store\r\n const dispatch = useDispatch();\r\n let userState = useSelector((store) => store.oidc);\r\n\r\n // props/vars\r\n const { show, setShow } = props;\r\n const user = userState.user;\r\n\r\n // handlers\r\n const closeDialogHandler = () => {\r\n setShow(false);\r\n };\r\n\r\n // render\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
{user?.profile.name}
\r\n \r\n {user?.profile.email}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n Změna hesla\r\n \r\n \r\n \r\n \r\n \r\n Odhlásit se\r\n \r\n
\r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default ProfileDialog;\r\n","import React, { useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\n\r\n\r\nimport Container from \"react-bootstrap/Container\";\r\nimport Row from \"react-bootstrap/Row\";\r\nimport Col from \"react-bootstrap/Col\";\r\n\r\nimport TopBar from \"./topbar/components/TopBar\";\r\nimport TopBarLogo from \"./topbar/components/TopBarLogo\";\r\nimport ProfileDialog from \"../../sidebar/ProfileDialog\";\r\n\r\nimport NavBar from \"./NavBar\";\r\nimport SideBar from \"./Sidebar\";\r\nimport { DeviceTypeEnum } from \"../enums/DeviceTypeEnum\";\r\n\r\nimport * as Icon from \"react-bootstrap-icons\";\r\nimport SidebarItem from \"../models/SidebarItem\";\r\n\r\nimport Alert from \"../alerts/components/Alert\";\r\nimport AlertDTO from \"../alerts/dto/AlertDTO\";\r\nimport AlertTypeEnum from \"../enums/AlertTypeEnum\";\r\n\r\nimport styles from \"./layout.module.scss\";\r\n\r\ninterface IProps { }\r\n\r\nconst Layout: React.FC = (props) => {\r\n const [profileDialogShow, setProfileDialogShow] = useState(false);\r\n\r\n const toggleModal = (e: any, showBar: boolean) => {\r\n setProfileDialogShow(showBar);\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n {props.children}\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default Layout;\r\n","// basic package\r\nimport { library } from '@fortawesome/fontawesome-svg-core';\r\n\r\n// free solid icons\r\nimport { \r\n faComment,\r\n faEnvelope, \r\n faBars, \r\n faBell, \r\n faUser,\r\n faQuestionCircle, \r\n faCheckCircle, \r\n faExclamationCircle, \r\n faInfoCircle\r\n} from '@fortawesome/free-solid-svg-icons';\r\n\r\n// free regular icons\r\nimport { \r\n faComment as faCommentR \r\n} from \"@fortawesome/free-regular-svg-icons\";\r\n\r\n// add icons to library\r\nlibrary.add(\r\n faComment,\r\n faCommentR,\r\n faEnvelope,\r\n faBars,\r\n faBell,\r\n faUser,\r\n faQuestionCircle, \r\n faCheckCircle, \r\n faExclamationCircle, \r\n faInfoCircle\r\n);","import React, { useEffect, useState } from \"react\";\r\nimport DataQuery from \"../../data/DataQuery\";\r\nimport IRepository from \"../../data/IRepository\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { Modal, Col, Row, Form, Button, Badge } from \"react-bootstrap\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { faInfoCircle } from \"@fortawesome/free-solid-svg-icons\";\r\n\r\ninterface IProps {\r\n periodCode: string;\r\n kindDerivationPrice: string;\r\n onSelectItem: (code: string, baseload: number, peakload: number, exchange: number, date: string, kind: string, addOrRemove?: number) => void;\r\n whatsSelected: boolean[];\r\n whatsShown: boolean;\r\n rerender: boolean;\r\n msgBaseLoad: string;\r\n msgPeakLoad: string;\r\n baseLoad?: null;\r\n datumBaseLoad: string;\r\n datumPeakLoad: string;\r\n datumkurzu: string;\r\n peakLoad?: null;\r\n exchange: number;\r\n datum: string;\r\n komodita: string;\r\n banka: string; \r\n textInfoBaseLoad: string;\r\n zdaPlatnaCenaBaseLoad: boolean;\r\n zdaPlatnaCenaPeakLoad: boolean;\r\n onModalTime: (isOpen: boolean, obdobi: string) => void;\r\n}\r\n\r\nconst Item: React.FC = (props) => {\r\n const { t } = useTranslation([\"modules\\\\dashboard\"]);\r\n const [selected, setSelected] = useState(false);\r\n\r\n\r\n function setSelectedAndSend(set: boolean, code: string, baseload: number, peakload: number, exchange: number, date: string, kind: string) {\r\n setSelected(set);\r\n let adding = (set) ? 1 : 0;\r\n props.onSelectItem(code, baseload, peakload, exchange, date, kind, adding);\r\n }\r\n\r\n useEffect(() => {\r\n\r\n\r\n }, [props.rerender]);\r\n\r\n const toggleModalTime = (e: any) => { \r\n props.onModalTime(true, props.periodCode);\r\n }\r\n\r\n return (\r\n <>\r\n
2) ? \"\" : \" faded\" : \" faded\") + ((props.kindDerivationPrice == \"Settlement\") ? ((props.whatsSelected[1] == true) ? \"\" : \" hidden\") : ((props.whatsSelected[0] == true) ? \"\" : \" hidden\")) + ((props.whatsShown == true) ? ((props.baseLoad && props.baseLoad > 2) ? \"\" : \" hidden\") : \"\")}>\r\n \r\n \r\n

{props.periodCode} {props.kindDerivationPrice}

\r\n \r\n \r\n {!props.zdaPlatnaCenaBaseLoad && props.kindDerivationPrice == \"BestAsk\" && new Date(props.datumBaseLoad).toLocaleDateString() != \"1. 1. 1\" ?\r\n : <>}\r\n\r\n {(props.baseLoad && props.zdaPlatnaCenaBaseLoad) ? (props.baseLoad > 2) ? : <> : <>}\r\n \r\n
\r\n \r\n \r\n \r\n {t(\"baseload\")}\r\n \r\n \r\n

{(props.baseLoad) ? Number(props.baseLoad).toFixed(3).replace('.', ',') + \" [EUR/MWh]\" : \"-\"}

\r\n
\r\n \r\n\r\n {/*(props.komodita == \"EE\") ? \r\n \r\n PeakLoad\r\n \r\n \r\n

{(props.peakLoad) ? Number(props.peakLoad)+\" [EUR/MWh]\" : \"\"}

\r\n
\r\n : <>*/}\r\n\r\n \r\n \r\n {t(\"kurz\")}\r\n \r\n

{props.exchange.toFixed(2).replace('.', ',')} [CZK/EUR]

\r\n
\r\n \r\n \r\n \r\n {t(\"datumceny\")}\r\n

{(new Date(props.datumBaseLoad).toLocaleDateString() == \"1. 1. 1\") ? \"-\" : new Date(props.datumBaseLoad).toLocaleDateString()}{(new Date(props.datumBaseLoad).getHours() != 0) ? \" \"+ new Date(props.datumBaseLoad).getHours() + \":\"\r\n + (new Date(props.datumBaseLoad).getMinutes() < 10 ? '0' : '')\r\n + new Date(props.datumBaseLoad).getMinutes() + \":\"\r\n + (new Date(props.datumBaseLoad).getSeconds() < 10 ? '0' : '')\r\n + new Date(props.datumBaseLoad).getSeconds() : props.kindDerivationPrice == \"Settlement\" && (new Date(props.datumBaseLoad).toLocaleDateString() != \"1. 1. 1\") ? \", \" + t(\"vecer\") : \"\"}\r\n\r\n {(new Date(props.datumBaseLoad).toLocaleDateString() != \"1. 1. 1\" && props.kindDerivationPrice == \"Settlement\" && !props.zdaPlatnaCenaBaseLoad) ? : <>}\r\n\r\n {(new Date(props.datumBaseLoad).toLocaleDateString() != \"1. 1. 1\" && props.kindDerivationPrice == \"BestAsk\") ? : <>}\r\n\r\n

\r\n
\r\n \r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default Item;","import React, { useEffect, useState } from \"react\";\r\nimport DataQuery from \"../../data/DataQuery\";\r\nimport IRepository from \"../../data/IRepository\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { Modal, Col, Row, Form, Button, Badge } from \"react-bootstrap\";\r\nimport { PeriodList } from \"../formula/dto/FormulaListDTO\";\r\nimport { CenaTranse } from \"../formula/dto/FormulaListDTO\";\r\nimport { Percentage } from \"../percentage/dto/PercentageDTO\";\r\nimport { PercentageUnformatted } from \"../percentage/dto/PercentageDTO\";\r\nimport { UnformattedInput } from \"../percentage/dto/UnformattedInputDTO\";\r\nimport { Timer } from \"../percentage/dto/UnformattedInputDTO\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { faArrowAltCircleRight, faChartLine, faInfoCircle } from \"@fortawesome/free-solid-svg-icons\";\r\n\r\ninterface IProps {\r\n detailInfo: PeriodList;\r\n formulaName: string;\r\n formulaDisplayName: string;\r\n obchodniDen: boolean;\r\n onSelectItem: (detailInfo: PeriodList, formulaName: string, formulaDisplayName: string, value?: number) => void;\r\n komodita: string;\r\n kodBanky: string;\r\n}\r\n\r\nconst ItemWithPrices: React.FC = (props) => {\r\n const { t } = useTranslation([\"modules\\\\dashboard\"]);\r\n const [inputValue, setInputValue] = useState();\r\n const [inputValueUnformatted, setInputValueUnformatted] = useState({ value: 0 });\r\n const [percentValue, setPercentValue] = useState({ percents: 0 });\r\n const [percentValueUnformatted, setPercentValueUnformatted] = useState({ percents: 0 });\r\n const [canBuy, setCanBuy] = useState(false);\r\n const [copy, setCopy] = useState(\"\");\r\n const [cenaTranse, setcenaTranse] = useState({ cena: 0 });\r\n\r\n const priceName = props.formulaName.split(\":\")[0];\r\n\r\n function startBuyTranche() {\r\n props.onSelectItem(props.detailInfo, props.formulaName, props.formulaDisplayName, inputValue);\r\n }\r\n\r\n if (props.detailInfo.calculatedPrice < 2) {\r\n setCanBuy(false);\r\n }\r\n\r\n if (!props.obchodniDen) {\r\n setCanBuy(false);\r\n }\r\n\r\n var odkazNaBanku = \"\";\r\n\r\n\r\n if (props.komodita == \"EE\") { //kody pro EE\r\n if (props.kodBanky == \"PXE\") {\r\n if (props.detailInfo.kindDerivationPrice == \"Settlement\") { //EE-PXE-SETT\r\n odkazNaBanku = \"https://www.pxe.cz/Kurzovni-Listek/Oficialni-KL/\";\r\n } else {//EE-PXE-BESTASK\r\n odkazNaBanku = \"https://www.pxe.cz/On-Line/Futures/\";\r\n }\r\n }\r\n } else {//Kody pro ZP\r\n if (props.kodBanky == \"PXE\") {\r\n if (props.detailInfo.kindDerivationPrice == \"Settlement\") { //ZP-PXE-SETT\r\n odkazNaBanku = \"https://www.pxe.cz/Kurzovni-Listek/Oficialni-KL/\";\r\n } else {//ZP-PXE-BESTASK\r\n odkazNaBanku = \"http://pxe.cz/On-Line/Gas/\";\r\n }\r\n } else {\r\n odkazNaBanku = \"https://www.powernext.com/futures-market-data\";\r\n }\r\n }\r\n\r\n function handleChange(e: any) { //nastaven� mno�stv� k n�kupu a kontrola, zda lze kupovat \r\n\r\n let value: number = e.target.value;\r\n let total = (props.detailInfo.amountPlanning / 100);\r\n let newAmmountPercentage = value / total;\r\n\r\n if (value <= 0) {\r\n setInputValue(undefined);\r\n value = 0;\r\n newAmmountPercentage = 0;\r\n } else if (!props.detailInfo.overAmountRemAllowed) {\r\n if (value > props.detailInfo.amountRemaining) {\r\n setInputValue(props.detailInfo.amountRemaining);\r\n value = props.detailInfo.amountRemaining;\r\n newAmmountPercentage = value / total;\r\n } else {\r\n setInputValue(value);\r\n newAmmountPercentage = value / total;\r\n }\r\n } else {\r\n setInputValue(value);\r\n newAmmountPercentage = value / total;\r\n }\r\n\r\n\r\n setPercentValue({ percents: newAmmountPercentage });\r\n setPercentValueUnformatted({ percents: newAmmountPercentage });\r\n\r\n setCopy(\"notOk\");\r\n\r\n var transe = value * props.detailInfo.calculatedPrice;\r\n setcenaTranse({ cena: transe });\r\n\r\n if (value > 0) {\r\n setCanBuy(true);\r\n } else {\r\n setCanBuy(false);\r\n }\r\n\r\n if (props.detailInfo.calculatedPrice < 2) {\r\n setCanBuy(false);\r\n }\r\n }\r\n\r\n function numberWithSpaces(x: number) {\r\n var parts = x.toString().split(\".\");\r\n parts[0] = parts[0].replace(/\\B(?=(\\d{3})+(?!\\d))/g, \" \");\r\n return parts.join(\",\");\r\n }\r\n\r\n function formatInputs() {\r\n var formatedInput = parseFloat(Number(inputValue).toFixed(3));\r\n setInputValue(formatedInput);\r\n\r\n var formatedPercents = parseFloat(Number(percentValue.percents).toFixed(3));\r\n setPercentValue({ percents: formatedPercents });\r\n }\r\n\r\n useEffect(() => {\r\n const timeoutId = setTimeout(() => formatInputs(), 10);\r\n return () => clearTimeout(timeoutId);\r\n }, [inputValue]);\r\n\r\n function handleChangePercentage(e: any) {\r\n let value = e.target.value;\r\n let total = (props.detailInfo.amountPlanning / 100);\r\n\r\n let remainingAmmount = props.detailInfo.amountRemaining;\r\n\r\n if (!props.detailInfo.overAmountRemAllowed) {\r\n if (value > 100) {\r\n value = 100;\r\n }\r\n }\r\n\r\n if ((total * value) > remainingAmmount) {\r\n value = remainingAmmount / total;\r\n }\r\n\r\n let newAmmount = total * value; \r\n\r\n setPercentValue({ percents: value });\r\n setInputValue(newAmmount);\r\n setInputValueUnformatted({ value: newAmmount });\r\n\r\n var transe = newAmmount * props.detailInfo.calculatedPrice;\r\n setcenaTranse({ cena: transe });\r\n\r\n if (newAmmount > 0) {\r\n setCanBuy(true);\r\n } else {\r\n setCanBuy(false);\r\n }\r\n\r\n if (props.detailInfo.calculatedPrice < 2) {\r\n setCanBuy(false);\r\n }\r\n\r\n setCopy(\"notOk\");\r\n }\r\n\r\n\r\n useEffect(() => {\r\n const timeoutId = setTimeout(() => formatInputs(), 10);\r\n return () => clearTimeout(timeoutId);\r\n }, [percentValue.percents]);\r\n\r\n useEffect(() => {\r\n if (copy == \"ok\") {\r\n var numbertocopy = props.detailInfo.amountRemaining;\r\n\r\n setInputValue(numbertocopy);\r\n setInputValueUnformatted({ value: numbertocopy });\r\n\r\n var procenta = numbertocopy / (props.detailInfo.amountPlanning / 100)\r\n\r\n setPercentValue({ percents: procenta });\r\n setPercentValueUnformatted({ percents: procenta });\r\n\r\n var transe = numbertocopy * props.detailInfo.calculatedPrice;\r\n setcenaTranse({ cena: transe });\r\n\r\n if (props.detailInfo.amountRemaining > 0) {\r\n setCanBuy(true);\r\n } else {\r\n setCanBuy(false);\r\n }\r\n\r\n if (props.detailInfo.calculatedPrice < 2) {\r\n setCanBuy(false);\r\n }\r\n }\r\n\r\n if (props.detailInfo.calculatedPrice < 2) {\r\n setCanBuy(false);\r\n }\r\n }, [copy]);\r\n\r\n const alfabetagama = () => {\r\n var isIt = 0;\r\n\r\n if (props.detailInfo.alfa > 0) {\r\n isIt++;\r\n }\r\n\r\n if (props.detailInfo.beta > 0) {\r\n isIt++;\r\n }\r\n\r\n if (props.detailInfo.gama > 0) {\r\n isIt++;\r\n }\r\n\r\n let gridder = 0;\r\n\r\n if (isIt == 1)\r\n gridder = 12;\r\n\r\n if (isIt == 2)\r\n gridder = 6;\r\n\r\n if (isIt == 3)\r\n gridder = 4;\r\n\r\n return gridder;\r\n };\r\n\r\n\r\n return (\r\n \r\n
\r\n \r\n \r\n

{props.detailInfo.periodCode} {props.detailInfo.kindDerivationPrice}

\r\n \r\n {odkazNaBanku ?\r\n \r\n \r\n \r\n \r\n : <>}\r\n
\r\n\r\n {(alfabetagama() != 0) ? \r\n {(props.detailInfo.alfa > 0) ? \r\n \r\n {t(\"alfa\")}\r\n

{props.detailInfo.alfa.toFixed(4).replace('.', ',')}

\r\n
\r\n : <>}\r\n {(props.detailInfo.beta > 0) ? \r\n \r\n {t(\"beta\")}\r\n

{props.detailInfo.beta.toFixed(3).replace('.', ',')}

\r\n
\r\n : <>}\r\n {(props.detailInfo.gama > 0) ? \r\n \r\n {t(\"gama\")}\r\n

{props.detailInfo.gama.toFixed(3).replace('.', ',')}

\r\n
\r\n : <>}\r\n
: <>}\r\n\r\n \r\n \r\n \r\n {t(\"baseload\")}\r\n

{(props.detailInfo.calculatedPrice < 2) ? \"\" : props.detailInfo.priceBaseLoad.toFixed(3).replace('.', ',') + \" [EUR/MWh]\"}

\r\n
\r\n \r\n\r\n {/*(props.komodita == \"EE\") ?\r\n \r\n \r\n PeakLoad\r\n

{(props.detailInfo.calculatedPrice < 2) ? \"\" : props.detailInfo.pricePeakLoad+ \" [EUR/MWh]\"}

\r\n
\r\n : <>*/}\r\n \r\n \r\n {t(\"cenatranse\")}\r\n

{numberWithSpaces(Number(cenaTranse.cena.toFixed(2)))} [{priceName}]

\r\n
\r\n \r\n\r\n \r\n \r\n {t(\"kurz\")}\r\n

{props.detailInfo.exchangeRate.toFixed(2).replace('.', ',')} [CZK/EUR]

\r\n
\r\n \r\n\r\n {/*\r\n \r\n {t(\"povolene\")}\r\n

{props.detailInfo.overAmountRemAllowed ? \"Ano\" : \"Ne\"}

\r\n
\r\n */}\r\n\r\n
\r\n\r\n \r\n \r\n \r\n {t(\"datumceny\")}\r\n

\r\n {(new Date(props.detailInfo.dateLoadedPrice).toLocaleDateString() == \"1. 1. 1\") ? \"-\" : new Date(props.detailInfo.dateLoadedPrice).toLocaleDateString()} {(new Date(props.detailInfo.dateLoadedPrice).getHours() != 0) ? new Date(props.detailInfo.dateLoadedPrice).getHours()\r\n + \":\" + (new Date(props.detailInfo.dateLoadedPrice).getMinutes() < 10 ? '0' : '')\r\n + new Date(props.detailInfo.dateLoadedPrice).getMinutes()\r\n + \":\" + (new Date(props.detailInfo.dateLoadedPrice).getSeconds() < 10 ? '0' : '')\r\n + new Date(props.detailInfo.dateLoadedPrice).getSeconds() : props.detailInfo.kindDerivationPrice == \"Settlement\" && (new Date(props.detailInfo.dateLoadedPrice).toLocaleDateString() != \"1. 1. 1\") ? \", \" + t(\"vecer\") : \"\"}\r\n\r\n {(new Date(props.detailInfo.dateLoadedPrice).toLocaleDateString() != \"1. 1. 1\" && props.detailInfo.kindDerivationPrice == \"BestAsk\") ? : <>}\r\n\r\n

\r\n
\r\n \r\n \r\n \r\n {t(\"calcena\")}\r\n

{props.obchodniDen ? numberWithSpaces(Number(props.detailInfo.calculatedPrice.toFixed(3))) + \" [\" + priceName + \"]\" : \"\"}

\r\n
\r\n \r\n \r\n \r\n {t(\"planzbyva\")}\r\n

{props.detailInfo.amountPlanning.toFixed(3).replace('.', ',')} {t(\"jednotka\")} / {props.detailInfo.amountRemaining.toFixed(3).replace('.', ',')} {t(\"jednotka\")}

\r\n
\r\n \r\n\r\n
\r\n \r\n \r\n setCopy(\"ok\")} icon={faArrowAltCircleRight} className=\"bigButtonArrow\" title={t(\"zbytektitle\")} />\r\n \r\n \r\n \r\n handleChange(e)} value={inputValue} type=\"number\" min={0} max={props.detailInfo.overAmountRemAllowed ? \"\" : props.detailInfo.amountRemaining} placeholder={t(\"mnozstviknakoupeni\")} />\r\n \r\n \r\n [MWh]\r\n \r\n \r\n \r\n handleChangePercentage(e)} value={percentValue.percents} type=\"number\" min={0} max={100} placeholder={\"0\"} />\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\nexport default ItemWithPrices;","import React, { useEffect, useState } from \"react\";\r\nimport DataQuery from \"../../data/DataQuery\";\r\nimport IRepository from \"../../data/IRepository\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { Modal, Col, Row, Form, Button, Badge, Accordion, Card } from \"react-bootstrap\";\r\nimport { BuyTrancheDTO } from \"../buyTranche/dto/BuyTrancheDTO\";\r\nimport { PurchasedDTO } from \"../purchasedTranches/dto/PurchasedDTO\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport ItemWithPrices from \"../itemWithPrices/ItemWithPrices\";\r\nimport { faPlus, faMinus, faShoppingCart, faSpinner, faBug } from \"@fortawesome/free-solid-svg-icons\";\r\nimport Detail from \"../customer/sections/Detail\";\r\n\r\ninterface IProps {\r\n trancheToBuy?: BuyTrancheDTO;\r\n}\r\n\r\nconst Tranche: React.FC = (props) => {\r\n const { t } = useTranslation([\"modules\\\\dashboard\"]);\r\n const [buyResult, setbuyResult] = useState();\r\n\r\n const getDeal = async (): Promise => {\r\n let params = props.trancheToBuy;\r\n const axios = require('axios');\r\n let url = process.env[\"REACT_APP_FLEXI_API_URL\"];\r\n\r\n let data = await axios.post(url + 'BuyTranche', params);\r\n\r\n setbuyResult(data.data);\r\n };\r\n\r\n useEffect(() => {\r\n getDeal();\r\n }, []);\r\n\r\n const renderModalBody = (pResult?: PurchasedDTO) => {\r\n if (!pResult)\r\n return (\r\n
\r\n \r\n

{t(\"loadingBuy\")}

\r\n
\r\n );\r\n\r\n const status = (pResult.data != null) ? ((pResult.data.resultList[0].purchaseEnvStatus == \"OK\") ? true : false) : false;\r\n\r\n if (status) { \r\n return (\r\n \r\n \r\n \r\n

{t(\"uspech\")}

\r\n
\r\n\r\n
\r\n
\r\n {t(\"vzorec\")}:\r\n
\r\n
\r\n {pResult.data.formulaList[0].formulaName}\r\n
\r\n
\r\n
\r\n
\r\n {t(\"shopFromTo\")}:\r\n
\r\n
\r\n {pResult.data.formulaList[0].periodList[0].periodCode} ({pResult.data.formulaList[0].periodList[0].kindDerivationPrice})\r\n
\r\n
\r\n
\r\n
\r\n {t(\"baseload\")}:\r\n
\r\n
\r\n {pResult.data.formulaList[0].periodList[0].priceBaseLoad.toFixed(3).replace('.', ',')} [EUR/MWh]\r\n
\r\n
\r\n {/*
\r\n
\r\n PeakLoad:\r\n
\r\n
\r\n {pResult.data.formulaList[0].periodList[0].pricePeakLoad} [EUR/MWh]\r\n
\r\n
*/}\r\n
\r\n
\r\n {t(\"datumceny\")}:\r\n
\r\n
\r\n {new Date(pResult.data.formulaList[0].periodList[0].dateLoadedPrice).toLocaleDateString()} {new Date(pResult.data.formulaList[0].periodList[0].dateLoadedPrice).getHours() + \":\" + (new Date(pResult.data.formulaList[0].periodList[0].dateLoadedPrice).getMinutes() < 10 ? '0' : '') + new Date(pResult.data.formulaList[0].periodList[0].dateLoadedPrice).getMinutes() + \":\" + (new Date(pResult.data.formulaList[0].periodList[0].dateLoadedPrice).getSeconds() < 10 ? '0' : '') + new Date(pResult.data.formulaList[0].periodList[0].dateLoadedPrice).getSeconds()}\r\n
\r\n
\r\n
\r\n
\r\n {t(\"kurz\")}:\r\n
\r\n
\r\n {pResult.data.formulaList[0].periodList[0].exchangeRate.toFixed(2).replace('.', ',')} [CZK/EUR]\r\n
\r\n
\r\n
\r\n
\r\n {t(\"calcena\")}:\r\n
\r\n
\r\n {pResult.data.formulaList[0].periodList[0].calculatedPrice.toFixed(2).replace('.', ',')} [{pResult.data.formulaList[0].formulaName.split(\":\")[0]}]\r\n
\r\n
\r\n
\r\n
\r\n {t(\"zbyva\")}:\r\n
\r\n
\r\n {pResult.data.formulaList[0].periodList[0].amountRemaining.toFixed(3).replace('.', ',')} {t(\"jednotka\")}\r\n
\r\n
\r\n
\r\n
\r\n {t(\"povolene\")}:\r\n
\r\n
\r\n {pResult.data.formulaList[0].periodList[0].overAmountRemAllowed ? \"Ano\" : \"Ne\"}\r\n
\r\n
\r\n\r\n
\r\n
\r\n {t(\"nakoupeno\")}:\r\n
\r\n
\r\n {pResult.data.formulaList[0].periodList[0].amount.toFixed(3).replace('.', ',')} {t(\"jednotka\")}\r\n
\r\n
\r\n \r\n
\r\n );\r\n \r\n } else {\r\n if (pResult.data != null) {\r\n return (\r\n
\r\n \r\n

{t(\"neuspech\")}

\r\n

{t(\"error\")}\r\n
\r\n \r\n {pResult.data.resultList[0].description}\r\n \r\n
\r\n
\r\n {t(\"errordesc\")}\r\n

\r\n
\r\n );\r\n } else {\r\n return (\r\n
\r\n \r\n

{t(\"neuspech\")}

\r\n

{t(\"error\")}\r\n
\r\n \r\n {pResult.messageError}\r\n \r\n
\r\n
\r\n {t(\"errordesc\")}\r\n

\r\n
\r\n );\r\n } \r\n }\r\n };\r\n\r\n return (\r\n <>\r\n {renderModalBody(buyResult)}\r\n \r\n );\r\n};\r\n\r\nexport default Tranche;","import React, { useEffect, useState } from \"react\";\r\nimport DataQuery from \"../../data/DataQuery\";\r\nimport IRepository from \"../../data/IRepository\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { Modal, Col, Row, Form, Button, Badge, Accordion, Card } from \"react-bootstrap\";\r\nimport { FormulaListDTO } from \"../formula/dto/FormulaListDTO\";\r\nimport { PeriodList } from \"../formula/dto/FormulaListDTO\";\r\nimport { PeriodToBuyDTO } from \"../modal/dto/PeriodToBuyDTO\";\r\nimport { BuyTrancheDTO } from \"../buyTranche/dto/BuyTrancheDTO\";\r\nimport { Formula } from \"../buyTranche/dto/BuyTrancheDTO\";\r\nimport { Period } from \"../buyTranche/dto/BuyTrancheDTO\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport ItemWithPrices from \"../itemWithPrices/ItemWithPrices\";\r\nimport { KodBankyDTO } from \"../modal/dto/PeriodDTO\";\r\nimport Tranche from \"../buyTranche/Tranche\";\r\nimport { faPlus, faMinus, faShoppingCart, faSpinner, faChevronDown, faBug } from \"@fortawesome/free-solid-svg-icons\";\r\nimport Detail from \"../customer/sections/Detail\";\r\n\r\ninterface IProps {\r\n periodToBuy?: PeriodToBuyDTO;\r\n isRequested: number;\r\n mail: string;\r\n envelope: string;\r\n komodita: string;\r\n kodBanky: string;\r\n}\r\n\r\nconst Formul: React.FC = (props) => {\r\n const { t } = useTranslation([\"modules\\\\dashboard\"]);\r\n const [formule, setFormule] = useState();\r\n const [tranche, setTranche] = useState();\r\n const [isBuy, setIsBuy] = useState(false);\r\n\r\n const getPrices = async (): Promise => {\r\n let params = props.periodToBuy;\r\n const axios = require('axios');\r\n let url = process.env[\"REACT_APP_FLEXI_API_URL\"];\r\n let data = await axios.post(url + 'GetPrice', params);\r\n\r\n setFormule(data.data);\r\n };\r\n\r\n const onSelectItemHandle = (detailInfo: PeriodList, formulaName: string, formulaDisplayName:string, value?: number) => {\r\n var peakload = (props.komodita == \"EE\") ? detailInfo.pricePeakLoad : 0;\r\n\r\n let period = new Array({\r\n periodCode: detailInfo.periodCode,\r\n priceBaseLoad: detailInfo.priceBaseLoad,\r\n pricePeakLoad: peakload,\r\n overAmountRemAllowed: detailInfo.overAmountRemAllowed,\r\n exchangeRate: detailInfo.exchangeRate,\r\n dateLoadedPrice: detailInfo.dateLoadedPrice,\r\n kindDerivationPrice: detailInfo.kindDerivationPrice,\r\n calculatedPrice: detailInfo.calculatedPrice,\r\n amount: (value) ? +value : 0,\r\n purchaseManner: \"Hodnota\"\r\n });\r\n\r\n let formula = new Array({ formulaName: formulaName, formulaDisplayName: formulaDisplayName, periodList: period });\r\n let trancheToBuy: BuyTrancheDTO = { email: props.mail, purchaseEnvelopeId: props.envelope, formulaList: formula };\r\n\r\n setTranche(trancheToBuy);\r\n setIsBuy(true);\r\n };\r\n\r\n useEffect(() => {\r\n getPrices();\r\n }, [props.isRequested]);\r\n\r\n const renderModalBody = (pFormules?: FormulaListDTO) => {\r\n if (!pFormules)\r\n return (\r\n
\r\n \r\n

{t(\"loadingFormuls\")}

\r\n
\r\n );\r\n\r\n\r\n if (pFormules.messageError) {\r\n return (\r\n
\r\n \r\n

{t(\"error\")}\r\n
\r\n \r\n {pFormules.messageError}\r\n \r\n

\r\n
\r\n );\r\n }\r\n\r\n return pFormules.formulaList.map((perioda, i) => {\r\n let YearsSet = new Array();\r\n let QuartSet = new Array();\r\n let MonthsSet = new Array();\r\n let YearsBest = new Array();\r\n let QuartBest = new Array();\r\n let MonthsBest = new Array();\r\n\r\n\r\n perioda.periodList.map((bloky: PeriodList) => {\r\n if (bloky.periodCode.includes(\"R\") && bloky.kindDerivationPrice == \"Settlement\") {\r\n YearsSet.push(bloky);\r\n }\r\n if (bloky.periodCode.includes(\"Q\") && bloky.kindDerivationPrice == \"Settlement\") {\r\n QuartSet.push(bloky);\r\n }\r\n if (bloky.periodCode.includes(\"M\") && bloky.kindDerivationPrice == \"Settlement\") {\r\n MonthsSet.push(bloky);\r\n }\r\n\r\n if (bloky.periodCode.includes(\"R\") && bloky.kindDerivationPrice != \"Settlement\") {\r\n YearsBest.push(bloky);\r\n }\r\n if (bloky.periodCode.includes(\"Q\") && bloky.kindDerivationPrice != \"Settlement\") {\r\n QuartBest.push(bloky);\r\n }\r\n if (bloky.periodCode.includes(\"M\") && bloky.kindDerivationPrice != \"Settlement\") {\r\n MonthsBest.push(bloky);\r\n }\r\n });\r\n\r\n let OrderedOffersSetLeft = [...YearsSet, ...QuartSet];\r\n let OrderedOffersSetRight = [...MonthsSet];\r\n\r\n let OrderedOffersBestLeft = [...YearsBest, ...QuartBest];\r\n let OrderedOffersBestRight = [...MonthsBest];\r\n\r\n const PlanListSetLeft = OrderedOffersSetLeft.map((nakupy, y) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n });\r\n const PlanListSetRight = OrderedOffersSetRight.map((nakupy, y) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n });\r\n\r\n const PlanListBestLeft = OrderedOffersBestLeft.map((nakupy, y) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n });\r\n const PlanListBestRight = OrderedOffersBestRight.map((nakupy, y) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n });\r\n\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n {perioda.formulaDisplayName}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {PlanListSetLeft}\r\n \r\n \r\n {PlanListSetRight}\r\n \r\n \r\n \r\n \r\n {PlanListBestLeft}\r\n \r\n \r\n {PlanListBestRight}\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 return (\r\n \r\n {(!isBuy) ? renderModalBody(formule) : }\r\n \r\n );\r\n};\r\n\r\nexport default Formul;","import React, { useEffect, useState } from \"react\";\r\nimport IRepository from \"../../data/IRepository\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { Modal, Col, Row, Form, Button, Badge } from \"react-bootstrap\";\r\nimport Datetime from 'react-datetime';\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { faPlus, faMinus, faShoppingCart, faSpinner, faBug, faChevronLeft, faChevronRight, faInfoCircle } from \"@fortawesome/free-solid-svg-icons\";\r\nimport { OpenModalTime } from \"../envelope/dto/EnvelopeDTO\";\r\nimport { ModalTimeDTO } from \"../modal/dto/ModalTimeDTO\";\r\nimport { IsSet } from \"../modal/dto/ModalTimeDTO\";\r\nimport moment, { Moment } from \"moment\";\r\nimport \"moment/locale/cs\";\r\n\r\ninterface IProps {\r\n isOpen: boolean;\r\n onHide: (e: any) => void;\r\n useremail: string | undefined;\r\n username: string | undefined;\r\n userphone: string | undefined;\r\n clientname: string;\r\n envelope: string;\r\n kodbanky: string | undefined;\r\n obdobi: string | undefined;\r\n}\r\n\r\nconst ModalTime: React.FC = (props) => {\r\n const { t } = useTranslation([\"modules\\\\dashboard\"]);\r\n const [date, setDate] = useState(new Date());\r\n const [response, setResponse] = useState({ datumDotazu: new Date(), datumOdpovedi: new Date(), uzivatel: \"\", smsEmailResponseText: \"\" });\r\n const [choser, setChoser] = useState([true, false]);\r\n const [set, setSet] = useState({ set: false });\r\n\r\n const sendRequestPrice = async (): Promise => {\r\n let params = new URLSearchParams();\r\n var AskDateTime = \"\";\r\n\r\n setSet({ set: true });\r\n\r\n if (choser[1] == true) {\r\n AskDateTime = date.toISOString();\r\n }\r\n\r\n params.set(\"AskDateTime\", AskDateTime);\r\n params.set(\"UserEmail\", props.useremail ?? \"\");\r\n params.set(\"UserName\", props.username ?? \"\");\r\n params.set(\"UserPhone\", props.userphone ?? \"\");\r\n params.set(\"ClientName\", props.clientname);\r\n params.set(\"PurchaseEnvelopeId\", props.envelope);\r\n params.set(\"Period\", props.obdobi ?? \"\");\r\n params.set(\"ExchangeName\", props.kodbanky ?? \"\");\r\n\r\n const axios = require('axios');\r\n let url = process.env[\"REACT_APP_FLEXI_API_URL\"];\r\n\r\n let data = await axios.get(url + 'AskForPrice', { params: params });\r\n setResponse(data.data);\r\n \r\n }\r\n\r\n const curentDate = () => {\r\n var dt = new Date();\r\n dt.setMinutes(new Date().getMinutes() + 5);\r\n setDate(dt);\r\n }\r\n\r\n function handleDateChange(e: any) {\r\n if (moment(e).isValid()) {\r\n var d = moment(e).toDate();\r\n setDate(d);\r\n\r\n } else {\r\n //spatny format datumu\r\n }\r\n }\r\n\r\n const resetAndHide = (e: any) => {\r\n setResponse({ datumDotazu: new Date(), datumOdpovedi: new Date(), uzivatel: \"\", smsEmailResponseText: \"\" });\r\n setSet({ set: false });\r\n props.onHide(e);\r\n }\r\n\r\n useEffect(() => {\r\n curentDate();\r\n }, []);\r\n\r\n const renderNormalBody = () => {\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 handleDateChange(e)} /> \r\n \r\n \r\n \r\n \r\n )\r\n }\r\n\r\n const renderResponseBody = (modaltime?: ModalTimeDTO) => {\r\n var responseText = modaltime?.smsEmailResponseText;\r\n\r\n if (modaltime?.resultEmail && modaltime?.resultEmail.error) {\r\n responseText = modaltime?.resultEmail.message;\r\n }\r\n\r\n if (modaltime?.resultSMS && modaltime?.resultSMS.error) {\r\n responseText = modaltime?.resultSMS.message;\r\n }\r\n\r\n if (modaltime?.resultSMS && modaltime?.resultSMS.error && modaltime?.resultEmail && modaltime?.resultEmail.error) {\r\n responseText = modaltime?.resultEmail.message + \", \" + modaltime?.resultSMS.message;\r\n }\r\n\r\n return (\r\n \r\n \r\n

\r\n {!responseText ?

: responseText}\r\n

\r\n \r\n
\r\n )\r\n }\r\n\r\n return (\r\n <>\r\n resetAndHide(e)} aria-labelledby=\"modaltime\" centered>\r\n \r\n \r\n {t(\"modaltime\")}\r\n \r\n \r\n \r\n \r\n {!set.set ? renderNormalBody() : renderResponseBody(response)}\r\n \r\n \r\n {!set.set ? \r\n \r\n : <>}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default ModalTime;","import React, { useEffect, useState } from \"react\";\r\nimport IRepository from \"../../data/IRepository\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { Modal, Col, Row, Form, Button, Badge } from \"react-bootstrap\";\r\nimport Item from \"../item/Item\";\r\nimport Formul from \"../formula/Formul\";\r\nimport ModalTime from \"../modal/ModalTime\";\r\nimport { PeriodDTO } from \"../modal/dto/PeriodDTO\";\r\nimport { KodBankyDTO } from \"../modal/dto/PeriodDTO\";\r\nimport { PeriodToBuyDTO } from \"../modal/dto/PeriodToBuyDTO\";\r\nimport { Period } from \"../modal/dto/PeriodToBuyDTO\";\r\nimport { CenaEntity } from \"../modal/dto/PeriodDTO\";\r\nimport { ShowOnlyPrices } from \"../modal/dto/PeriodDTO\";\r\nimport { UserState } from \"redux-oidc\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport IAppState from \"infrastructure/store/IAppState\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { faPlus, faMinus, faShoppingCart, faSpinner, faBug, faSync } from \"@fortawesome/free-solid-svg-icons\";\r\nimport { OpenModalTime } from \"../envelope/dto/EnvelopeDTO\";\r\n\r\ninterface IProps {\r\n isOpen: boolean;\r\n mail: string;\r\n envelope: string;\r\n rok: number;\r\n komodita: string;\r\n clientname: string;\r\n onHide: (e: any, mail: string, envelope: string, rok: number, komodita: string, clientname: string, obchodujeme: boolean, zbyva: number) => void;\r\n}\r\n\r\nconst ModalBuy: React.FC = (props) => {\r\n const { t } = useTranslation([\"modules\\\\dashboard\"]);\r\n const [show, setShow] = useState(false);\r\n const [prices, setPrices] = useState(0);\r\n const [selectAll, setSelectAll] = useState([true, true]);\r\n const [showOnlyPrices, setShowOnlyPrices] = useState({ show: false });\r\n const [period, setPeriod] = useState();\r\n const [kodBanky, setKodBanky] = useState();\r\n\r\n const [isOpenModalTime, setIsOpenModalTime] = useState({ isOpen: false, obdobi: undefined });\r\n\r\n const [periodToBuy, setPeriodToBuy] = useState();\r\n let userState = useSelector((store) => store.oidc);\r\n const user = userState.user;\r\n const [fresh, setFresh] = useState(0);\r\n\r\n function refresh() {\r\n let num = fresh + 1;\r\n setFresh(num);\r\n }\r\n\r\n const handleOnChangeSelect = (periodCode: string, baseload: number, peakload: number, exchange: number, date: string, kind: string, addOrRemove?: number) => {\r\n let helpArray: Period = { periodCode: periodCode, priceBaseLoad: baseload, pricePeakLoad: peakload, exchangeRate: exchange, dateLoadedPrice: date, kindDerivationPrice: kind };\r\n\r\n var oldArray = periodToBuy?.periodList;\r\n\r\n if (oldArray) {\r\n let hasMagenicVendor = oldArray.some(oldArray => oldArray['periodCode'] === periodCode && oldArray['kindDerivationPrice'] === kind);\r\n\r\n if (!hasMagenicVendor) { //p�id� do pole\r\n if (addOrRemove == 1) {\r\n oldArray.push(helpArray);\r\n setPeriodToBuy({ email: props.mail, purchaseEnvelopeId: props.envelope, periodList: oldArray });\r\n }\r\n } else {\r\n if (addOrRemove == 0) {\r\n for (var i = 0; i < oldArray.length; i++) {\r\n if (oldArray[i].periodCode === periodCode && oldArray[i].kindDerivationPrice === kind) {\r\n oldArray.splice(i, 1);\r\n break;\r\n } // odebere z pole\r\n }\r\n\r\n setPeriodToBuy({ email: props.mail, purchaseEnvelopeId: props.envelope, periodList: oldArray });\r\n }//aktualizace state s vybran�mi bal��ky k nacen�n�\r\n }\r\n\r\n }\r\n }\r\n\r\n const handleTimeModal = (isOpen: boolean, obdobi: string) => {\r\n setIsOpenModalTime({ isOpen: true, obdobi: obdobi }); \r\n }\r\n\r\n const toggleModalTime = (e: any) => {\r\n setIsOpenModalTime({ isOpen: false, obdobi: undefined }); \r\n }\r\n\r\n const getPeriod = async (): Promise => {\r\n let params = new URLSearchParams();\r\n\r\n //parametry u�ivatele\r\n params.set(\"email\", props.mail);\r\n params.set(\"purchaseEnvelopeId\", props.envelope);\r\n params.set(\"rok\", props.rok.toString());\r\n params.set(\"mena\", \"CZK/EUR\");\r\n\r\n const axios = require('axios');\r\n let url = process.env[\"REACT_APP_FLEXI_API_URL\"];\r\n\r\n let data = await axios.get(url + 'GetPeriodWithPrice', { params: params });\r\n\r\n setPeriod(data.data);\r\n\r\n if (data.data.cena.length > 0) {\r\n setKodBanky({\r\n kodBanky: (data.data.cena[0].nazevBurzy == \"EEX\") ? (props.komodita == \"EE\") ? \"EEX\" : \"NCG\" : data.data.cena[0].nazevBurzy\r\n });\r\n }\r\n\r\n };\r\n\r\n useEffect(() => {\r\n setPeriod(undefined);\r\n //setSelectAll([true, true]);\r\n setPrices(0);\r\n setKodBanky({\r\n kodBanky: \"\"\r\n });\r\n\r\n if (props.mail) {\r\n setPeriodToBuy({ email: props.mail, purchaseEnvelopeId: props.envelope, periodList: [] });\r\n getPeriod();\r\n }\r\n }, [props.isOpen, fresh]);\r\n\r\n\r\n const renderModalBodySetLeft = (periods?: PeriodDTO) => {\r\n if (!periods)\r\n return;\r\n\r\n let YearsSet = new Array();\r\n let QuartSet = new Array();\r\n\r\n if (periods.messageError)\r\n return;\r\n\r\n\r\n periods.cena.map((perioda, index) => {\r\n if (perioda.obdobi.includes(\"R\") && perioda.zpusobStanoveniCeny == \"Settlement\") {\r\n YearsSet.push(perioda);\r\n }\r\n\r\n if (perioda.obdobi.includes(\"Q\") && perioda.zpusobStanoveniCeny == \"Settlement\") {\r\n QuartSet.push(perioda);\r\n }\r\n });\r\n\r\n let OrderedOffers = [...YearsSet, ...QuartSet];\r\n var selected = selectAll;\r\n\r\n return OrderedOffers.map((perioda, index) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n });\r\n };\r\n\r\n const renderModalBodySetRight = (periods?: PeriodDTO) => {\r\n if (!periods)\r\n return;\r\n\r\n let MonthsSet = new Array();\r\n\r\n if (periods.messageError)\r\n return;\r\n\r\n periods.cena.map((perioda, index) => {\r\n if (perioda.obdobi.includes(\"M\") && perioda.zpusobStanoveniCeny == \"Settlement\") {\r\n MonthsSet.push(perioda);\r\n }\r\n });\r\n\r\n let OrderedOffers = [...MonthsSet];\r\n var selected = selectAll;\r\n\r\n return OrderedOffers.map((perioda, index) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n });\r\n };\r\n\r\n const renderModalBodyBestLeft = (periods?: PeriodDTO) => {\r\n if (!periods)\r\n return;\r\n\r\n if (periods.messageError)\r\n return;\r\n\r\n let YearsSet = new Array();\r\n let QuartSet = new Array();\r\n\r\n periods.cena.map((perioda, index) => {\r\n if (perioda.obdobi.includes(\"R\") && perioda.zpusobStanoveniCeny != \"Settlement\") {\r\n YearsSet.push(perioda);\r\n }\r\n\r\n if (perioda.obdobi.includes(\"Q\") && perioda.zpusobStanoveniCeny != \"Settlement\") {\r\n QuartSet.push(perioda);\r\n }\r\n });\r\n\r\n let OrderedOffers = [...YearsSet, ...QuartSet];\r\n var selected = selectAll;\r\n\r\n return OrderedOffers.map((perioda, index) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n });\r\n };\r\n\r\n const renderModalBodyBestRight = (periods?: PeriodDTO) => {\r\n if (!periods)\r\n return;\r\n\r\n let MonthsSet = new Array();\r\n\r\n if (periods.messageError)\r\n return;\r\n\r\n periods.cena.map((perioda, index) => {\r\n if (perioda.obdobi.includes(\"M\") && perioda.zpusobStanoveniCeny != \"Settlement\") {\r\n MonthsSet.push(perioda);\r\n }\r\n });\r\n\r\n let OrderedOffers = [...MonthsSet];\r\n var selected = selectAll;\r\n\r\n return OrderedOffers.map((perioda, index) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n });\r\n };\r\n\r\n function selectThisAll(what: string) {\r\n var selected = selectAll;\r\n\r\n if (what == \"bestask\") {\r\n selected[0] = !selected[0];\r\n } else {\r\n selected[1] = !selected[1];\r\n }\r\n\r\n setSelectAll(selected);\r\n setShow(!show);\r\n }\r\n\r\n const renderChecksSelectors = () => {\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 const renderBody = (periods?: PeriodDTO) => {\r\n if (!periods)\r\n return (\r\n
\r\n \r\n

{t(\"loadingPeriods\")}

\r\n
\r\n );\r\n\r\n if (periods.messageError) {\r\n return (\r\n
\r\n \r\n

{t(\"error\")}\r\n
\r\n \r\n {periods.messageError}\r\n \r\n

\r\n
\r\n );\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n {renderModalBodySetLeft(period)}\r\n \r\n \r\n {renderModalBodySetRight(period)}\r\n \r\n \r\n \r\n \r\n {renderModalBodyBestLeft(period)}\r\n \r\n \r\n {renderModalBodyBestRight(period)}\r\n \r\n \r\n \r\n )\r\n }\r\n\r\n\r\n\r\n return (\r\n <>\r\n props.onHide(e, \"\", \"\", 0, \"\", \"\", true, 1)} dialogClassName=\"modal-90w\" aria-labelledby=\"modalbuy\">\r\n \r\n \r\n {t(\"nakuppro\")} {props.envelope} - {props.clientname} ({props.rok})\r\n \r\n\r\n {(kodBanky?.kodBanky) ?
\r\n {kodBanky?.kodBanky}\r\n
: <>}\r\n
\r\n \r\n
\r\n \r\n \r\n {(prices == 0) ? renderChecksSelectors() : <>}\r\n \r\n \r\n {(prices == 0) ? renderBody(period) : }\r\n \r\n \r\n
\r\n
\r\n {(prices == 0) ? \r\n \r\n {t(\"obnovit\")}\r\n \r\n \r\n : <>}\r\n
\r\n\r\n\r\n \r\n \r\n );\r\n};\r\n\r\nexport default ModalBuy;","import React, { useEffect, useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport IRepository from \"../../../data/IRepository\";\r\nimport Table from \"react-bootstrap/Table\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { MainActionTypes } from \"../../../infrastructure/store/main/mainActionTypes\";\r\nimport IAppState from \"../../../infrastructure/store/IAppState\";\r\nimport { UserState } from \"redux-oidc\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { faPlus, faMinus, faShoppingCart, faSpinner, faBolt, faBurn } from \"@fortawesome/free-solid-svg-icons\";\r\nimport ModalBuy from \"../../modal/ModalBuy\";\r\nimport { EnvelopeDTO } from \"../dto/EnvelopeDTO\";\r\nimport { OpenModal } from \"../dto/EnvelopeDTO\";\r\nimport { Years } from \"../dto/EnvelopeDTO\";\r\nimport { Row, Form, Button } from \"react-bootstrap\";\r\n\r\nimport \"react-datetime/css/react-datetime.css\";\r\n\r\ninterface IProps {\r\n refresh: number;\r\n}\r\n\r\nconst EnvelopeTable: React.FC = (props) => {\r\n const [envelopes, setEnvelopes] = useState();\r\n const { t } = useTranslation([\"modules\\\\dashboard\"]);\r\n const [envOpen, setEnvOpen] = useState();\r\n const [years, setYears] = useState({od : \"2021\" , do : \"2023\"});\r\n const [render, setRender] = useState(false);\r\n const [rerender, setRerender] = useState(0); \r\n const [nextLevel, setNextLevel] = useState();\r\n const [rowspan, setRowspan] = useState();\r\n const [isOpenModal, setIsOpenModal] = useState({ isOpen: false, envelope: \"\", mail: \"\", rok: 0, komodita: \"\", clientname: \"\" });\r\n let userState = useSelector((store) => store.oidc);\r\n\r\n const getEnvelopes = async (): Promise => {\r\n let params = new URLSearchParams();\r\n let email = userState.user?.profile.email;\r\n let year = new Date().getFullYear();\r\n\r\n //parametry u�ivatele\r\n params.set(\"email\", email ? email : \"\");\r\n params.set(\"periodYearFrom\", years.od);\r\n params.set(\"periodYearTo\", years.do);\r\n\r\n const axios = require('axios');\r\n let url = process.env[\"REACT_APP_FLEXI_API_URL\"];\r\n\r\n let data = await axios.get(url + 'GetPlanPurchaseWithInfo', { params: params });\r\n\r\n setEnvelopes(data.data);\r\n };\r\n\r\n\r\n useEffect(() => {\r\n setEnvelopes(undefined);\r\n getEnvelopes();\r\n }, [props.refresh]); \r\n\r\n useEffect(() => {\r\n setEnvelopes(undefined);\r\n getEnvelopes();\r\n }, [rerender]); \r\n\r\n useEffect(() => {\r\n if (envelopes) {\r\n let arr: string[] = [];\r\n let arr2: boolean[] = [];\r\n let arr3: number[] = [];\r\n\r\n envelopes.purchaseCustomerList.map((obalky, index) => {\r\n obalky.purchaseEnvelopeList.map((j, i) => {\r\n arr.push(\"hidden\");\r\n arr2.push(false);\r\n arr3.push(1);\r\n });\r\n });\r\n\r\n setEnvOpen(arr);\r\n setNextLevel(arr2);\r\n setRowspan(arr3);\r\n }\r\n }, [envelopes]);\r\n\r\n\r\n const toggleModal = (e: any, mail: string, envelope: string, rok: number, komodita: string, clientname: string, obchodujeme: boolean, zbyva: number) => {\r\n if (obchodujeme && zbyva != 0) {\r\n setIsOpenModal({ isOpen: !isOpenModal.isOpen, mail: mail, envelope: envelope, rok: rok, komodita: komodita, clientname: clientname });\r\n\r\n if (!isOpenModal.isOpen == false) { // refresh test\r\n getEnvelopes();\r\n }\r\n } \r\n }\r\n\r\n function yearsControl(from: string, to: string) {\r\n var intFrom = parseInt(from) || 0;\r\n var intTo = parseInt(to) || 0;\r\n\r\n if (intTo < intFrom) {\r\n to = \"\" + (intFrom + 1);\r\n intTo = intFrom + 1;\r\n }\r\n\r\n if (intFrom < 2000) {\r\n from = \"2000\";\r\n intFrom = 2000;\r\n } \r\n\r\n if (intFrom > 2099) {\r\n from = \"2099\";\r\n } \r\n\r\n if (intTo > 2099) {\r\n to = \"2099\";\r\n } \r\n\r\n setYears({ od: from, do: to })\r\n }\r\n\r\n const renderTableBody = (pEnvelopes?: EnvelopeDTO) => {\r\n if (!pEnvelopes)\r\n return (\r\n \r\n \r\n \r\n

{t(\"loadingEnvelopes\")}

\r\n \r\n \r\n );\r\n\r\n if (!envOpen)\r\n return\r\n\r\n if (!nextLevel)\r\n return;\r\n\r\n if (!rowspan)\r\n return;\r\n\r\n let pointer = 0;\r\n\r\n\r\n pEnvelopes.purchaseCustomerList.sort(function (a, b) {\r\n var nameA = a.name.toUpperCase();\r\n var nameB = b.name.toUpperCase();\r\n\r\n if (nameA < nameB) {\r\n return -1;\r\n }\r\n if (nameA > nameB) {\r\n return 1;\r\n }\r\n\r\n return 0;\r\n });\r\n\r\n return pEnvelopes.purchaseCustomerList.map((obalky, indx) => {\r\n\r\n obalky.purchaseEnvelopeList.sort(function (a, b) {\r\n var nameA = a.purchaseEnvelopeId.toUpperCase();\r\n var nameB = b.purchaseEnvelopeId.toUpperCase();\r\n\r\n if (nameA < nameB) {\r\n return 1;\r\n }\r\n if (nameA > nameB) {\r\n return -1;\r\n }\r\n\r\n return 0;\r\n });\r\n\r\n return obalky.purchaseEnvelopeList.map((jednotliveObalky, inex) => {\r\n let PlanCount = 0;\r\n let RemainCount = 0;\r\n let lvl1Open = envOpen;\r\n let rs = rowspan;\r\n let trCount = 0;\r\n let index = pointer;\r\n pointer++;\r\n let nextLevelOpen = nextLevel;\r\n let BoughtTotalCount = 0;\r\n let BoughtTotalM: Array = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];\r\n let isOpenEnvelopeTranches = nextLevelOpen[index] ? \"\" : \"hidden\";\r\n\r\n\r\n function setOpen(x: number) {\r\n if (lvl1Open[x] == \"\") {\r\n nextLevelOpen[x] = false;\r\n lvl1Open[x] = \"hidden\";\r\n rs[x] = 1;\r\n } else {\r\n lvl1Open[x] = \"\";\r\n rs[x] = 4;\r\n }\r\n\r\n setNextLevel(nextLevelOpen);\r\n setNextLevel(nextLevelOpen);\r\n setEnvOpen(lvl1Open);\r\n setRowspan(rs);\r\n setRender(!render);\r\n }\r\n\r\n function setOpenLvl2(x: number) {\r\n if (nextLevelOpen[x] == false) {\r\n nextLevelOpen[x] = true;\r\n\r\n rs[x] = 5 + trCount;\r\n } else {\r\n nextLevelOpen[x] = false;\r\n rs[x] = 4;\r\n }\r\n\r\n setNextLevel(nextLevelOpen);\r\n setRender(!render);\r\n }\r\n\r\n const PlanList = jednotliveObalky.planList.map((plan, y) => {\r\n PlanCount += plan.amount;\r\n let colspan = plan.month > 6 ? 2 : 1;\r\n return ({plan.amount.toFixed(3).replace('.', ',')})\r\n });\r\n\r\n const TrancheBoughtList = jednotliveObalky.trancheBoughtList.map((tBoughtList, p) => {\r\n BoughtTotalCount += tBoughtList.amount;\r\n trCount++;\r\n return (\r\n \r\n {tBoughtList.trancheId}\r\n {new Date(tBoughtList.purchasingDate).toLocaleDateString()}\r\n {tBoughtList.price.toFixed(2).replace('.', ',')} {tBoughtList.currency}\r\n {tBoughtList.amount}\r\n\r\n {tBoughtList.boughtList.map((tBoughtListList, x) => {\r\n BoughtTotalM[tBoughtListList.month - 1] += tBoughtListList.amount;\r\n return ({tBoughtListList.amount.toFixed(3).replace('.', ',')})\r\n })}\r\n \r\n )\r\n });\r\n\r\n const BoughtTotalList = (\r\n \r\n {BoughtTotalM[0].toFixed(3).replace('.', ',')}\r\n {BoughtTotalM[1].toFixed(3).replace('.', ',')}\r\n {BoughtTotalM[2].toFixed(3).replace('.', ',')}\r\n {BoughtTotalM[3].toFixed(3).replace('.', ',')}\r\n {BoughtTotalM[4].toFixed(3).replace('.', ',')}\r\n {BoughtTotalM[5].toFixed(3).replace('.', ',')}\r\n {BoughtTotalM[6].toFixed(3).replace('.', ',')}\r\n {BoughtTotalM[7].toFixed(3).replace('.', ',')}\r\n {BoughtTotalM[8].toFixed(3).replace('.', ',')}\r\n {BoughtTotalM[9].toFixed(3).replace('.', ',')}\r\n {BoughtTotalM[10].toFixed(3).replace('.', ',')}\r\n {BoughtTotalM[11].toFixed(3).replace('.', ',')}\r\n \r\n );\r\n\r\n const RemainList = jednotliveObalky.purchaseRemainList.map((remain, indexx) => {\r\n RemainCount += remain.amount;\r\n let colspan = remain.month > 6 ? 2 : 1;\r\n return ({remain.amount.toFixed(3).replace('.', ',')})\r\n });\r\n\r\n return (\r\n \r\n \r\n \r\n {(jednotliveObalky.isOpen) ? : }\r\n\r\n {(jednotliveObalky.komodita == \"EE\") ? : } {obalky.compRegNumber}\r\n \r\n \r\n setOpen(index)}> {obalky.name} \r\n {jednotliveObalky.purchaseEnvYear}\r\n {jednotliveObalky.purchaseEnvelopeId}\r\n {new Date(jednotliveObalky.dateFrom).toLocaleDateString()} - {new Date(jednotliveObalky.dateTo).toLocaleDateString()}\r\n \r\n \r\n \r\n MWh\r\n R\r\n M01\r\n M02\r\n M03\r\n M04\r\n M05\r\n M06\r\n M07\r\n M08\r\n M09\r\n M10\r\n M11\r\n M12\r\n \r\n\r\n \r\n {t(\"plan\")}\r\n {PlanCount.toFixed(3).replace('.', ',')}\r\n {PlanList}\r\n \r\n\r\n \r\n setOpenLvl2(index)}> {t(\"bought\")}\r\n {BoughtTotalCount.toFixed(3).replace('.', ',')}\r\n {BoughtTotalList}\r\n \r\n\r\n \r\n \r\n {t(\"transe\")}\r\n Datum\r\n Cena\r\n R\r\n M01\r\n M02\r\n M03\r\n M04\r\n M05\r\n M06\r\n M07\r\n M08\r\n M09\r\n M10\r\n M11\r\n M12\r\n \r\n\r\n {TrancheBoughtList}\r\n\r\n \r\n {t(\"remain\")}\r\n {RemainCount.toFixed(3).replace('.', ',')}\r\n {RemainList}\r\n \r\n \r\n );\r\n });\r\n });\r\n };\r\n\r\n return (\r\n \r\n
\r\n
\r\n {t(\"od\")} yearsControl(e.target.value, years.do)} type=\"number\" min={2000} max={2099} step={1} value={years.od} />\r\n
\r\n\r\n
\r\n {t(\"do\")} yearsControl(years.od, e.target.value)} type=\"number\" min={2000} max={2099} step={1} value={years.do} />\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 {renderTableBody(envelopes)}\r\n \r\n
{t(\"ic\")}{t(\"name\")}{t(\"year\")}{t(\"codeEnvelope\")}{t(\"shopFromTo\")}
\r\n\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default EnvelopeTable;\r\n","import React, { useEffect, useState, Fragment } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport Col from 'react-bootstrap/Col';\r\nimport IRepository from \"../../../data/IRepository\";\r\nimport { EnvelopeDTO } from \"../../../features/envelope/dto/EnvelopeDTO\";\r\nimport EnvelopeTable from \"../../../features/envelope/components/EnvelopeTable\";\r\nimport DataQuery from \"../../../data/DataQuery\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { MainActionTypes } from \"../../../infrastructure/store/main/mainActionTypes\";\r\nimport TableStateModel from \"../models/TableStateModel\";\r\nimport IAppState from \"../../../infrastructure/store/IAppState\";\r\nimport { Row } from \"react-bootstrap\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { faSync } from \"@fortawesome/free-solid-svg-icons\";\r\n\r\n\r\ninterface IProps { }\r\n\r\nconst Dashboard: React.FC = (props) => {\r\n const { t } = useTranslation([\"modules\\\\dashboard\"]);\r\n const [fresh, setFresh] = useState(0);\r\n\r\n function refresh() {\r\n let num = fresh+1;\r\n setFresh(num);\r\n }\r\n\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 {t(\"ModuleName\")}\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(\"footer\")}\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default Dashboard;\r\n\r\n\r\n","import React from \"react\";\r\n\r\nimport { Table } from \"react-bootstrap\";\r\n\r\ninterface IProps {\r\n headData: Array;\r\n rowData?: Array;\r\n}\r\n\r\nconst CustomTable: React.FC = (props) => {\r\n const renderHead = (headData: Array) => {\r\n return (\r\n \r\n \r\n {headData.map((val, index) => (\r\n {val}\r\n ))}\r\n \r\n \r\n );\r\n };\r\n\r\n return (\r\n <>\r\n {renderHead(props.headData)}
\r\n \r\n );\r\n};\r\n\r\nexport default CustomTable;\r\n","import React, { useEffect } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\n\r\nimport CustomTable from '../../shared/components/table/CustomTable';\r\n\r\ninterface IProps {}\r\n\r\nconst Detail: React.FC = (props) => {\r\n\r\n const tCustomer = useTranslation([\"customer\\\\customer\"]).t;\r\n\r\n useEffect(() => {\r\n\r\n }, [])\r\n\r\n const getCustomer = async (): Promise => {\r\n \r\n }\r\n\r\n return (\r\n <> \r\n \r\n \r\n );\r\n};\r\n\r\nexport default Detail;\r\n","import React from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\n\r\nimport Detail from '../../customer/sections/Detail';\r\n\r\ninterface IProps {}\r\n\r\nconst Customer: React.FC = (props) => {\r\n const { t } = useTranslation([\"modules\\\\module-one\"]);\r\n\r\n return (\r\n <>\r\n
{t(\"Name\")}
\r\n
\r\n \r\n
\r\n \r\n );\r\n};\r\n\r\nexport default Customer;\r\n","import React, { useEffect } from \"react\";\r\nimport { useSelector, useDispatch } from \"react-redux\";\r\nimport { Route, Switch } from \"react-router-dom\";\r\nimport axios from \"axios\";\r\nimport IAppState from \"./infrastructure/store/IAppState\";\r\n\r\n// Oidc\r\nimport LoginPage from \"./infrastructure/oidc/LoginPage\";\r\nimport UserManager from \"./infrastructure/oidc/UserManager\";\r\nimport { USER_FOUND } from \"redux-oidc\";\r\nimport { UserState } from \"redux-oidc\";\r\nimport LoginRoutes from \"./infrastructure/oidc/LoginRoutes\";\r\n\r\n// Styles\r\nimport 'bootstrap/dist/css/bootstrap.min.css';\r\nimport \"./styles/main.scss\";\r\nimport Layout from \"./features/shared/layout/Layout\";\r\n\r\n// FontAwesome icons\r\nimport \"./fontawesome\";\r\n\r\n// Modules\r\nimport Dashboard from \"./features/shared/modules/Dashboard\";\r\nimport Customer from \"./features/shared/modules/Customer\";\r\n\r\nconst App: React.FC = () => {\r\n let userState = useSelector((store) => store.oidc);\r\n\r\n const dispatch = useDispatch();\r\n\r\n useEffect(() => {\r\n getUser();\r\n }, [userState.user]);\r\n\r\n // Pokus�m se na��st u�ivatele z tokenu\r\n const getUser = async () => {\r\n if (\r\n userState.isLoadingUser || // u�ivatel se na��t�\r\n userState.user || // u�ivatel je na�ten�\r\n window.location.pathname === \"/callback\" || // prob�h� callback z IS\r\n window.location.pathname === \"/logout\" // prob�h� odhla�ov�n�\r\n )\r\n return;\r\n\r\n await UserManager.getUser().then((user) => {\r\n if (user && !user.expired) {\r\n // Nastav�m token do hlavi�ky axiosu pro v�echna vol�n�\r\n //axios.defaults.headers.common[\"Authorization\"] = \"Bearer \" + user.access_token;\r\n\r\n // nastavim Usera do store\r\n dispatch({ type: USER_FOUND, payload: { ...user } });\r\n } else {\r\n UserManager.signinRedirect();\r\n }\r\n });\r\n };\r\n\r\n\r\n if (!userState.user) {\r\n return (\r\n // Pokud nejsem p�ihl�en�, nezobrazuju Layout\r\n \r\n \r\n \r\n \r\n );\r\n } else {\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\nexport default App;\r\n","// React\r\nimport React, { Suspense } from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\n// Redux\r\nimport { Provider } from \"react-redux\";\r\n// Router\r\nimport { ConnectedRouter } from \"connected-react-router\";\r\nimport { createBrowserHistory } from \"history\";\r\n// Store\r\nimport configureStore from \"./infrastructure/store/ConfigureStore\";\r\n// Localization\r\nimport \"./i18n\";\r\n// IoC Container\r\nimport \"reflect-metadata\"; // Import only once\r\n// Logging\r\nimport * as log from \"loglevel\";\r\n//import remote from \"loglevel-plugin-remote\";\r\n// OIDC\r\nimport { OidcProvider } from \"redux-oidc\";\r\nimport UserManager from \"./infrastructure/oidc/UserManager\";\r\n// Others\r\nimport * as serviceWorker from \"./serviceWorker\";\r\nimport \"./index.scss\";\r\nimport \"styles/themes/alpiq/overrides.scss\";\r\n\r\nimport App from \"./App\";\r\n\r\n// Config\r\n// Log\r\nlog.setDefaultLevel(log.levels.DEBUG);\r\n\r\n\r\n// Create browser history to use in the Redux store\r\nconst history = createBrowserHistory();\r\n\r\n// Get the application-wide store instance, prepopulating with state from the server where available.\r\nconst store = configureStore(history, (window as any).initialReduxState);\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 document.getElementById(\"root\")\r\n);\r\n\r\n// If you want your app to work offline and load faster, you can change\r\n// unregister() to register() below. Note this comes with some pitfalls.\r\n// Learn more about service workers: https://bit.ly/CRA-PWA\r\nserviceWorker.unregister();\r\n","import {\r\n applyMiddleware,\r\n combineReducers,\r\n compose,\r\n createStore,\r\n Store,\r\n} from \"redux\";\r\n\r\nimport { connectRouter, routerMiddleware } from \"connected-react-router\";\r\nimport { History } from \"history\";\r\n\r\nimport { composeWithDevTools } from \"redux-devtools-extension\";\r\n\r\n// Middlewares\r\nimport createSagaMiddleware from \"redux-saga\";\r\n\r\n// Reducers\r\nimport MainReducer from \"./main/MainReducer\";\r\nimport { reducer as oidcReducer } from \"redux-oidc\";\r\n\r\n// Subscribers\r\nimport {\r\n validateMainReducer,\r\n validateAnother,\r\n} from \"./StoreSubscribers\";\r\n\r\n// Sagas\r\n\r\nimport IAppState from \"./IAppState\";\r\n\r\nexport default function configureStore(\r\n history: History,\r\n initialState: IAppState\r\n): Store {\r\n // ---REDUCERS---\r\n const rootReducer = combineReducers({\r\n router: connectRouter(history),\r\n oidc: oidcReducer,\r\n main: MainReducer,\r\n });\r\n\r\n // ---MIDDLEWARES---\r\n // Saga\r\n const sagaMiddleware = createSagaMiddleware();\r\n\r\n const middleware = [routerMiddleware(history), sagaMiddleware];\r\n\r\n // ---ENHANCERS---\r\n const composeEnhancers = composeWithDevTools({});\r\n\r\n // ---CREATE STORE---\r\n const store = createStore(\r\n rootReducer,\r\n initialState,\r\n composeEnhancers(compose(applyMiddleware(...middleware)))\r\n );\r\n \r\n // ---SUBSCRIBE---\r\n let subscribing: boolean = false;\r\n store.subscribe(() => {\r\n if (!subscribing) {\r\n subscribing = true;\r\n [validateMainReducer, validateAnother].forEach((value, index) => {\r\n value(store.getState(), store.dispatch);\r\n });\r\n subscribing = false;\r\n }\r\n });\r\n\r\n // ---RUN---\r\n //sagaMiddleware.run();\r\n\r\n return store;\r\n}\r\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"profileDialog\":\"profiledialog_profileDialog__39qOC\",\"profileModal\":\"profiledialog_profileModal__1VG16\",\"profileHeader\":\"profiledialog_profileHeader__1lwxl\",\"profileHeaderInfo\":\"profiledialog_profileHeaderInfo__2-lrm\",\"profileCloseBtn\":\"profiledialog_profileCloseBtn__3FCRI\",\"profileContent\":\"profiledialog_profileContent__3CIgF\",\"profileBody\":\"profiledialog_profileBody__jkHig\",\"profileDivider\":\"profiledialog_profileDivider__2F4Sf\",\"profileActionItem\":\"profiledialog_profileActionItem__2LIBI\",\"profileActionIcon\":\"profiledialog_profileActionIcon__un-q5\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"topbar\":\"topbar_topbar__1Iq-U\",\"topbarActionItem\":\"topbar_topbarActionItem__ZAHdR\",\"topbarActionLink\":\"topbar_topbarActionLink__2CuPw\",\"topbarMenuBtn\":\"topbar_topbarMenuBtn___YAjz\",\"topbarProfileAvatar\":\"topbar_topbarProfileAvatar__2D1I2\",\"topbarProfileText\":\"topbar_topbarProfileText__2weE9\",\"topbarInfoNumber\":\"topbar_topbarInfoNumber__3S37c\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"topbarLogo\":\"topbarlogo_topbarLogo__3y_pj\",\"topbarLogoImg\":\"topbarlogo_topbarLogoImg__SOU_L\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"avatar\":\"avatar_avatar__3eLyG\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"pageContainer\":\"layout_pageContainer__3ht-H\",\"content\":\"layout_content__eKJ5i\"};"],"sourceRoot":""}