{"version":3,"sources":["components/common/loaders/loader.gif","serviceWorker.ts","components/common/toast/ToastNotification.tsx","infrastructure/Utils.tsx","context/RouterContext.tsx","context/ModalContext.tsx","infrastructure/LanguageStore.tsx","localization/Strings.tsx","localization/Nl.tsx","localization/Fr.tsx","localization/En.tsx","context/LocalizationContext.tsx","gen/ApiClients.ts","hooks/useClient.tsx","keys.tsx","hooks/useLocalizationContext.tsx","routes.tsx","components/landingPage/LandingPage.tsx","hooks/useCombineClassNames.tsx","components/common/buttons/TextLinkButton.tsx","components/common/buttons/PrimaryButton.tsx","components/common/modal/BaseConfirmation.tsx","components/common/loaders/Loader.tsx","components/common/loaders/CenterEverything.tsx","components/common/loaders/FullScreenLoader.tsx","context/TransportSubmitContext.tsx","components/common/logo.svg","components/common/Logo.tsx","components/blank/header/ProgressBar.tsx","components/common/buttons/IconButton.tsx","components/common/search/Searchbox.tsx","hooks/useKeyDown.tsx","hooks/useEnterKeyDown.tsx","components/common/dropdown/DropDownTrigger.tsx","components/common/dropdown/CustomDropdown.tsx","components/blank/header/Header.tsx","components/common/forms/FormsUtils.tsx","components/common/forms/FieldGroup.tsx","components/common/fields/DefaultDateInput.tsx","constants.tsx","components/common/forms/SelectDate.tsx","components/common/fields/DefaultTimeInput.tsx","components/common/forms/SelectTimeWithSpecifier.tsx","components/blank/common/DateComponent.tsx","components/common/forms/TextInputField.tsx","components/common/ValidGreenIcon.tsx","components/common/addressTypeAhead/AddressTypeAhead.tsx","components/common/forms/AddressTypeAheadField.tsx","components/common/forms/TextareaField.tsx","components/blank/common/addresses/Utils.tsx","components/blank/common/addresses/AddressFormComponent.tsx","components/blank/common/Utils.tsx","components/blank/step1/ExtraStop.tsx","components/blank/common/StopViewComponent.tsx","components/blank/common/StopsViewComponent.tsx","components/blank/step1/StopsView.tsx","components/blank/step1/Step1.tsx","components/blank/step2/Step2.tsx","components/blank/common/ErrorScreen.tsx","components/blank/step4/ContactMeForm.tsx","components/blank/step4/Step4.tsx","components/blank/step3/Step3.tsx","components/blank/Wrapper.tsx","build.tsx","components/AppUpdateWall.tsx","App.tsx","index.tsx"],"names":["module","exports","Boolean","window","location","hostname","match","showErrorToast","message","showToast","type","hideProgress","toast","hideProgressBar","ToastNotification","className","nameof","key","toString","empty","stringIsNumber","value","isNaN","Number","clearNullOrUndefinedValues","obj","n","Object","entries","filter","t","undefined","forEach","x","nonGenericClearNullOrUndefinedValues","pad","num","size","s","length","tryCatchWithLoading","fnc","setIsLoading","errorMessage","reject","RouterContext","React","createContext","history","activeRoute","navigate","goBack","BrowserRouterProvider","children","useState","setActiveRoute","routeProps","pathname","listen","action","Provider","str","push","ModalContext","open","close","ModalProvider","props","isOpen","setIsOpen","content","setContent","closeOnEscapeOrDimmerClick","setCloseOnEscapeOrDimmerClick","Modal","onClose","onOpen","centered","closeOnEscape","closeOnDimmerClick","closeIcon","Content","LanguageStore","localStorage","getItem","STORAGE_KEY","get","language","setItem","removeItem","Strings","LocalizedStrings","nl","add","addressDetails","addStop","after","alsoFillInAHouseNumber","at","before","busySearchingAddress","busyTyping","cancel","change","checkYourData","choose","comments","companyName","confirmAddStopover","confirmDeleteStop","contactMe","date","delete","deleteStop","email","extraStop","fileNumber","fillIn","firstStop","goToUnload","hours","houseNumber","labelAdditionalInfo","labelContactPerson","labelStreetNumberCityAndCode","lastStop","leavePageDescription","leavePageTitle","load","mailSent","max6stops","maxLengthValidation","next","no","noAddressFound","noStay","optional","overview","phoneNumber","placeholderAdditionalInfo","placeholderAddress","placeholderCompany","placeholderContactPerson","placeholderPhonenumber","previous","price","route","search","select","selectAnAddress","selectDateAndTime","selectTime","send","serverError","startNew","stopover","time","unload","validateCompanyName","validateContactPerson","validateHouseNumberIfNotFoundAbove","validateTime","validateTimeSelector","vatNumber","yes","yesDelete","yesLeave","fr","en","fallback","strings","setLanguage","getLanguage","formatString","LocalizationContext","LocalizationProvider","getAndParseToDefault","useEffect","lang","set","values","AddressesClient","baseUrl","instance","jsonParseReviver","this","axios","create","text","cancelToken","url_","Error","encodeURIComponent","options_","method","url","replace","headers","request","catch","_error","isAxiosError","response","then","_response","processSuggestions","status","_headers","k","hasOwnProperty","result200","resultData200","data","Array","isArray","item","Suggestion","fromJS","Promise","resolve","throwException","BuildClient","processCurrent","_responseText","TransportClient","id","processGet","TransportFlow","processCreate","body","JSON","stringify","processAddFirstStop","HttpResponse","processAddExtraStop","processAddLastStop","stopId","processEditStop","processDeleteStop","processCalculate","CalculateResult","processContactMe","ValidateClient","processValidateLeadTime","ValidateResponse","processValidateTimings","AddressModel","additionalInfo","company","contact","comment","country","postalCode","city","street","isExact","xCoordinate","yCoordinate","notFoundHouseNumber","formatted","property","_data","result","init","hasError","fileId","ContactMeModel","phone","contactName","CostWithDescription","description","amount","isSuccess","error","StopModel","address","dateSpecifier","Date","toJSON","toISOString","StopView","order","isLast","isFirst","isExtra","extraStops","costs","totalDistance","amountInclVat","ValidateLeadTimeModel","ValidateTimingsModel","SwaggerException","isSwaggerException","useClient","inst","interceptors","use","languageInterceptor","config","Language","useLocalizationContext","context","useContext","calculateNewRoute","LandingPage","client","locContext","routerContext","createNew","useCombineClassNames","TextLinkButton","underline","gray","small","extraSmall","rest","PrimaryButton","outline","noStretch","rectanglePadding","showLoader","disabled","active","inline","BaseConfirmation","title","confirmText","cancelText","confirm","isSubmitting","setIsSubmitting","submit","Responsive","minWidth","onlyTablet","onClick","onlyMobile","Loader","style","maxHeight","maxWidth","marginTop","marginBottom","src","loader","alt","CenterEveryting","FullScreenLoader","dim","_style","_g","_g2","_g3","_g4","step","progress","subStep","nextSubstep","previousSubStep","setFirstStop","addExtraStop","editExtraStop","deleteExtraStop","gotoStep2","setLastStop","calculate","onMountOrRefresh","goBackToStep","goBackToStartOfStep","state","calculatedResult","TransportContext","mapSubSteps","Map","TransportProvider","timer","isLoading","localSetIsLoading","setStep","setSubStep","setProgress","setId","setState","calculateResult","setCalculateResult","modalContext","pushState","href","onpopstate","go","setTimeout","clearTimeout","loadState","onSetFirstStop","model","addFirstStop","onAddExtraStop","onEditExtraStop","editStop","onDeleteExtraStop","onSetLastStop","addLastStop","onCalculate","_extends","assign","bind","target","i","arguments","source","prototype","call","apply","_objectWithoutProperties","excluded","sourceKeys","keys","indexOf","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","propertyIsEnumerable","_ref","svgRef","createElement","y","viewBox","enableBackground","xmlSpace","width","height","ref","points","d","ForwardRef","forwardRef","Logo","ProgressBar","handleClick","currentStep","last","Rectangle","divStyle","Oval","icon","Step","border","IconButton","color","popupText","renderInner","Popup","trigger","basic","Searchbox","placeholder","onTextChanged","onSearch","externalProps","large","setText","e","preventDefault","handleKeyDown","onKeyDown","useKeyDown","handleChangeWithStr","isFiltered","onChange","DropDownTrigger","clickTrigger","onClear","selected","clearable","formatSelected","CustomDropDown","options","onSelect","formatTrigger","searchable","stretch","filteredOptions","setFilteredOptions","triggerText","setTriggerText","_","orderBy","find","handleSearchTextChanged","toLowerCase","includes","Dropdown","onBlur","scrolling","Menu","map","Header","locContextFull","renderDropDown","val","cont","SelectLanguagePopup","setFieldTouched","FieldGroup","xName","label","noMargin","xNames","overrideError","htmlFor","name","component","DefaultDateInput","onValueChanged","dateFormat","moment","format","strValue","toDate","animation","closable","iconPosition","SelectDate","fieldProps","form","field","setFieldValue","setValue","EnumsDateSpecifier","hour","minutes","generateOptions","DefaultTimeInput","handleSelect","TimeListItem","SelectTimeWithSpecifier","setEnum","translations","At","Before","After","enumType","output","enumToOptions","specifierName","DateComponent","validate","header","specifier","onSubmit","onPrevious","modal","initialValue","schema","yup","shape","required","handleSubmit","actions","splits","split","m","minute","second","millisecond","setSubmitting","setFieldError","initialValues","validationSchema","TextInputField","ValidGreenIcon","AddressTypeAhead","clearSelect","isTyping","setIsTyping","suggestions","setSuggestions","to","setTo","handleTextChanged","txt","tabIndex","onFocus","suggestion","AddressTypeAheadField","warningMessage","TextareaField","setFields","selAddress","AddressFormComponent","previousText","isValidatedOnce","setIsValidatedOnce","hasSelAddressError","setHasSelAddressError","initValues","setSelAddress","validateSchema","max","createValidateSchemaWithHouseNumber","createValidateSchemaWithoutHouseNumber","localSubmit","isValid","dirty","validateTimings","transportId","ExtraStop","stop","onCancel","validateClient","setModel","handleSetDate","spec","StopViewComponent","onEdit","onDelete","formatStopAsLabel","stopName","StopsViewComponent","showDividers","addTopMargin","hideLastDivider","Divider","StopsView","onNext","Step1","handleSetAddress","validateLeadTime","Step2","ErrorScreen","ContactMeForm","onSend","onClickSubmit","isInitialValid","Step4","setHasError","console","log","onContactMe","Step3","Wrapper","useParams","build","Build","sleep","ms","r","AppUpdateWall","buildClient","current","caches","names","reload","App","position","POSITION","TOP_CENTER","autoClose","newestOnTop","closeOnClick","closeButton","transition","Slide","draggable","exact","path","library","faCheck","faChevronDown","faExclamationTriangle","faChevronUp","faPlus","faPlusCircle","faTimes","faInfoCircle","faEye","faEyeSlash","faEnvelope","ReactDOM","render","document","getElementById","navigator","serviceWorker","ready","registration","unregister"],"mappings":"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","file":"static/js/main.99b145d9.chunk.js","sourcesContent":["module.exports = __webpack_public_path__ + \"static/media/loader.2462cc74.gif\";","// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read http://bit.ly/CRA-PWA\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.1/8 is considered localhost for IPv4.\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\n\ntype Config = {\n onSuccess?: (registration: ServiceWorkerRegistration) => void;\n onUpdate?: (registration: ServiceWorkerRegistration) => void;\n};\n\nexport function register(config?: Config) {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(\n (process as { env: { [key: string]: string } }).env.PUBLIC_URL,\n window.location.href\n );\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n 'This web app is being served cache-first by a service ' +\n 'worker. To learn more, visit http://bit.ly/CRA-PWA'\n );\n });\n } else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl: string, config?: Config) {\n navigator.serviceWorker\n .register(swUrl)\n .then(registration => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n if (installingWorker == null) {\n return;\n }\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n console.log(\n 'New content is available and will be used when all ' +\n 'tabs for this page are closed. See http://bit.ly/CRA-PWA.'\n );\n\n // Execute callback\n if (config && config.onUpdate) {\n config.onUpdate(registration);\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.');\n\n // Execute callback\n if (config && config.onSuccess) {\n config.onSuccess(registration);\n }\n }\n }\n };\n };\n })\n .catch(error => {\n console.error('Error during service worker registration:', error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl: string, config?: Config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl)\n .then(response => {\n // Ensure service worker exists, and that we really are getting a JS file.\n const contentType = response.headers.get('content-type');\n if (\n response.status === 404 ||\n (contentType != null && contentType.indexOf('javascript') === -1)\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config);\n }\n })\n .catch(() => {\n console.log(\n 'No internet connection found. App is running in offline mode.'\n );\n });\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister();\n });\n }\n}\n","import React from 'react';\r\nimport './ToastNotification.scss';\r\nimport { toast } from 'react-toastify';\r\n\r\ninterface IProps {\r\n message: string;\r\n}\r\n\r\nexport const showSuccessToast = (message: string) => {\r\n showToast(message, \"success\");\r\n}\r\nexport const showDefaultToast = (message: string) => {\r\n showToast(message, 'default', true);\r\n}\r\nexport const showErrorToast = (message: string) => {\r\n showToast(message, \"error\");\r\n}\r\n\r\nconst showToast = (message: string, type: 'success' | 'warning' | 'error' | 'default', hideProgress: boolean = false) => {\r\n toast(, { type: type, hideProgressBar: hideProgress });\r\n}\r\n\r\nexport const ToastNotification = ({ message }: IProps) => {\r\n return (\r\n
\r\n {message}\r\n
\r\n );\r\n}","import { DefaultDateFormat } from \"../constants\";\r\nimport moment from 'moment';\r\nimport { IOption } from \"./Models\";\r\nimport { reject } from \"q\";\r\nimport { showErrorToast } from \"../components/common/toast/ToastNotification\";\r\n\r\nexport function translateSortDirection(sortDirection: string | undefined) : 'ascending' | 'descending' | undefined{\r\n if (sortDirection === undefined){\r\n return undefined;\r\n } else if (sortDirection.toLowerCase().startsWith('asc')) {\r\n return 'ascending';\r\n } else {\r\n return 'descending';\r\n }\r\n}\r\n\r\nexport function nameof(key: keyof T): string {\r\n return key.toString();\r\n}\r\n\r\nexport function toDefaultDate(strValue: string): Date {\r\n return moment(strValue, DefaultDateFormat).toDate();\r\n}\r\n\r\nexport function toDefaultStartOfDay(strValue: string): Date {\r\n return moment(strValue, DefaultDateFormat).startOf(\"day\").toDate();\r\n}\r\n\r\nexport function toDefaultEndOfDay(strValue: string): Date {\r\n return moment(strValue, DefaultDateFormat).endOf(\"day\").toDate();\r\n}\r\n\r\nexport function toDefaultFormat(date: Date | undefined): string {\r\n return date ? moment(date, DefaultDateFormat).format(DefaultDateFormat) : ''\r\n}\r\n\r\nexport function empty() {\r\n}\r\n\r\nexport async function emptyPromise(): Promise{\r\n return true;\r\n}\r\n\r\nexport function stringIsNumber(value: string): boolean {\r\n return isNaN(Number(value)) === false;\r\n}\r\n\r\nexport function enumToOptions(enumType: any, translations?: Map): IOption[] {\r\n let output: IOption[] = [];\r\n Object.keys(enumType)\r\n .filter(stringIsNumber)\r\n .forEach(t => output.push({ key: enumType[enumType[t]], text: translations ? translations.get(enumType[enumType[t]]) : enumType[t], value: enumType[t] }));\r\n return output;\r\n}\r\n\r\nexport function clearNullOrUndefinedValues(obj: T | undefined, type: new() => T): T{\r\n if (!obj){\r\n obj = new type();\r\n }\r\n const x = nonGenericClearNullOrUndefinedValues(obj);\r\n return x as T;\r\n}\r\n\r\nfunction nonGenericClearNullOrUndefinedValues(obj: any | undefined): any {\r\n const n = {...obj};\r\n const tt = Object.entries(n).filter(t => t[1] === null || t[1] === undefined);\r\n tt.forEach(x => n[x[0]] = '');\r\n return n;\r\n}\r\n\r\nexport function pad(num: number, size: number): string {\r\n var s = num+\"\";\r\n while (s.length < size) s = \"0\" + s;\r\n return s;\r\n}\r\n\r\nexport function clearCacheAndReloadApplication() {\r\n if (caches) {\r\n caches.keys().then((names) => {\r\n for (let name of names) {\r\n caches.delete(name);\r\n }\r\n });\r\n }\r\n window.location.reload(true);\r\n}\r\n\r\nexport async function tryCatchWithLoading(fnc: Promise, setIsLoading: (isLoading: boolean) => void, errorMessage: string = 'An unknown exception occurred at server, please try again'): Promise {\r\n setIsLoading(true);\r\n try {\r\n const x = await fnc;\r\n setIsLoading(false);\r\n return x;\r\n } catch (error) {\r\n showErrorToast(errorMessage);\r\n setIsLoading(false);\r\n return reject();\r\n }\r\n}\r\n","import React, { useState } from \"react\";\r\nimport { BrowserRouter, Route } from \"react-router-dom\";\r\nimport { empty } from \"../infrastructure/Utils\";\r\n\r\nexport interface IRouterProps {\r\n history: any;\r\n location: any;\r\n match: any;\r\n activeRoute: string;\r\n navigate: (str: string) => void;\r\n goBack: () => void;\r\n}\r\n\r\nexport const RouterContext = React.createContext({ history: {}, location: {}, match: {}, activeRoute: '', navigate: empty, goBack: empty });\r\n\r\nexport const BrowserRouterProvider = ({ children }: any) => {\r\n const [activeRoute, setActiveRoute] = useState('');\r\n const navigate = (str: string, routeProps: IRouterProps) => {\r\n routeProps.history.push(str);\r\n }\r\n const goBack = (routeProps: IRouterProps) => {\r\n routeProps.history.goBack();\r\n }\r\n return (\r\n \r\n \r\n {(routeProps: IRouterProps) => {\r\n if (activeRoute === '' || activeRoute === null || activeRoute === undefined) {\r\n setActiveRoute(routeProps.location.pathname);\r\n }\r\n routeProps.history.listen((location: any, action: any) => {\r\n setActiveRoute(location.pathname);\r\n });\r\n return (\r\n navigate(str, routeProps),\r\n goBack: () => goBack(routeProps),\r\n }}> \r\n {children}\r\n \r\n );\r\n }\r\n }\r\n \r\n \r\n );\r\n}","import React, { useState } from 'react';\r\nimport { Modal } from 'semantic-ui-react';\r\nimport './ModalContext.scss';\r\n\r\nexport interface IModalProps {\r\n open: (content: JSX.Element, closeOnEscapeOrDimmerClick?: boolean) => void;\r\n close: () => void;\r\n}\r\n\r\nexport const ModalContext = React.createContext({ open: () => {}, close: () => {}});\r\n\r\nexport const ModalProvider = (props: any) => {\r\n const [isOpen, setIsOpen] = useState(false);\r\n const [content, setContent] = useState(
);\r\n const [closeOnEscapeOrDimmerClick, setCloseOnEscapeOrDimmerClick] = useState(true);\r\n\r\n return (\r\n {\r\n setIsOpen(true); \r\n setContent(
)\r\n setContent(content);\r\n setCloseOnEscapeOrDimmerClick(closeOnEscapeOrDimmerClick);\r\n }, close: () => setIsOpen(false)}}>\r\n {props.children}\r\n setIsOpen(false)}\r\n onOpen={() => setIsOpen(true)}\r\n open={isOpen}\r\n centered={false}\r\n closeOnEscape={closeOnEscapeOrDimmerClick}\r\n closeOnDimmerClick={closeOnEscapeOrDimmerClick}\r\n closeIcon>\r\n \r\n {content}\r\n \r\n \r\n \r\n );\r\n}\r\n\r\n","export class LanguageStore {\r\n private static STORAGE_KEY: string = \"language\";\r\n\r\n static get() {\r\n return window.localStorage.getItem(LanguageStore.STORAGE_KEY);\r\n }\r\n\r\n static getAndParseToDefault(): 'en' | 'fr' | 'nl' {\r\n const x = LanguageStore.get();\r\n if (x !== 'en' && x !== 'fr' && x !== 'nl') {\r\n return 'nl';\r\n } else {\r\n return x;\r\n }\r\n }\r\n\r\n static set(language: string) {\r\n window.localStorage.setItem(LanguageStore.STORAGE_KEY, language);\r\n }\r\n\r\n static remove(): void {\r\n window.localStorage.removeItem(LanguageStore.STORAGE_KEY);\r\n }\r\n}","import LocalizedStrings from 'react-localization';\r\nimport { IStrings } from './IStrings';\r\nimport { nl } from './Nl';\r\nimport { fr } from './Fr';\r\nimport { en } from './En';\r\n\r\nexport const Strings = new LocalizedStrings({\r\n nl: nl,\r\n fr: fr,\r\n en: en,\r\n})","import { IStrings } from './IStrings';\r\n\r\nexport const nl: IStrings = {\r\n add: `Voeg toe`,\r\n addressDetails: `Adresdetails`,\r\n addStop: `Voeg een stop toe`,\r\n after: `Na`,\r\n alsoFillInAHouseNumber: `Vul ook een huisnummer in`,\r\n at: `Om`,\r\n before: `Voor`,\r\n busySearchingAddress: `Adres zoeken`,\r\n busyTyping: `Bezig met typen`,\r\n cancel: `Annuleer`,\r\n change: `Aanpassen`,\r\n checkYourData: `Controleer je gegevens`,\r\n choose: `Kies`,\r\n comments: `Opmerkingen`,\r\n companyName: `Bedrijfsnaam`,\r\n confirmAddStopover: `Wil je een tussenstop toevoegen?`,\r\n confirmDeleteStop: `Ben je zeker dat je deze stop wil verwijderen?`,\r\n contactMe: `Contacteer me`,\r\n date: `Datum`,\r\n delete: `Verwijderen`,\r\n deleteStop: `Stop verwijderen`,\r\n email: `E-mailadres`,\r\n extraStop: `Extra stop`,\r\n fileNumber: `Dossiernummer`,\r\n fillIn: `Vul in`,\r\n firstStop: `Eerste stop`,\r\n goToUnload: `Ga naar lossen`,\r\n hours: `Uren`,\r\n houseNumber: `Huisnummer`,\r\n labelAdditionalInfo: `Extra info (busnr, verdieping, ...)`,\r\n labelContactPerson: `Persoon ter plaatse`,\r\n labelStreetNumberCityAndCode: `Adres (straat, huisnummer, stad en postcode)`,\r\n lastStop: `Laatste stop`,\r\n leavePageDescription: `Als je deze pagina verlaat ben je je wijzigingen verloren. Ben je zeker?`,\r\n leavePageTitle: `Pagina verlaten`,\r\n load: `Laden`,\r\n mailSent: `Jouw aanvraag is verstuurd naar Euro-Sprinters!`,\r\n max6stops: `Je kan tot max. 6 stops ingeven.\\nWil je meer toevoegen? Contacteer dan de klantendienst.`,\r\n maxLengthValidation: `Lengte is beperkt tot max. {0} karakters`,\r\n next: `Volgende`,\r\n no: `Nee`,\r\n noAddressFound: `Geen adres gevonden`,\r\n noStay: `Nee, blijf op deze pagina`,\r\n optional: `Optioneel`,\r\n overview: `Overzicht`,\r\n phoneNumber: `Telefoonnummer`,\r\n placeholderAdditionalInfo: `Extra info`,\r\n placeholderAddress: `Geef een adres in`,\r\n placeholderCompany: `Geef de naam van het bedrijf`,\r\n placeholderContactPerson: `Geef de naam van de contactpersoon`,\r\n placeholderPhonenumber: `Geef een telefoonnummer`,\r\n previous: `Vorige`,\r\n price: `Prijs`,\r\n route: `Route`,\r\n search: `Zoek`,\r\n select: `Selecteer`,\r\n selectAnAddress: `Selecteer een adres`,\r\n selectDateAndTime: `Selecteer datum & tijd`,\r\n selectTime: `Selecteer uur`,\r\n send: `Verzenden`,\r\n serverError: `Een ongekende fout is opgetreden op de server.\\nGelieve het opnieuw te proberen.\\nAls de fout blijft aanhouden, gelieve Euro-Sprinters te contacteren.`,\r\n startNew: `Begin opnieuw`,\r\n stopover: `Tussenstop`,\r\n time: `Tijd`,\r\n unload: `Lossen`,\r\n validateCompanyName: `Vul de naam van het bedrijf in`,\r\n validateContactPerson: `Vul contactpersoon in`,\r\n validateHouseNumberIfNotFoundAbove: `Vul een huisnummer in als het hierboven niet wordt gevonden`,\r\n validateTime: `Selecteer een tijdstip`,\r\n validateTimeSelector: `Selecteer vanaf/om/na`,\r\n vatNumber: `BTW-nummer`,\r\n yes: `Ja`,\r\n yesDelete: `Ja, verwijder`,\r\n yesLeave: `Ja, ga weg`,\r\n}\r\n","import { IStrings } from './IStrings';\r\n\r\nexport const fr: IStrings = {\r\n add: `Ajouter`,\r\n addressDetails: `Détails d'adresse`,\r\n addStop: `Ajouter un stop`,\r\n after: `Après`,\r\n alsoFillInAHouseNumber: `Introduire aussi un numéro de maison`,\r\n at: `A`,\r\n before: `Devat/Avant`,\r\n busySearchingAddress: `Recherche d'adresses`,\r\n busyTyping: `Dactylographie`,\r\n cancel: `Annuler`,\r\n change: `Ajuster`,\r\n checkYourData: `Vérifiez vos coordonnées`,\r\n choose: `Choisir`,\r\n comments: `Remarques`,\r\n companyName: `Nom de l'entreprise`,\r\n confirmAddStopover: `Voulez-vous ajouter une escale?`,\r\n confirmDeleteStop: `Êtes-vous sûr de vouloir supprimer cet arrêt?`,\r\n contactMe: `Contactez-moi`,\r\n date: `Date`,\r\n delete: `Supprimer`,\r\n deleteStop: `Supprimer le stop`,\r\n email: `E-mailadres`,\r\n extraStop: `Arrêt supplémentaire`,\r\n fileNumber: `Numéro du dossier`,\r\n fillIn: `Remplir`,\r\n firstStop: `Premier arrêt`,\r\n goToUnload: `Décharger`,\r\n hours: `Heures`,\r\n houseNumber: `Numéro de maison`,\r\n labelAdditionalInfo: `Informations supplémentaires ( numéro de boîte, étage,…)`,\r\n labelContactPerson: `Personne sur place`,\r\n labelStreetNumberCityAndCode: `Adresse (rue, numéro, ville et code postal)`,\r\n lastStop: `Dernier stop`,\r\n leavePageDescription: `Si vous quittez cette page, vous perdez vos modifications, Êtes-vous sûr?`,\r\n leavePageTitle: `Quitte rla page`,\r\n load: `Chargement`,\r\n mailSent: `Votre demande a été envoyée à Euro-Sprinters!`,\r\n max6stops: `Vous pouvez entrer jusqu'à 6 arrêts.\\nVoulez-vous ajouter plus? Contactez le service client.`,\r\n maxLengthValidation: `La longueur est limitée à max {0} caractères`,\r\n next: `Suivant`,\r\n no: `Non`,\r\n noAddressFound: `Aucune adresse trouvée`,\r\n noStay: `Non, restez sur cette page`,\r\n optional: `Facultatif`,\r\n overview: `Vue d'ensemble`,\r\n phoneNumber: `Numéro de téléphone`,\r\n placeholderAdditionalInfo: `Informations supplémentaires`,\r\n placeholderAddress: `Entrez une adresse`,\r\n placeholderCompany: `Entrez le nom de l'entreprise`,\r\n placeholderContactPerson: `Entrez le nom de la personne de contact`,\r\n placeholderPhonenumber: `Entrez un numéro de téléphone`,\r\n previous: `Précédent`,\r\n price: `Prix`,\r\n route: `Route`,\r\n search: `Recherche`,\r\n select: `Sélectionner`,\r\n selectAnAddress: `Sélectionnez une adresse`,\r\n selectDateAndTime: `Sélectionnez la date/l'heure`,\r\n selectTime: `Sélectionnez une heure`,\r\n send: `Expédier`,\r\n serverError: `Une erreur inconnue est survenue sur le serveur. Veuillez réessayer. Si l'erreur persiste, veuillez contacter Euro-Sprinters.`,\r\n startNew: `Recommencer`,\r\n stopover: `Stop entre`,\r\n time: `Le temps`,\r\n unload: `Décharger`,\r\n validateCompanyName: `Entrez le nom de l'entreprise`,\r\n validateContactPerson: `Entrez la personne de contact`,\r\n validateHouseNumberIfNotFoundAbove: `Entrez un numéro de rue s'il ne se trouve pas ci-dessus`,\r\n validateTime: `Sélectionnez une heure`,\r\n validateTimeSelector: `Sélectionnez de / à / après`,\r\n vatNumber: `Numéro de TVA`,\r\n yes: `Oui`,\r\n yesDelete: `Oui, supprimer`,\r\n yesLeave: `Oui, rester`,\r\n}\r\n","import { IStrings } from './IStrings';\r\n\r\nexport const en: IStrings = {\r\n add: `Add`,\r\n addressDetails: `Address details`,\r\n addStop: `Add stop`,\r\n after: `After`,\r\n alsoFillInAHouseNumber: `Please fill in a housenumber`,\r\n at: `At`,\r\n before: `Before`,\r\n busySearchingAddress: `Search address`,\r\n busyTyping: `Busy typing`,\r\n cancel: `Cancel`,\r\n change: `Adjust`,\r\n checkYourData: `Check your data`,\r\n choose: `Choose`,\r\n comments: `Comments`,\r\n companyName: `Company name`,\r\n confirmAddStopover: `Do you want to add an additional stop?`,\r\n confirmDeleteStop: `Are you sure you want to delete this stop?`,\r\n contactMe: `Contact me`,\r\n date: `Date`,\r\n delete: `Delete`,\r\n deleteStop: `Delete stop`,\r\n email: `Email`,\r\n extraStop: `Extra stop`,\r\n fileNumber: `Order number`,\r\n fillIn: `Fill in`,\r\n firstStop: `First stop`,\r\n goToUnload: `Go to unload`,\r\n hours: `Hours`,\r\n houseNumber: `House number`,\r\n labelAdditionalInfo: `Additional info (busnr, floor, ...)`,\r\n labelContactPerson: `Contact person on the spot`,\r\n labelStreetNumberCityAndCode: `Address (street, house number, city and postal code)`,\r\n lastStop: `Last stop`,\r\n leavePageDescription: `When you leave this page all your modifications will be lost. Are you sure?`,\r\n leavePageTitle: `Leave page`,\r\n load: `Load`,\r\n mailSent: `Your request has been sent to Euro-Sprinters!`,\r\n max6stops: `You can enter up to max. 6 stops.\\nWant to add more? Contact customer service.`,\r\n maxLengthValidation: `Length is limited to max. {0} characters`,\r\n next: `Next`,\r\n no: `No`,\r\n noAddressFound: `No address found`,\r\n noStay: `No, stay on this page`,\r\n optional: `Optional`,\r\n overview: `Overview`,\r\n phoneNumber: `Phone number`,\r\n placeholderAdditionalInfo: `Additional info`,\r\n placeholderAddress: `Fill in address`,\r\n placeholderCompany: `Fill in company name`,\r\n placeholderContactPerson: `Fill in the name of the contact person`,\r\n placeholderPhonenumber: `Fill in phone number`,\r\n previous: `Previous`,\r\n price: `Price`,\r\n route: `Route`,\r\n search: `Search`,\r\n select: `Select`,\r\n selectAnAddress: `Select an address`,\r\n selectDateAndTime: `Select date & time`,\r\n selectTime: `Select time`,\r\n send: `Send`,\r\n serverError: `An unknown error has occured. Please try again. If this error returns, please contact Euro-Sprinters!`,\r\n startNew: `Start over`,\r\n stopover: `Additional stop`,\r\n time: `Time`,\r\n unload: `Unload`,\r\n validateCompanyName: `Fill in your company name`,\r\n validateContactPerson: `Fill in contact person`,\r\n validateHouseNumberIfNotFoundAbove: `Fill in a house number when it hasn't been found above`,\r\n validateTime: `Selete a time of day`,\r\n validateTimeSelector: `Select from /at/after`,\r\n vatNumber: `VAT-nummer`,\r\n yes: `Yes`,\r\n yesDelete: `Yes, delete`,\r\n yesLeave: `Yes, leave`,\r\n}\r\n","import React, { useState, useEffect } from 'react';\r\nimport { empty } from '../infrastructure/Utils';\r\nimport { LanguageStore } from '../infrastructure/LanguageStore';\r\nimport { Strings } from '../localization/Strings';\r\nimport { IStrings } from '../localization/IStrings';\r\n\r\n// documentation: \r\n// https://github.com/stefalda/react-localization#readme\r\n\r\ninterface IProps {\r\n strings: IStrings;\r\n setLanguage: (lang: 'en' | 'nl' | 'fr') => void;\r\n getLanguage: () => 'en' | 'nl' | 'fr';\r\n formatString: (key: keyof IStrings, ...values: any) => string;\r\n}\r\n\r\nconst fallback: IProps = {\r\n strings: Strings,\r\n setLanguage: empty,\r\n getLanguage: () => 'en',\r\n formatString: () => '',\r\n}\r\n\r\nexport const LocalizationContext = React.createContext(fallback);\r\n\r\nexport const LocalizationProvider = ({ children }: any) => {\r\n const [language, setLanguage] = useState<('en' | 'nl' | 'fr')>(LanguageStore.getAndParseToDefault());\r\n\r\n useEffect(() => {\r\n Strings.setLanguage(language);\r\n }, [language]);\r\n\r\n const overrideSetLanguage = (lang: 'en' | 'nl' | 'fr') => {\r\n setLanguage(lang);\r\n Strings.setLanguage(lang);\r\n LanguageStore.set(lang);\r\n }\r\n const getLanguage = (): \"en\" | \"fr\" | \"nl\" => {\r\n const x = Strings.getLanguage();\r\n if (x !== \"en\" && x !== \"nl\" && x !== \"fr\"){\r\n return \"en\";\r\n } else {\r\n return x;\r\n }\r\n }\r\n function formatString(str: keyof IStrings, ...values: Array) : string {\r\n return Strings.formatString(Strings[str], ...values).toString();\r\n }\r\n\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n}\r\n","//----------------------\r\n// \r\n// Generated using the NSwag toolchain v13.16.1.0 (NJsonSchema v10.7.2.0 (Newtonsoft.Json v13.0.0.0)) (http://NSwag.org)\r\n// \r\n//----------------------\r\n\r\n/* tslint:disable */\r\n/* eslint-disable */\r\n// ReSharper disable InconsistentNaming\r\n\r\nimport axios, { AxiosError, AxiosInstance, AxiosRequestConfig, AxiosResponse, CancelToken } from 'axios';\r\n\r\nexport class AddressesClient {\r\n private instance: AxiosInstance;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n this.instance = instance ? instance : axios.create();\r\n\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n\r\n }\r\n\r\n /**\r\n * @param text (optional) \r\n * @return Success\r\n */\r\n suggestions(text?: string | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/Addresses/suggestions?\";\r\n if (text === null)\r\n throw new Error(\"The parameter 'text' cannot be null.\");\r\n else if (text !== undefined)\r\n url_ += \"text=\" + encodeURIComponent(\"\" + text) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processSuggestions(_response);\r\n });\r\n }\r\n\r\n protected processSuggestions(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(Suggestion.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class BuildClient {\r\n private instance: AxiosInstance;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n this.instance = instance ? instance : axios.create();\r\n\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n current( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/Build/current\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processCurrent(_response);\r\n });\r\n }\r\n\r\n protected processCurrent(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class TransportClient {\r\n private instance: AxiosInstance;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n this.instance = instance ? instance : axios.create();\r\n\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n get(id: string , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/Transport/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGet(_response);\r\n });\r\n }\r\n\r\n protected processGet(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = TransportFlow.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n create( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/Transport/create\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processCreate(_response);\r\n });\r\n }\r\n\r\n protected processCreate(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n addFirstStop(id: string, body?: StopModel | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/Transport/{id}/stops/first/add\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json-patch+json\",\r\n \"Accept\": \"text/plain\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processAddFirstStop(_response);\r\n });\r\n }\r\n\r\n protected processAddFirstStop(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = HttpResponse.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n addExtraStop(id: string, body?: StopModel | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/Transport/{id}/stops/add\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json-patch+json\",\r\n \"Accept\": \"text/plain\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processAddExtraStop(_response);\r\n });\r\n }\r\n\r\n protected processAddExtraStop(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = HttpResponse.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n addLastStop(id: string, body?: StopModel | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/Transport/{id}/stops/last/add\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json-patch+json\",\r\n \"Accept\": \"text/plain\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processAddLastStop(_response);\r\n });\r\n }\r\n\r\n protected processAddLastStop(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = HttpResponse.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n editStop(id: string, stopId: string, body?: StopModel | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/Transport/{id}/stops/{stopId}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n if (stopId === undefined || stopId === null)\r\n throw new Error(\"The parameter 'stopId' must be defined.\");\r\n url_ = url_.replace(\"{stopId}\", encodeURIComponent(\"\" + stopId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json-patch+json\",\r\n \"Accept\": \"text/plain\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processEditStop(_response);\r\n });\r\n }\r\n\r\n protected processEditStop(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = HttpResponse.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n deleteStop(id: string, stopId: string , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/Transport/{id}/stops/{stopId}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n if (stopId === undefined || stopId === null)\r\n throw new Error(\"The parameter 'stopId' must be defined.\");\r\n url_ = url_.replace(\"{stopId}\", encodeURIComponent(\"\" + stopId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"DELETE\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processDeleteStop(_response);\r\n });\r\n }\r\n\r\n protected processDeleteStop(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = HttpResponse.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n calculate(id: string , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/Transport/{id}/calculate\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processCalculate(_response);\r\n });\r\n }\r\n\r\n protected processCalculate(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = CalculateResult.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n contactMe(fileNumber: string, body?: ContactMeModel | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/Transport/{fileNumber}/contactMe\";\r\n if (fileNumber === undefined || fileNumber === null)\r\n throw new Error(\"The parameter 'fileNumber' must be defined.\");\r\n url_ = url_.replace(\"{fileNumber}\", encodeURIComponent(\"\" + fileNumber));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json-patch+json\",\r\n \"Accept\": \"text/plain\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processContactMe(_response);\r\n });\r\n }\r\n\r\n protected processContactMe(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = HttpResponse.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class ValidateClient {\r\n private instance: AxiosInstance;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n this.instance = instance ? instance : axios.create();\r\n\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n validateLeadTime(body?: ValidateLeadTimeModel | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/Validate/validateLeadTime\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json-patch+json\",\r\n \"Accept\": \"text/plain\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processValidateLeadTime(_response);\r\n });\r\n }\r\n\r\n protected processValidateLeadTime(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = ValidateResponse.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n validateTimings(id: string, body?: ValidateTimingsModel | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/Validate/{id}/validateTimings\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json-patch+json\",\r\n \"Accept\": \"text/plain\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processValidateTimings(_response);\r\n });\r\n }\r\n\r\n protected processValidateTimings(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = ValidateResponse.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class AddressModel implements IAddressModel {\r\n additionalInfo?: string | undefined;\r\n company?: string | undefined;\r\n phoneNumber?: string | undefined;\r\n contact?: string | undefined;\r\n comment?: string | undefined;\r\n country?: string | undefined;\r\n postalCode?: string | undefined;\r\n city?: string | undefined;\r\n street?: string | undefined;\r\n houseNumber?: string | undefined;\r\n isExact?: boolean;\r\n xCoordinate?: number;\r\n yCoordinate?: number;\r\n notFoundHouseNumber?: string | undefined;\r\n readonly formatted?: string | undefined;\r\n\r\n constructor(data?: IAddressModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.additionalInfo = _data[\"additionalInfo\"];\r\n this.company = _data[\"company\"];\r\n this.phoneNumber = _data[\"phoneNumber\"];\r\n this.contact = _data[\"contact\"];\r\n this.comment = _data[\"comment\"];\r\n this.country = _data[\"country\"];\r\n this.postalCode = _data[\"postalCode\"];\r\n this.city = _data[\"city\"];\r\n this.street = _data[\"street\"];\r\n this.houseNumber = _data[\"houseNumber\"];\r\n this.isExact = _data[\"isExact\"];\r\n this.xCoordinate = _data[\"xCoordinate\"];\r\n this.yCoordinate = _data[\"yCoordinate\"];\r\n this.notFoundHouseNumber = _data[\"notFoundHouseNumber\"];\r\n (this).formatted = _data[\"formatted\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AddressModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AddressModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"additionalInfo\"] = this.additionalInfo;\r\n data[\"company\"] = this.company;\r\n data[\"phoneNumber\"] = this.phoneNumber;\r\n data[\"contact\"] = this.contact;\r\n data[\"comment\"] = this.comment;\r\n data[\"country\"] = this.country;\r\n data[\"postalCode\"] = this.postalCode;\r\n data[\"city\"] = this.city;\r\n data[\"street\"] = this.street;\r\n data[\"houseNumber\"] = this.houseNumber;\r\n data[\"isExact\"] = this.isExact;\r\n data[\"xCoordinate\"] = this.xCoordinate;\r\n data[\"yCoordinate\"] = this.yCoordinate;\r\n data[\"notFoundHouseNumber\"] = this.notFoundHouseNumber;\r\n data[\"formatted\"] = this.formatted;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAddressModel {\r\n additionalInfo?: string | undefined;\r\n company?: string | undefined;\r\n phoneNumber?: string | undefined;\r\n contact?: string | undefined;\r\n comment?: string | undefined;\r\n country?: string | undefined;\r\n postalCode?: string | undefined;\r\n city?: string | undefined;\r\n street?: string | undefined;\r\n houseNumber?: string | undefined;\r\n isExact?: boolean;\r\n xCoordinate?: number;\r\n yCoordinate?: number;\r\n notFoundHouseNumber?: string | undefined;\r\n formatted?: string | undefined;\r\n}\r\n\r\nexport class CalculateResult implements ICalculateResult {\r\n hasError?: boolean;\r\n fileId?: string | undefined;\r\n\r\n constructor(data?: ICalculateResult) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.hasError = _data[\"hasError\"];\r\n this.fileId = _data[\"fileId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CalculateResult {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CalculateResult();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"hasError\"] = this.hasError;\r\n data[\"fileId\"] = this.fileId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICalculateResult {\r\n hasError?: boolean;\r\n fileId?: string | undefined;\r\n}\r\n\r\nexport class ContactMeModel implements IContactMeModel {\r\n email?: string | undefined;\r\n phone?: string | undefined;\r\n comments?: string | undefined;\r\n companyName?: string | undefined;\r\n vatNumber?: string | undefined;\r\n contactName?: string | undefined;\r\n\r\n constructor(data?: IContactMeModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.email = _data[\"email\"];\r\n this.phone = _data[\"phone\"];\r\n this.comments = _data[\"comments\"];\r\n this.companyName = _data[\"companyName\"];\r\n this.vatNumber = _data[\"vatNumber\"];\r\n this.contactName = _data[\"contactName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ContactMeModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ContactMeModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"email\"] = this.email;\r\n data[\"phone\"] = this.phone;\r\n data[\"comments\"] = this.comments;\r\n data[\"companyName\"] = this.companyName;\r\n data[\"vatNumber\"] = this.vatNumber;\r\n data[\"contactName\"] = this.contactName;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IContactMeModel {\r\n email?: string | undefined;\r\n phone?: string | undefined;\r\n comments?: string | undefined;\r\n companyName?: string | undefined;\r\n vatNumber?: string | undefined;\r\n contactName?: string | undefined;\r\n}\r\n\r\nexport class CostWithDescription implements ICostWithDescription {\r\n description?: string | undefined;\r\n amount?: number;\r\n\r\n constructor(data?: ICostWithDescription) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.description = _data[\"description\"];\r\n this.amount = _data[\"amount\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CostWithDescription {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CostWithDescription();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"description\"] = this.description;\r\n data[\"amount\"] = this.amount;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICostWithDescription {\r\n description?: string | undefined;\r\n amount?: number;\r\n}\r\n\r\nexport class HttpResponse implements IHttpResponse {\r\n isSuccess?: boolean;\r\n error?: string | undefined;\r\n readonly hasError?: boolean;\r\n\r\n constructor(data?: IHttpResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.isSuccess = _data[\"isSuccess\"];\r\n this.error = _data[\"error\"];\r\n (this).hasError = _data[\"hasError\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): HttpResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new HttpResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"isSuccess\"] = this.isSuccess;\r\n data[\"error\"] = this.error;\r\n data[\"hasError\"] = this.hasError;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IHttpResponse {\r\n isSuccess?: boolean;\r\n error?: string | undefined;\r\n hasError?: boolean;\r\n}\r\n\r\nexport class StopModel implements IStopModel {\r\n address?: AddressModel;\r\n date?: Date;\r\n dateSpecifier?: string | undefined;\r\n\r\n constructor(data?: IStopModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.address = _data[\"address\"] ? AddressModel.fromJS(_data[\"address\"]) : undefined;\r\n this.date = _data[\"date\"] ? new Date(_data[\"date\"].toString()) : undefined;\r\n this.dateSpecifier = _data[\"dateSpecifier\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): StopModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new StopModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"address\"] = this.address ? this.address.toJSON() : undefined;\r\n data[\"date\"] = this.date ? this.date.toISOString() : undefined;\r\n data[\"dateSpecifier\"] = this.dateSpecifier;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IStopModel {\r\n address?: AddressModel;\r\n date?: Date;\r\n dateSpecifier?: string | undefined;\r\n}\r\n\r\nexport class StopView implements IStopView {\r\n id?: string;\r\n address?: AddressModel;\r\n date?: Date;\r\n dateSpecifier?: string | undefined;\r\n order?: number;\r\n isLast?: boolean;\r\n readonly isFirst?: boolean;\r\n readonly isExtra?: boolean;\r\n\r\n constructor(data?: IStopView) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.address = _data[\"address\"] ? AddressModel.fromJS(_data[\"address\"]) : undefined;\r\n this.date = _data[\"date\"] ? new Date(_data[\"date\"].toString()) : undefined;\r\n this.dateSpecifier = _data[\"dateSpecifier\"];\r\n this.order = _data[\"order\"];\r\n this.isLast = _data[\"isLast\"];\r\n (this).isFirst = _data[\"isFirst\"];\r\n (this).isExtra = _data[\"isExtra\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): StopView {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new StopView();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"address\"] = this.address ? this.address.toJSON() : undefined;\r\n data[\"date\"] = this.date ? this.date.toISOString() : undefined;\r\n data[\"dateSpecifier\"] = this.dateSpecifier;\r\n data[\"order\"] = this.order;\r\n data[\"isLast\"] = this.isLast;\r\n data[\"isFirst\"] = this.isFirst;\r\n data[\"isExtra\"] = this.isExtra;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IStopView {\r\n id?: string;\r\n address?: AddressModel;\r\n date?: Date;\r\n dateSpecifier?: string | undefined;\r\n order?: number;\r\n isLast?: boolean;\r\n isFirst?: boolean;\r\n isExtra?: boolean;\r\n}\r\n\r\nexport class Suggestion implements ISuggestion {\r\n xCoordinate?: number;\r\n yCoordinate?: number;\r\n formatted?: string | undefined;\r\n isExact?: boolean;\r\n country?: string | undefined;\r\n postalCode?: string | undefined;\r\n city?: string | undefined;\r\n street?: string | undefined;\r\n houseNumber?: string | undefined;\r\n\r\n constructor(data?: ISuggestion) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.xCoordinate = _data[\"xCoordinate\"];\r\n this.yCoordinate = _data[\"yCoordinate\"];\r\n this.formatted = _data[\"formatted\"];\r\n this.isExact = _data[\"isExact\"];\r\n this.country = _data[\"country\"];\r\n this.postalCode = _data[\"postalCode\"];\r\n this.city = _data[\"city\"];\r\n this.street = _data[\"street\"];\r\n this.houseNumber = _data[\"houseNumber\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Suggestion {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Suggestion();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"xCoordinate\"] = this.xCoordinate;\r\n data[\"yCoordinate\"] = this.yCoordinate;\r\n data[\"formatted\"] = this.formatted;\r\n data[\"isExact\"] = this.isExact;\r\n data[\"country\"] = this.country;\r\n data[\"postalCode\"] = this.postalCode;\r\n data[\"city\"] = this.city;\r\n data[\"street\"] = this.street;\r\n data[\"houseNumber\"] = this.houseNumber;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISuggestion {\r\n xCoordinate?: number;\r\n yCoordinate?: number;\r\n formatted?: string | undefined;\r\n isExact?: boolean;\r\n country?: string | undefined;\r\n postalCode?: string | undefined;\r\n city?: string | undefined;\r\n street?: string | undefined;\r\n houseNumber?: string | undefined;\r\n}\r\n\r\nexport class TransportFlow implements ITransportFlow {\r\n id?: string;\r\n firstStop?: StopView;\r\n extraStops?: StopView[] | undefined;\r\n lastStop?: StopView;\r\n fileNumber?: string | undefined;\r\n costs?: CostWithDescription[] | undefined;\r\n totalDistance?: number;\r\n amount?: number;\r\n amountInclVat?: number;\r\n\r\n constructor(data?: ITransportFlow) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.firstStop = _data[\"firstStop\"] ? StopView.fromJS(_data[\"firstStop\"]) : undefined;\r\n if (Array.isArray(_data[\"extraStops\"])) {\r\n this.extraStops = [] as any;\r\n for (let item of _data[\"extraStops\"])\r\n this.extraStops!.push(StopView.fromJS(item));\r\n }\r\n this.lastStop = _data[\"lastStop\"] ? StopView.fromJS(_data[\"lastStop\"]) : undefined;\r\n this.fileNumber = _data[\"fileNumber\"];\r\n if (Array.isArray(_data[\"costs\"])) {\r\n this.costs = [] as any;\r\n for (let item of _data[\"costs\"])\r\n this.costs!.push(CostWithDescription.fromJS(item));\r\n }\r\n this.totalDistance = _data[\"totalDistance\"];\r\n this.amount = _data[\"amount\"];\r\n this.amountInclVat = _data[\"amountInclVat\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TransportFlow {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TransportFlow();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"firstStop\"] = this.firstStop ? this.firstStop.toJSON() : undefined;\r\n if (Array.isArray(this.extraStops)) {\r\n data[\"extraStops\"] = [];\r\n for (let item of this.extraStops)\r\n data[\"extraStops\"].push(item.toJSON());\r\n }\r\n data[\"lastStop\"] = this.lastStop ? this.lastStop.toJSON() : undefined;\r\n data[\"fileNumber\"] = this.fileNumber;\r\n if (Array.isArray(this.costs)) {\r\n data[\"costs\"] = [];\r\n for (let item of this.costs)\r\n data[\"costs\"].push(item.toJSON());\r\n }\r\n data[\"totalDistance\"] = this.totalDistance;\r\n data[\"amount\"] = this.amount;\r\n data[\"amountInclVat\"] = this.amountInclVat;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITransportFlow {\r\n id?: string;\r\n firstStop?: StopView;\r\n extraStops?: StopView[] | undefined;\r\n lastStop?: StopView;\r\n fileNumber?: string | undefined;\r\n costs?: CostWithDescription[] | undefined;\r\n totalDistance?: number;\r\n amount?: number;\r\n amountInclVat?: number;\r\n}\r\n\r\nexport class ValidateLeadTimeModel implements IValidateLeadTimeModel {\r\n date?: Date;\r\n dateSpecifier?: string | undefined;\r\n address?: AddressModel;\r\n\r\n constructor(data?: IValidateLeadTimeModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.date = _data[\"date\"] ? new Date(_data[\"date\"].toString()) : undefined;\r\n this.dateSpecifier = _data[\"dateSpecifier\"];\r\n this.address = _data[\"address\"] ? AddressModel.fromJS(_data[\"address\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ValidateLeadTimeModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ValidateLeadTimeModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"date\"] = this.date ? this.date.toISOString() : undefined;\r\n data[\"dateSpecifier\"] = this.dateSpecifier;\r\n data[\"address\"] = this.address ? this.address.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IValidateLeadTimeModel {\r\n date?: Date;\r\n dateSpecifier?: string | undefined;\r\n address?: AddressModel;\r\n}\r\n\r\nexport class ValidateResponse implements IValidateResponse {\r\n errorMessage?: string | undefined;\r\n readonly hasError?: boolean;\r\n\r\n constructor(data?: IValidateResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.errorMessage = _data[\"errorMessage\"];\r\n (this).hasError = _data[\"hasError\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ValidateResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ValidateResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"errorMessage\"] = this.errorMessage;\r\n data[\"hasError\"] = this.hasError;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IValidateResponse {\r\n errorMessage?: string | undefined;\r\n hasError?: boolean;\r\n}\r\n\r\nexport class ValidateTimingsModel implements IValidateTimingsModel {\r\n stopId?: string | undefined;\r\n date?: Date;\r\n dateSpecifier?: string | undefined;\r\n address?: AddressModel;\r\n\r\n constructor(data?: IValidateTimingsModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.stopId = _data[\"stopId\"];\r\n this.date = _data[\"date\"] ? new Date(_data[\"date\"].toString()) : undefined;\r\n this.dateSpecifier = _data[\"dateSpecifier\"];\r\n this.address = _data[\"address\"] ? AddressModel.fromJS(_data[\"address\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ValidateTimingsModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ValidateTimingsModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"stopId\"] = this.stopId;\r\n data[\"date\"] = this.date ? this.date.toISOString() : undefined;\r\n data[\"dateSpecifier\"] = this.dateSpecifier;\r\n data[\"address\"] = this.address ? this.address.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IValidateTimingsModel {\r\n stopId?: string | undefined;\r\n date?: Date;\r\n dateSpecifier?: string | undefined;\r\n address?: AddressModel;\r\n}\r\n\r\nexport class SwaggerException extends Error {\r\n message: string;\r\n status: number;\r\n response: string;\r\n headers: { [key: string]: any; };\r\n result: any;\r\n\r\n constructor(message: string, status: number, response: string, headers: { [key: string]: any; }, result: any) {\r\n super();\r\n\r\n this.message = message;\r\n this.status = status;\r\n this.response = response;\r\n this.headers = headers;\r\n this.result = result;\r\n }\r\n\r\n protected isSwaggerException = true;\r\n\r\n static isSwaggerException(obj: any): obj is SwaggerException {\r\n return obj.isSwaggerException === true;\r\n }\r\n}\r\n\r\nfunction throwException(message: string, status: number, response: string, headers: { [key: string]: any; }, result?: any): any {\r\n if (result !== null && result !== undefined)\r\n throw result;\r\n else\r\n throw new SwaggerException(message, status, response, headers, null);\r\n}\r\n\r\nfunction isAxiosError(obj: any | undefined): obj is AxiosError {\r\n return obj && obj.isAxiosError === true;\r\n}","import axios, { AxiosInstance, AxiosRequestConfig } from 'axios';\r\nimport { LanguageStore } from '../infrastructure/LanguageStore';\r\nimport { ApiUrl } from '../keys';\r\n\r\nexport function useClient(type: new (baseUrl?: string, instance?: AxiosInstance) => T): T {\r\n\tlet inst = axios.create();\r\n\tinst.interceptors.request.use(languageInterceptor, error => Promise.reject(error));\r\n\treturn new type(ApiUrl, inst);\r\n}\r\n\r\nfunction languageInterceptor(config: AxiosRequestConfig): AxiosRequestConfig {\r\n\tconst language = LanguageStore.get();\r\n\tif (language) {\r\n\t\tconfig.headers.Language = language;\r\n\t}\r\n\treturn config;\r\n}\r\n","const DevApiUrl = 'https://localhost:44396';\r\nexport const ApiUrl = process.env.NODE_ENV === `development` ? DevApiUrl : ''; //will be served from same domain!\r\n","import { useContext } from \"react\";\r\nimport { LocalizationContext } from \"../context/LocalizationContext\";\r\nimport { IStrings } from \"../localization/IStrings\";\r\n\r\nexport interface IStringsWithFormat extends IStrings {\r\n formatString: (key: keyof IStrings, ...val: Array) => string;\r\n}\r\n\r\nexport function useLocalizationContext(): IStringsWithFormat {\r\n const context = useContext(LocalizationContext);\r\n return {...context.strings, formatString: context.formatString};\r\n}","export const LandingPageRoute = '/';\r\nexport const TransportRoute = '/:id';\r\nexport const calculateNewRoute = (id: string) => '/' + id;","import { useContext, useEffect } from 'react';\r\nimport { RouterContext } from '../../context/RouterContext';\r\nimport { TransportClient } from '../../gen/ApiClients';\r\nimport { useClient } from '../../hooks/useClient';\r\nimport { useLocalizationContext } from '../../hooks/useLocalizationContext';\r\nimport { tryCatchWithLoading } from '../../infrastructure/Utils';\r\nimport { calculateNewRoute } from '../../routes';\r\nimport './LandingPage.scss';\r\nimport React from 'react';\r\n\r\nexport const LandingPage = () => {\r\n\t// const context = useContext(TransportContext);\r\n\tconst client = useClient(TransportClient);\r\n\tconst locContext = useLocalizationContext();\r\n\tconst routerContext = useContext(RouterContext);\r\n\r\n\tuseEffect(\r\n\t\t() => {\r\n\t\t\t// context.createNew();\r\n\t\t\tconst createNew = async () => {\r\n\t\t\t\tconst id = await tryCatchWithLoading(client.create(), () => {}, locContext.serverError);\r\n\t\t\t\trouterContext.navigate(calculateNewRoute(id));\r\n\t\t\t};\r\n\r\n\t\t\tcreateNew();\r\n\t\t},\r\n\t\t// eslint-disable-next-line\r\n\t\t[]\r\n\t);\r\n\r\n\treturn
;\r\n};\r\n","interface IProps{\r\n className?: string;\r\n}\r\n\r\nexport function useCombineClassNames(className: string, props: IProps | undefined) : string {\r\n if (props && props.className){\r\n return `${className} ${props.className}`;\r\n }\r\n return className;\r\n}","import React from 'react';\r\nimport { useCombineClassNames } from '../../../hooks/useCombineClassNames';\r\nimport './TextLinkButton.scss';\r\n\r\ninterface IProps extends React.DetailedHTMLProps, HTMLButtonElement> {\r\n underline?: boolean;\r\n gray?: boolean;\r\n small?: boolean;\r\n extraSmall?: boolean;\r\n}\r\n\r\nexport const TextLinkButton = ({ children, underline = false, gray = false, small = false, extraSmall = false, ...rest }: IProps) => {\r\n const className = useCombineClassNames(`text-link-button${gray ? ' tlb-gray' : ''}${underline ? ' tlb-underline' : ''}${small ? ' tlb-small' : ''}${extraSmall ? ' tlb-extra-small' : ''}`, rest);\r\n return (\r\n // type=\"button\" before {...rest} -> so can override this behaviour\r\n \r\n );\r\n}","import React from 'react';\r\nimport { Loader } from 'semantic-ui-react';\r\nimport { useCombineClassNames } from '../../../hooks/useCombineClassNames';\r\nimport './PrimaryButton.scss';\r\n\r\ninterface IProps extends React.DetailedHTMLProps, HTMLButtonElement>{\r\n outline?: boolean;\r\n small?: boolean;\r\n noStretch?: boolean;\r\n rectanglePadding?: boolean;\r\n showLoader?: boolean;\r\n}\r\n\r\nexport const PrimaryButton = ({ children, outline = false, small = false, noStretch = false, rectanglePadding = false, showLoader = false, ...rest }: IProps) => {\r\n const className = useCombineClassNames(`primary-button${outline ? ' outline' : ''}${small ? ' small' : ''}${noStretch ? '' : ' stretch'}${rectanglePadding ? ' rectangle-padding' : ''}`, rest);\r\n return (\r\n // type=\"button\" before {...rest} -> so can override this behaviour\r\n \r\n );\r\n}","import React, { useState } from 'react';\r\nimport { useCombineClassNames } from '../../../hooks/useCombineClassNames';\r\nimport { TextLinkButton } from '../buttons/TextLinkButton';\r\nimport { PrimaryButton } from '../buttons/PrimaryButton';\r\nimport { useLocalizationContext } from '../../../hooks/useLocalizationContext';\r\nimport './BaseConfirmation.scss';\r\nimport { Responsive } from 'semantic-ui-react';\r\n\r\ninterface IProps extends React.HTMLProps {\r\n title: string | undefined;\r\n description: string | JSX.Element | undefined;\r\n confirmText?: string;\r\n cancelText?: string;\r\n confirm: () => void | Promise;\r\n cancel: () => void;\r\n}\r\n\r\nexport const BaseConfirmation = ({ title, description, confirmText, cancelText, confirm, cancel, ...rest }: IProps) => {\r\n const [isSubmitting, setIsSubmitting] = useState(false);\r\n const locContext = useLocalizationContext();\r\n confirmText = confirmText ? confirmText : locContext.yes;\r\n cancelText = cancelText ? cancelText : locContext.no;\r\n\r\n const submit = async () => {\r\n setIsSubmitting(true);\r\n await confirm();\r\n setIsSubmitting(false);\r\n }\r\n\r\n return (\r\n
\r\n
\r\n
\r\n {title}\r\n
\r\n
\r\n {description}\r\n
\r\n
\r\n \r\n
\r\n
\r\n cancel()}>{cancelText}\r\n submit()}>{confirmText}\r\n
\r\n
\r\n
\r\n \r\n
\r\n confirm()}>{confirmText}\r\n cancel()}>{cancelText}\r\n
\r\n
\r\n
\r\n );\r\n}","import React from 'react';\r\nimport loader from './loader.gif';\r\n\r\nexport const Loader = () => {\r\n var divStyle: React.CSSProperties = {\r\n maxHeight: `100px`,\r\n maxWidth: `100px`,\r\n marginTop: '10px',\r\n marginBottom: '10px',\r\n }\r\n return (\r\n \"loading...\"\r\n );\r\n}\r\n\r\n","import React from 'react';\r\nimport { useCombineClassNames } from '../../../hooks/useCombineClassNames';\r\n\r\ninterface IProps extends React.HTMLProps {\r\n}\r\n\r\nexport const CenterEveryting = ({ children, ...rest }: IProps) => {\r\n return (\r\n
\r\n
\r\n {children}\r\n
\r\n
\r\n );\r\n}","import React from 'react';\r\nimport { Loader } from './Loader';\r\nimport { CenterEveryting } from './CenterEverything';\r\nimport './FullScreenLoader.scss';\r\n\r\ninterface IProps {\r\n dim?: boolean;\r\n}\r\n\r\nexport const FullScreenLoader = ({ dim = false }: IProps) => {\r\n return (\r\n \r\n \r\n \r\n );\r\n}","import React, { useState, useContext, useEffect } from 'react';\r\nimport { empty, tryCatchWithLoading } from '../infrastructure/Utils';\r\nimport { useClient } from '../hooks/useClient';\r\nimport { RouterContext } from './RouterContext';\r\nimport { useLocalizationContext } from '../hooks/useLocalizationContext';\r\nimport { ModalContext } from './ModalContext';\r\nimport { BaseConfirmation } from '../components/common/modal/BaseConfirmation';\r\nimport { IStopModel, ITransportFlow, ICalculateResult, TransportClient, StopModel } from '../gen/ApiClients';\r\nimport * as routes from '../routes';\r\nimport { FullScreenLoader } from '../components/common/loaders/FullScreenLoader';\r\n\r\ninterface IProps {\r\n\tstep: number;\r\n\tprogress: number;\r\n\tsubStep: number;\r\n\tnextSubstep: () => void;\r\n\tpreviousSubStep: () => void;\r\n\tsetFirstStop: (model: IStopModel) => void;\r\n\taddExtraStop: (model: IStopModel) => void;\r\n\teditExtraStop: (stopId: string, model: IStopModel) => void;\r\n\tdeleteExtraStop: (stopId: string) => void;\r\n\tgotoStep2: () => void;\r\n\tsetLastStop: (model: IStopModel) => void;\r\n\tcalculate: () => void;\r\n\tonMountOrRefresh: (id: string) => void;\r\n\tgoBackToStep: (step: number) => void;\r\n\tgoBackToStartOfStep: (step: number) => void;\r\n\tstate: ITransportFlow;\r\n\tcalculatedResult: ICalculateResult | undefined;\r\n\tcancel: () => void;\r\n\t// createNew: () => void;\r\n\tisSubmitting: boolean;\r\n}\r\n\r\nconst fallback: IProps = {\r\n\tstep: 0,\r\n\tprogress: 0,\r\n\tsubStep: 0,\r\n\tnextSubstep: empty,\r\n\tpreviousSubStep: empty,\r\n\tsetFirstStop: empty,\r\n\taddExtraStop: empty,\r\n\teditExtraStop: empty,\r\n\tdeleteExtraStop: empty,\r\n\tgotoStep2: empty,\r\n\tsetLastStop: empty,\r\n\tcalculate: empty,\r\n\tonMountOrRefresh: empty,\r\n\tgoBackToStep: empty,\r\n\tgoBackToStartOfStep: empty,\r\n\tstate: {},\r\n\tcalculatedResult: {},\r\n\tcancel: empty,\r\n\t// createNew: empty,\r\n\tisSubmitting: false,\r\n};\r\n\r\nexport const TransportContext = React.createContext(fallback);\r\n\r\nconst mapSubSteps = new Map([\r\n\t[1, 2],\r\n\t[2, 1],\r\n\t[3, 0],\r\n\t[4, 0],\r\n]);\r\n\r\nexport const TransportProvider = ({ children }: any) => {\r\n\tconst [isLoading, localSetIsLoading] = useState(false);\r\n\tconst [isSubmitting, setIsSubmitting] = useState(false);\r\n\tconst [step, setStep] = useState(0);\r\n\tconst [subStep, setSubStep] = useState(0);\r\n\tconst [progress, setProgress] = useState(0);\r\n\tconst [id, setId] = useState('');\r\n\tconst [state, setState] = useState({});\r\n\tconst [calculateResult, setCalculateResult] = useState(undefined);\r\n\r\n\tconst client = useClient(TransportClient);\r\n\tconst routerContext = useContext(RouterContext);\r\n\tconst modalContext = useContext(ModalContext);\r\n\tconst locContext = useLocalizationContext();\r\n\r\n\t// eslint-disable-next-line\r\n\thistory.pushState(null, '', location.href);\r\n\twindow.onpopstate = () => {\r\n\t\t// eslint-disable-next-line\r\n\t\thistory.go(1);\r\n\t};\r\n\r\n\tlet timer: NodeJS.Timeout;\r\n\tconst setIsLoading = (isLoading: boolean) => {\r\n\t\tif (isLoading) {\r\n\t\t\tsetIsSubmitting(true);\r\n\t\t\ttimer = setTimeout(() => {\r\n\t\t\t\tlocalSetIsLoading(true);\r\n\t\t\t}, 1000);\r\n\t\t} else {\r\n\t\t\tclearTimeout(timer);\r\n\t\t\tlocalSetIsLoading(false);\r\n\t\t\tsetIsSubmitting(false);\r\n\t\t}\r\n\t};\r\n\r\n\tuseEffect(() => {\r\n\t\tconst x = mapSubSteps.get(step);\r\n\t\tif (x !== undefined) {\r\n\t\t\tif (x === 0) {\r\n\t\t\t\tsetProgress(0);\r\n\t\t\t} else {\r\n\t\t\t\tsetProgress((subStep / x) * 100);\r\n\t\t\t}\r\n\t\t}\r\n\t}, [subStep, step]);\r\n\r\n\tconst onNextSubstep = () => {\r\n\t\tsetSubStep(subStep + 1);\r\n\t};\r\n\r\n\tconst onPreviousSubstep = () => {\r\n\t\tsetSubStep(subStep - 1);\r\n\t};\r\n\r\n\tconst loadState = async () => {\r\n\t\tsetState(await tryCatchWithLoading(client.get(id), setIsLoading, locContext.serverError)); //500 error\r\n\t};\r\n\r\n\tconst onSetFirstStop = async (model: IStopModel) => {\r\n\t\tawait tryCatchWithLoading(client.addFirstStop(id, new StopModel(model)), setIsLoading, locContext.serverError);\r\n\t\tawait loadState();\r\n\t};\r\n\r\n\tconst onAddExtraStop = async (model: IStopModel) => {\r\n\t\tawait tryCatchWithLoading(client.addExtraStop(id, new StopModel(model)), setIsLoading, locContext.serverError);\r\n\t\tawait loadState();\r\n\t};\r\n\r\n\tconst onEditExtraStop = async (stopId: string, model: IStopModel) => {\r\n\t\tawait tryCatchWithLoading(client.editStop(id, stopId, new StopModel(model)), setIsLoading, locContext.serverError);\r\n\t\tawait loadState();\r\n\t};\r\n\r\n\tconst onDeleteExtraStop = async (stopId: string) => {\r\n\t\tawait tryCatchWithLoading(client.deleteStop(id, stopId), setIsLoading, locContext.serverError);\r\n\t\tawait loadState();\r\n\t};\r\n\r\n\tconst onGotoStep2 = () => {\r\n\t\tsetStep(2);\r\n\t\tsetSubStep(0);\r\n\t};\r\n\r\n\tconst onSetLastStop = async (model: IStopModel) => {\r\n\t\tawait tryCatchWithLoading(client.addLastStop(id, new StopModel(model)), setIsLoading, locContext.serverError);\r\n\t\tawait loadState();\r\n\t\tsetStep(3);\r\n\t\tsetSubStep(0);\r\n\t};\r\n\r\n\tconst onCalculate = async () => {\r\n\t\tsetCalculateResult(undefined);\r\n\t\tconst result = await tryCatchWithLoading(client.calculate(id), setIsLoading, locContext.serverError);\r\n\t\tsetCalculateResult(result);\r\n\t\tawait loadState();\r\n\t\tsetStep(4);\r\n\t\tsetSubStep(0);\r\n\t};\r\n\r\n\tconst onGoBackToStep = (step: number) => {\r\n\t\tsetStep(step);\r\n\t\tconst x = mapSubSteps.get(step);\r\n\t\tsetSubStep(x ? x : 0);\r\n\t};\r\n\tconst onGoBackToStartOfStep = (step: number) => {\r\n\t\tsetStep(step);\r\n\t\tsetSubStep(0);\r\n\t};\r\n\r\n\tconst onCancel = () => {\r\n\t\tif (step < 4) {\r\n\t\t\tmodalContext.open(\r\n\t\t\t\t modalContext.close()}\r\n\t\t\t\t\tcancel={() => {\r\n\t\t\t\t\t\tmodalContext.close();\r\n\t\t\t\t\t\trouterContext.navigate(routes.LandingPageRoute);\r\n\t\t\t\t\t}}\r\n\t\t\t\t/>,\r\n\t\t\t\tfalse\r\n\t\t\t);\r\n\t\t} else {\r\n\t\t\trouterContext.navigate(routes.LandingPageRoute);\r\n\t\t}\r\n\t};\r\n\r\n\tconst onMountOrRefresh = async (id: string) => {\r\n\t\t// happens always, but also in case of browser refresh\r\n\t\t// if (!paramsId) {\r\n\t\t// console.log('no id provided');\r\n\t\t// return;\r\n\t\t// }\r\n\t\t// setId(paramsId);\r\n\t\t// if (id !== paramsId) {\r\n\r\n\t\t// }\r\n\t\tsetId(id);\r\n\t\tconst x = await tryCatchWithLoading(client.get(id), setIsLoading, locContext.serverError);\r\n\t\tsetState(x);\r\n\t\tif (x.lastStop) {\r\n\t\t\tsetStep(3);\r\n\t\t} else if (x.extraStops && x.extraStops.length > 0) {\r\n\t\t\tsetStep(2);\r\n\t\t\tconst x = mapSubSteps.get(2);\r\n\t\t\tsetSubStep(x ? x : 0);\r\n\t\t} else if (x.firstStop) {\r\n\t\t\tsetStep(2);\r\n\t\t\tsetSubStep(0);\r\n\t\t} else {\r\n\t\t\tsetStep(1);\r\n\t\t}\r\n\t};\r\n\r\n\t// const onCreateNew = async () => {\r\n\t// const id = await tryCatchWithLoading(client.create(), setIsLoading, locContext.serverError);\r\n\t// setId(id);\r\n\t// routerContext.navigate(routes.calculateNewRoute(id));\r\n\t// setState({});\r\n\t// setStep(1);\r\n\t// setSubStep(0);\r\n\t// }\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
\r\n\t\t\t\t{isLoading ? : null}\r\n\t\t\t\t{children}\r\n\t\t\t
\r\n\t\t\r\n\t);\r\n};\r\n","var _style, _g, _g2, _g3, _g4;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgLogo = function SvgLogo(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Calque_1\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 566.93 566.93\",\n style: {\n enableBackground: \"new 0 0 566.93 566.93\"\n },\n xmlSpace: \"preserve\",\n width: 60,\n height: 60,\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _style || (_style = /*#__PURE__*/React.createElement(\"style\", {\n type: \"text/css\"\n }, \"\\r\\n\\t.st0{fill:#E4191F;}\\r\\n\\t.st1{fill:#FFFFFF;}\\r\\n\\t.st2{fill:#E5261B;}\\r\\n\")), _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"rect\", {\n x: 0.04,\n y: -0.42,\n className: \"st0\",\n width: 566.93,\n height: 567.84\n }))), _g2 || (_g2 = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"polygon\", {\n className: \"st1\",\n points: \"71.31,439.09 86.74,439.09 86.74,430.64 71.31,430.64 71.31,415.24 88.26,415.24 88.26,405.28 59.25,405.28 59.25,464.6 88.61,464.6 88.61,456.56 71.31,456.56 \"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M117.36,456.77c-0.74,0.11-1.58,0.21-2.53,0.3c-0.95,0.09-1.84,0.13-2.68,0.13c-2.74,0-4.6-0.91-5.6-2.74 c-1-1.83-1.5-4.79-1.5-8.9v-26.72H93.3v25.82c0,3.08,0.29,5.91,0.87,8.48c0.58,2.57,1.55,4.78,2.92,6.63 c1.37,1.86,3.22,3.3,5.56,4.32c2.34,1.03,5.27,1.54,8.8,1.54c3.47,0,6.79-0.27,9.94-0.81c3.16-0.54,5.73-1.13,7.73-1.76v-44.23 h-11.75V456.77z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M156.32,418.26c-0.73-0.2-1.47-0.37-2.2-0.51c-0.73-0.14-1.47-0.26-2.2-0.34c-0.73-0.09-2.06-0.15-2.57-0.15 c-2.89,0-5.02,0.65-7.37,1.36c-2.35,0.71-4.39,1.47-6.11,2.27v43.71h10.48v-39.16c0.43-0.17,0.22-0.33,1.07-0.47 c0.84-0.14,1.56-0.21,2.17-0.21c1.34,0,2.59,0.16,3.75,0.47c1.16,0.31,2.18,0.61,3.04,0.9l1.82-7.13 C157.68,418.71,157.05,418.46,156.32,418.26z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M317.44,417.75c-0.73-0.14-1.46-0.26-2.2-0.34c-0.73-0.09-2.06-0.15-2.57-0.15c-2.89,0-5.02,0.65-7.37,1.36 c-2.35,0.71-4.39,1.47-6.11,2.27v43.71h10.48v-39.16c0.43-0.17,0.22-0.33,1.07-0.47c0.84-0.14,1.56-0.21,2.17-0.21 c1.34,0,2.59,0.16,3.75,0.47c1.16,0.31,2.18,0.61,3.04,0.9l1.82-7.13c-0.52-0.29-1.14-0.53-1.88-0.73 C318.91,418.06,318.18,417.89,317.44,417.75z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M469.39,417.75c-0.73-0.14-1.47-0.26-2.2-0.34c-0.73-0.09-2.06-0.15-2.57-0.15c-2.89,0-5.02,0.65-7.37,1.36 c-2.35,0.71-4.39,1.47-6.11,2.27v43.71h10.48v-39.16c0.43-0.17,0.22-0.33,1.07-0.47c0.84-0.14,1.56-0.21,2.17-0.21 c1.34,0,2.59,0.16,3.75,0.47c1.16,0.31,2.18,0.61,3.04,0.9l1.82-7.13c-0.52-0.29-1.14-0.53-1.88-0.73 C470.85,418.06,470.12,417.89,469.39,417.75z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M190.71,424.2c-1.72-2.09-3.78-3.71-6.18-4.87c-2.4-1.16-5.04-1.74-7.92-1.74c-2.83,0-5.45,0.58-7.85,1.74 c-2.4,1.16-4.47,2.78-6.22,4.87c-1.74,2.09-3.11,4.61-4.09,7.57c-0.99,2.96-1.48,6.24-1.48,9.83c0,3.6,0.48,6.89,1.44,9.88 c0.96,2.99,2.3,5.54,4.02,7.66c1.72,2.12,3.78,3.76,6.18,4.92c2.4,1.16,5.06,1.74,8,1.74c2.98,0,5.67-0.58,8.07-1.74 c2.4-1.16,4.46-2.8,6.18-4.92c1.72-2.12,3.03-4.67,3.94-7.66c0.91-2.99,1.36-6.28,1.36-9.88c0-3.6-0.48-6.88-1.44-9.83 C193.76,428.81,192.42,426.29,190.71,424.2z M182.56,452.66c-1.39,2.86-3.37,4.29-5.95,4.29c-2.58,0-4.57-1.43-5.99-4.29 c-1.41-2.86-2.12-6.73-2.12-11.6c0-4.87,0.71-8.7,2.12-11.49c1.41-2.79,3.41-4.18,5.99-4.18c2.58,0,4.56,1.4,5.95,4.18 c1.39,2.79,2.08,6.62,2.08,11.49C184.64,445.94,183.95,449.8,182.56,452.66z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M289.25,423.93c-1.81-2.11-4.03-3.74-6.66-4.9c-2.63-1.16-5.63-1.74-8.99-1.74c-1.39,0-2.85,0.08-4.38,0.22 c-1.52,0.15-3.02,0.34-4.49,0.58c-1.47,0.24-2.88,0.52-4.22,0.85c-1.34,0.33-2.53,0.67-3.56,1.02v61.72h11.54v-17.64 c22.3,6.25,26.33-18.64,26.33-22.26c0-3.74-0.48-7.13-1.43-10.15C292.44,428.61,291.06,426.04,289.25,423.93z M274.85,458.01 c-1.18,0.16-6.35-0.42-6.35-0.42v-31.56c0.57-0.15,1.29-0.28,2.17-0.39c0.88-0.11,1.83-0.17,2.87-0.17c3.15,0,5.52,1.53,7.12,4.58 c1.6,3.05,2.4,7.11,2.4,12.18C283.06,452.76,279.33,457.39,274.85,458.01z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M330.53,412.72c1.61,0,3.01-0.57,4.19-1.71c1.18-1.14,1.78-2.7,1.78-4.68c0-1.98-0.59-3.54-1.78-4.68 c-1.18-1.14-2.58-1.7-4.19-1.7c-1.61,0-3.01,0.57-4.19,1.7c-1.18,1.14-1.78,2.7-1.78,4.68c0,1.99,0.59,3.55,1.78,4.68 C327.52,412.15,328.92,412.72,330.53,412.72z\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 324.89,\n y: 418.71,\n className: \"st1\",\n width: 11.78,\n height: 45.89\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M375.55,423.83c-1.38-1.83-3.26-3.24-5.62-4.24c-2.36-1-5.57-1.05-9.13-1.05c-3.51,0-6.86,0.27-10.05,0.81 c-3.19,0.54-5.79,1.13-7.81,1.75v43.49h11.88v-38.43c0.74-0.11,1.59-0.21,2.55-0.3c0.96-0.09,1.86-0.13,2.71-0.13 c2.77,0,4.65,0.86,5.67,2.57c1.01,1.71,1.51,4.62,1.51,8.73v27.56h11.88v-25.42c0-3.08-0.05-6.33-0.63-8.84 C377.92,427.83,376.93,425.66,375.55,423.83z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M208.78,429.46c-3.28,0-5.94,2.61-5.94,5.84c0,3.22,2.66,5.83,5.94,5.83c3.28,0,5.94-2.61,5.94-5.83 C214.72,432.08,212.06,429.46,208.78,429.46z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M242.44,432.38c-10.21-6.05-13.76-9.38-12.09-15.43c1.67-6.04,10.42-5,16.67-0.62l2.29-7.29 c-8.13-7.71-23.96-5.36-29.18,5.42c-6.25,12.92,3.54,21.26,14.38,27.1c10.84,5.84,3.33,14.8-1.67,15.01 c-5,0.21-12.51-3.13-12.51-3.13l-2.5,9.59c6.04,2.5,21.26,6.25,28.97-3.75C254.53,449.26,252.65,438.43,242.44,432.38z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M402.54,456.98c-2.16,0-2.67-0.8-3.38-2.4c-0.71-1.6-1.07-3.74-1.07-6.42v-22.62h8.75v-7.01h-8.75v-12.23 l-10.56,2.06v10.17h-4.63v7.01h4.63v20.65c0,2.91,0.2,5.56,0.61,7.96c0.41,2.4,1.13,4.44,2.17,6.12c1.03,1.69,2.41,3,4.14,3.94 c1.72,0.94,3.9,1.41,6.53,1.41c2.07,0,4.59-0.55,6.01-1.01l-0.31-8.15C405.59,456.72,403.58,456.98,402.54,456.98z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M424.24,416.93c-17.98,3.71-17.41,26.25-14.55,35.1c2.86,8.85,12.27,18.26,35.38,9.99l-3.14-7.13 c0,0-20.54,9.7-22.83-9.99l27.39-3.42C446.78,428.05,441.34,413.4,424.24,416.93z M418.53,438.9c0-1.71-1.43-12.27,7.13-13.98 c8.56-1.71,10.84,5.99,10.84,11.41L418.53,438.9z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M497,440.61c-7.13-4.85-12.84-7.99-10.27-13.41c2.57-5.42,8.84-2,11.98,0l3.42-5.99 c-3.42-4.57-15.12-5.99-20.83-2.57c-5.71,3.42-9.9,19.41,1.43,24.54c11.99,5.42,11.41,12.84,5.71,13.41c-5.71,0.57-12.84-2-12.84-2 l-2,6.28c5.14,4.57,15.69,7.13,23.97,0.86C505.85,455.45,504.13,445.46,497,440.61z\"\n }))), _g3 || (_g3 = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"polygon\", {\n className: \"st1\",\n points: \"179.98,346.11 202.53,353.24 177.13,387.48 \"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n className: \"st1\",\n points: \"189.94,340.17 196.86,317.82 205.7,320.46 198.78,342.81 \"\n }), /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M313.15,222.1c0.71-4.02,1.09-8.14,1.09-12.36c0-3.91-0.33-7.75-0.94-11.49l-6.41,0.43 c-0.55-3.33-1.36-6.57-2.4-9.71l5.71-2.87c-2.93-8.29-7.35-15.87-12.94-22.42l-5.09,3.56c-2.19-2.55-4.58-4.92-7.14-7.1l3.3-5.26 c-6.26-5.15-13.42-9.24-21.2-12.02l-2.6,5.54c-3.16-1.1-6.42-1.95-9.78-2.55l0.24-6.13c-3.82-0.64-7.74-0.98-11.74-0.98 c-3.89,0-7.7,0.32-11.41,0.93l0.4,6.14c-3.35,0.58-6.62,1.43-9.77,2.51l-2.78-5.55c-8.07,2.84-15.47,7.08-21.9,12.45l3.56,5.21 c-2.53,2.18-4.9,4.55-7.07,7.1l-5.37-3.46c-5.25,6.25-9.46,13.4-12.33,21.21l5.9,2.83c-1.08,3.1-1.92,6.31-2.52,9.6l-6.62-0.32 c-0.71,4.02-1.09,8.14-1.09,12.36c0,3.91,0.33,7.75,0.94,11.49l6.77-0.45c0.59,3.26,1.42,6.44,2.48,9.51l-6.14,3.09 c2.93,8.29,7.35,15.87,12.94,22.42l5.73-4c2.15,2.44,4.48,4.72,6.97,6.82l-3.76,5.98c6.26,5.15,13.42,9.24,21.2,12.02l3.02-6.42 c3.04,1.05,6.18,1.87,9.4,2.45l-0.28,7.12c3.82,0.64,7.74,0.98,11.74,0.98c3.89,0,7.7-0.32,11.41-0.93l-0.46-7.05 c3.24-0.55,6.4-1.34,9.45-2.36l3.16,6.31c8.06-2.84,15.46-7.08,21.9-12.45l-3.9-5.71c2.5-2.11,4.84-4.41,7-6.87l5.78,3.72 c5.25-6.24,9.46-13.4,12.33-21.2l-6.02-2.89c1.12-3.08,2.01-6.27,2.65-9.54L313.15,222.1z\"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n className: \"st1\",\n points: \"120.7,297.86 53.56,280.09 120.7,261.76 \"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n className: \"st1\",\n points: \"447,108.82 513.41,127.94 447,145 \"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n className: \"st1\",\n points: \"307.25,72.87 286.7,66.02 310.39,32.63 \"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n className: \"st1\",\n points: \"134.33,175.02 142.89,154.76 100.66,149.05 \"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n className: \"st1\",\n points: \"346.91,263.76 388,270.32 356.04,244.07 \"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n className: \"st1\",\n points: \"165.89,181.49 144.05,173.09 147.28,164.44 169.12,172.84 \"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n className: \"st1\",\n points: \"342.24,254.68 320.4,246.28 323.62,237.63 345.46,246.03 \"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n className: \"st1\",\n points: \"200.78,308.33 207.7,285.98 216.55,288.62 209.63,310.97 \"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n className: \"st1\",\n points: \"281.88,99.07 288.79,76.72 297.64,79.36 290.72,101.71 \"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n className: \"st1\",\n points: \"271.03,131.89 277.95,109.53 286.79,112.17 279.88,134.53 \"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M315.22,140.27l6.38,11.25c4.46-1.97,8.79-3.67,12.88-5.09l-3.87-11.94 C325.06,136.34,319.95,138.27,315.22,140.27z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M292.09,152.32l6.44,11.36c4.19-2.6,8.42-4.99,12.62-7.16l-6.45-11.38 C300.09,147.48,295.92,149.88,292.09,152.32z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M346.48,129.79c-1.64,0.43-3.24,0.87-4.81,1.31l3.88,11.98c0.03-0.01,0.06-0.01,0.08-0.02 c4.21-1.05,8.94-2.01,14.01-2.88l-2.31-12.85C353.63,128.06,350,128.88,346.48,129.79z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M157.77,271.53l1.7,13.45c5.38-0.71,11.2-1.81,17.06-3.46l-4.84-12.97 C166.92,269.89,162.25,270.85,157.77,271.53z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M435.08,120.8c0,0-5.05-0.08-13.15,0.11l1.23,13.36c4.25-0.13,8.26-0.2,11.92-0.2V120.8z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M395.28,122.28l1.24,13.48c5.11-0.41,10.18-0.74,15.08-1l-1.24-13.43 C405.73,121.55,400.65,121.86,395.28,122.28z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M368.7,125.32l2.36,13.12c4.54-0.61,9.23-1.16,13.96-1.64l-1.24-13.45 C378.82,123.9,373.75,124.54,368.7,125.32z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M133.33,273.18l-0.43,12.84c0,0,6.06,0.49,15.05,0.02l-1.68-13.26C141.58,273.1,137.22,273.18,133.33,273.18z \"\n }), /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M182.64,264.84l4.82,12.9c3.15-1.32,6.25-2.82,9.22-4.57c1.9-1.03,3.72-2.13,5.49-3.27l-8.03-10.61 C190.31,261.46,186.46,263.3,182.64,264.84z\"\n })), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st2\",\n d: \"M270.73,169.09l7.66,9.33c2.91-2.52,5.93-4.94,9.02-7.22l-8-9.74C276.28,164,273.41,166.55,270.73,169.09z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st2\",\n d: \"M252.39,189l9.04,7.52c2.27-3.08,4.74-6.05,7.38-8.89l-9.02-7.51C257.35,182.7,254.88,185.71,252.39,189z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st2\",\n d: \"M236.9,211.58l10.05,6.67c2.05-3.23,4.13-6.47,6.25-9.72l-9.93-6.59 C241.16,205.08,239.03,208.32,236.9,211.58z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st2\",\n d: \"M221.72,233.85l10.27,6.82c2.26-3.09,4.45-6.26,6.6-9.49l-10.2-6.77 C226.18,227.66,223.96,230.83,221.72,233.85z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st2\",\n d: \"M204.72,252.37l8.7,9.09c2.92-2.56,5.65-5.27,8.25-8.1l-8.53-8.91C210.34,247.54,207.53,250.22,204.72,252.37 z\"\n })))), _g4 || (_g4 = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M439.95,520.54c0,2.6-0.89,3.7-2.94,3.7c-1.99,0-2.95-1.09-2.95-3.7v-10.13H429l0.03,10.47 c0,4.86,1.95,7.16,5.99,7.16c1.81,0,3.83-0.72,4.93-2.12v1.95h5.06v-17.46h-5.06V520.54z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M302.12,510.24c-1.75,0-4.14,0.55-5.61,2.5v-8.02h-5.31v23.15h5.31v-2.33c1.47,1.95,3.87,2.5,5.61,2.5 c4.31,0,7.7-3.01,7.7-8.9C309.82,513.59,306.43,510.24,302.12,510.24 M300.51,523.86c-2.57,0-4-1.98-4-4.72 c0-2.77,1.44-4.73,4-4.73c2.57,0,4,1.95,4,4.73C304.51,521.87,303.07,523.86,300.51,523.86\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M322.29,510.24c-1.75,0-4.14,0.55-5.61,2.5v-2.33h-5.3v23.14h5.3v-8.01c1.47,1.95,3.87,2.5,5.61,2.5 c4.31,0,7.7-3.36,7.7-8.9C329.99,513.25,326.6,510.24,322.29,510.24 M320.68,523.86c-2.57,0-4-1.95-4-4.72c0-2.74,1.44-4.73,4-4.73 c2.57,0,4.01,1.99,4.01,4.73C324.69,521.91,323.25,523.86,320.68,523.86\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M112.08,510.24c-1.75,0-4.14,0.55-5.61,2.5v-2.33h-5.31v23.14h5.31v-8.01c1.47,1.95,3.87,2.5,5.61,2.5 c4.31,0,7.7-3.36,7.7-8.9C119.78,513.25,116.39,510.24,112.08,510.24 M110.47,523.86c-2.57,0-4.01-1.95-4.01-4.72 c0-2.74,1.44-4.73,4.01-4.73c2.57,0,4,1.99,4,4.73C114.47,521.91,113.04,523.86,110.47,523.86\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M340.28,510.24c-4.86,0-9.14,3.22-9.14,8.93c0,5.72,4.28,8.86,9.14,8.86c4.86,0,9.14-3.15,9.14-8.86 C349.41,513.45,345.14,510.24,340.28,510.24 M340.28,523.86c-2.57,0-3.83-1.95-3.83-4.69c0-2.77,1.27-4.76,3.83-4.76 c2.57,0,3.83,1.98,3.83,4.76C344.11,521.91,342.84,523.86,340.28,523.86\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M130.39,510.24c-4.86,0-9.14,3.22-9.14,8.93c0,5.72,4.28,8.86,9.14,8.86c4.86,0,9.14-3.15,9.14-8.86 C139.53,513.45,135.25,510.24,130.39,510.24 M130.39,523.86c-2.57,0-3.84-1.95-3.84-4.69c0-2.77,1.27-4.76,3.84-4.76 c2.57,0,3.83,1.98,3.83,4.76C134.22,521.91,132.95,523.86,130.39,523.86\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M357.04,514.41c1.37,0,2.6,0.72,3.49,1.64l2.98-2.98c-1.68-1.98-4.52-2.84-6.91-2.84 c-2.43,0-6.37,1.13-6.37,4.79c0,2.09,1.34,3.42,4.31,4.9c2.29,1.13,3.53,1.74,3.53,2.84c0,0.72-0.55,1.1-1.61,1.1 c-1.13,0-2.81-0.69-4.21-2.12l-3.08,3.08c1.85,2.09,5.1,3.22,7.74,3.22c3.62,0,6.47-1.75,6.47-4.96c0-2.46-1.81-3.9-4.55-5.13 c-2.74-1.27-3.29-1.68-3.29-2.5C355.53,514.72,356.42,514.41,357.04,514.41\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M389.51,512.73c-1.47-1.95-3.87-2.5-5.61-2.5c-4.31,0-7.7,3.01-7.7,8.9c0,1.16,0.18,2.21,0.45,3.17 c-0.27,0.41-0.93,1.21-1.99,1.57c-0.17,0.05-0.33,0.1-0.49,0.13c-0.11,0.02-0.23,0.03-0.36,0.04c-1.52,0.13-2.28-0.96-2.28-3.17 v-6.3h3.32v-4.17h-3.32v-4.45l-5.3,1.49v2.96h-1.88v4.17h1.88v6.67c0,2.5,0.47,4.19,1.34,5.26v0c0.01,0.01,1.42,2.02,4.76,2.02 c1.61,0,3.59-0.48,5.89-2.38c0.1-0.08,0.2-0.16,0.29-0.24c0.03-0.03,0.06-0.05,0.09-0.07h-0.02c0.01-0.01,0.02-0.02,0.03-0.03 c1.37,1.42,3.22,2.21,5.28,2.21c1.75,0,4.14-0.55,5.61-2.5c0,3.76-2.26,4.66-4.52,4.66c-1.81,0-3.66-0.48-6.16-1.44l-2.33,3.39 c3.66,1.78,7.15,2.22,9.52,2.22c4.52,0,8.79-2.22,8.79-8.62v-15.34h-5.3V512.73z M385.51,523.86c-2.57,0-4-1.95-4-4.72 c0-2.74,1.44-4.73,4-4.73c2.57,0,4.01,1.99,4.01,4.73C389.51,521.91,388.08,523.86,385.51,523.86\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M237.88,512.73c-1.47-1.95-3.87-2.5-5.61-2.5c-4.31,0-7.7,3.01-7.7,8.9c0,5.54,3.39,8.9,7.7,8.9 c1.75,0,4.14-0.55,5.61-2.5c0,3.76-2.26,4.66-4.52,4.66c-1.81,0-3.66-0.48-6.16-1.44l-2.33,3.39c3.66,1.78,7.15,2.22,9.52,2.22 c4.52,0,8.79-2.22,8.79-8.62v-15.34h-5.3V512.73z M233.87,523.86c-2.56,0-4-1.95-4-4.72c0-2.74,1.44-4.73,4-4.73 c2.57,0,4.01,1.99,4.01,4.73C237.88,521.91,236.44,523.86,233.87,523.86\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M406.76,510.24c-2.36,0-3.7,1.13-4.24,3.05v-2.88h-5.31v17.46h5.31v-7.05c0-4.14,0.68-6.4,3.69-6.4 c1.44,0,2.29,0.86,2.53,1.1l0.75-4.07C408.95,510.75,408.03,510.24,406.76,510.24\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M189.95,513.28v-2.88h-5.3v17.46h5.3v-7.05c0-4.14,0.68-6.4,3.7-6.4c1.44,0,2.29,0.86,2.54,1.1l0.75-4.07 c-0.55-0.68-1.47-1.2-2.74-1.2C191.83,510.24,190.5,511.37,189.95,513.28\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M418.26,510.24c-4.86,0-9.14,3.22-9.14,8.93c0,5.72,4.28,8.86,9.14,8.86c4.86,0,9.14-3.15,9.14-8.86 C427.4,513.45,423.12,510.24,418.26,510.24 M418.26,523.86c-2.57,0-3.83-1.95-3.83-4.69c0-2.77,1.27-4.76,3.83-4.76 c2.57,0,3.83,1.98,3.83,4.76C422.09,521.91,420.82,523.86,418.26,523.86\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M458.11,510.24c-1.75,0-4.14,0.55-5.62,2.5v-2.33h-5.3v23.14h5.3v-8.01c1.47,1.95,3.87,2.5,5.62,2.5 c4.31,0,7.7-3.36,7.7-8.9C465.81,513.25,462.42,510.24,458.11,510.24 M456.5,523.86c-2.57,0-4.01-1.95-4.01-4.72 c0-2.74,1.44-4.73,4.01-4.73c2.57,0,4,1.99,4,4.73C460.5,521.91,459.06,523.86,456.5,523.86\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M258.04,520.44c0-2.56,0.78-4.53,2.38-6.05c1.65-1.56,3.73-2.31,6.37-2.31v-5.18c-3.97,0-7.31,1.25-9.93,3.72 c-2.66,2.51-4.02,5.81-4.02,9.82c0,4,1.35,7.3,4.02,9.82c2.62,2.47,5.96,3.72,9.93,3.72v-5.18c-2.64,0-4.72-0.76-6.37-2.31 C258.82,524.97,258.04,523,258.04,520.44\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M266.79,495.84v5.18c2.63,0,4.72,0.75,6.37,2.31c1.61,1.51,2.39,3.49,2.39,6.05c0,2.55-0.78,4.53-2.39,6.04 c-1.65,1.55-3.73,2.31-6.37,2.31v5.18c3.97,0,7.3-1.25,9.92-3.72c2.66-2.51,4.02-5.81,4.02-9.82c0-4.01-1.35-7.31-4.02-9.82 C274.09,497.09,270.76,495.84,266.79,495.84\"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n className: \"st1\",\n points: \"158.92,522.76 155.64,510.38 150.05,510.38 146.85,522.73 144.58,510.38 139.33,510.38 143.72,527.52 149.59,527.52 152.72,516.04 155.82,527.52 161.69,527.52 166.08,510.38 161.19,510.38 \"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M179.19,511.21c-1.29-0.7-2.79-1.05-4.48-1.05c-1.68,0-3.17,0.35-4.48,1.06c-1.31,0.71-2.33,1.72-3.06,3.04 c-0.73,1.32-1.09,2.88-1.09,4.68c0,1.78,0.37,3.34,1.11,4.67c0.74,1.33,1.76,2.35,3.06,3.06c1.3,0.71,2.79,1.06,4.47,1.06 c1.43,0,2.73-0.27,3.9-0.82c1.16-0.54,2.13-1.29,2.89-2.24c0.76-0.95,1.25-2.03,1.47-3.24h-5.56c-0.16,0.61-0.5,1.12-1.01,1.5 c-0.51,0.39-1.16,0.58-1.94,0.58c-0.92,0-1.68-0.28-2.27-0.85c-0.6-0.56-0.92-1.49-0.98-2.78h11.88c0.1-0.51,0.15-0.98,0.15-1.41 c0-1.64-0.35-3.09-1.06-4.34C181.48,512.89,180.48,511.91,179.19,511.21 M171.23,517.69c0.08-1.1,0.44-1.94,1.07-2.52 c0.63-0.57,1.43-0.86,2.4-0.86c0.92,0,1.69,0.28,2.32,0.85c0.63,0.56,0.93,1.41,0.91,2.53H171.23z\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 198,\n y: 510.39,\n className: \"st1\",\n width: 5.25,\n height: 17.13\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M200.64,502.8c-0.94,0-1.7,0.26-2.27,0.78c-0.57,0.52-0.86,1.18-0.86,1.98c0,0.78,0.29,1.43,0.86,1.95 c0.57,0.52,1.33,0.78,2.27,0.78c0.94,0,1.7-0.26,2.27-0.78c0.57-0.52,0.86-1.17,0.86-1.95c0-0.8-0.29-1.46-0.86-1.98 C202.34,503.06,201.58,502.8,200.64,502.8\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M216.39,510.2c-1.31,0-2.45,0.3-3.42,0.89c-0.97,0.59-1.7,1.4-2.2,2.43v-3.13h-5.25v17.13h5.25v-9.09 c0-1.25,0.31-2.21,0.94-2.89c0.62-0.68,1.47-1.02,2.53-1.02c1.01,0,1.81,0.32,2.41,0.97c0.61,0.64,0.91,1.54,0.91,2.69v9.34h5.25 v-9.95c0-2.29-0.58-4.1-1.74-5.41C219.92,510.86,218.36,510.2,216.39,510.2\"\n }))));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgLogo, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/logo.429002c1.svg\";\nexport { ForwardRef as ReactComponent };","import React from 'react';\r\nimport { ReactComponent } from './logo.svg';\r\n\r\nexport const Logo = () => {\r\n return (\r\n \r\n );\r\n}","import React, { useContext } from 'react';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { TransportContext } from '../../../context/TransportSubmitContext';\r\nimport { useLocalizationContext } from '../../../hooks/useLocalizationContext';\r\nimport { Responsive } from 'semantic-ui-react';\r\nimport './ProgressBar.scss';\r\n\r\nexport const ProgressBar = () => {\r\n const context = useContext(TransportContext);\r\n const locContext = useLocalizationContext();\r\n\r\n const handleClick = (step: number) => {\r\n if (context.step > step && context.step !== 5) {\r\n context.goBackToStartOfStep(step);\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n handleClick(1)} progress={context.progress} />\r\n handleClick(2)} progress={context.progress} />\r\n handleClick(3)} progress={context.progress} />\r\n handleClick(4)} progress={context.progress} last={true} />\r\n \r\n \r\n \r\n \r\n
\r\n );\r\n}\r\n\r\ninterface IRectangleProps {\r\n currentStep: number;\r\n}\r\nconst Rectangle = ({ currentStep }: IRectangleProps) => {\r\n const progress = (currentStep / 4) * 100;\r\n var divStyle: React.CSSProperties = {\r\n width: progress + '%',\r\n }\r\n return (\r\n
\r\n
\r\n
\r\n );\r\n}\r\n\r\ninterface IOvalProps {\r\n step: number;\r\n currentStep: number;\r\n onClick: () => void;\r\n}\r\nconst Oval = ({ step, currentStep, onClick }: IOvalProps) => {\r\n return (\r\n
= step ? ' busy' : ''}${currentStep > step && currentStep !== 4 ? ' can-click' : ''}`} onClick={onClick}>\r\n {currentStep > step ? : step.toString()}\r\n
\r\n );\r\n}\r\n\r\ninterface IStepProps extends IOvalProps {\r\n description: string;\r\n last?: boolean;\r\n progress?: number;\r\n}\r\nconst Step = ({ description, last = false, progress, ...rest }: IStepProps) => {\r\n // WATCH OUT 45 is linked to css property\r\n progress = rest.currentStep > rest.step ? 100 : rest.currentStep < rest.step ? 0 : progress;\r\n var divStyle: React.CSSProperties = {\r\n width: progress ? (progress * 2 * 45) / 100 : 0,\r\n border: progress && progress > 0 ? '1.5px solid #4EB064' : 'none',\r\n }\r\n\r\n return (\r\n
\r\n
\r\n \r\n
{description}
\r\n
\r\n {last ? null :\r\n
\r\n }\r\n
\r\n {progress && progress > 0 ?\r\n
\r\n : null}\r\n
\r\n );\r\n}","import { IconProp } from '@fortawesome/fontawesome-svg-core';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport React from 'react';\r\nimport { Popup, Responsive } from 'semantic-ui-react';\r\nimport { useCombineClassNames } from '../../../hooks/useCombineClassNames';\r\nimport './IconButton.scss';\r\n\r\nexport interface IIconButtonProps extends React.DetailedHTMLProps, HTMLButtonElement> {\r\n color?: 'success' | 'warning' | 'error' | 'gray';\r\n popupText?: string;\r\n size?: 'normal' | 'large' | 'very-large';\r\n}\r\n\r\ninterface IProps extends IIconButtonProps {\r\n icon: IconProp;\r\n}\r\n\r\nexport const IconButton = ({ icon, size = 'normal', color = undefined, popupText = undefined, ...rest }: IProps) => {\r\n const className = useCombineClassNames(`icon-button ${size} ${color}`, rest);\r\n const renderInner = () => {\r\n return (\r\n \r\n );\r\n }\r\n if (popupText) {\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n {renderInner()}\r\n \r\n
\r\n );\r\n }\r\n return renderInner();\r\n}","import React, { useState } from 'react';\r\nimport { useEnterKeyDown } from '../../../hooks/useEnterKeyDown';\r\nimport { useCombineClassNames } from '../../../hooks/useCombineClassNames';\r\nimport { IconButton } from '../buttons/IconButton';\r\nimport './Searchbox.scss';\r\n\r\ninterface IProps extends React.HTMLProps {\r\n onTextChanged?: (str: string) => void;\r\n onSearch: (str: string) => void;\r\n externalProps?: IExternalSearchboxProps;\r\n large?: boolean; \r\n}\r\n\r\ninterface IExternalSearchboxProps {\r\n text: string;\r\n setText: (str: string) => void;\r\n}\r\n\r\nexport const Searchbox = ({ placeholder, onTextChanged, onSearch, externalProps, large = false, ...rest }: IProps) => {\r\n const [text, setText] = useState('');\r\n const search = (e: any) => {\r\n if (e !== null) {\r\n e.preventDefault();\r\n }\r\n if (onSearch) {\r\n onSearch(externalProps ? externalProps.text : text);\r\n }\r\n }\r\n const handleKeyDown = useEnterKeyDown(search);\r\n const handleChange = (e: React.ChangeEvent) => {\r\n handleChangeWithStr(e.target.value);\r\n }\r\n const handleChangeWithStr = (str: string) => {\r\n if (externalProps) {\r\n externalProps.setText(str);\r\n } else {\r\n setText(str);\r\n }\r\n if (onTextChanged) {\r\n onTextChanged(str);\r\n }\r\n }\r\n\r\n const clear = () => {\r\n handleChangeWithStr('');\r\n if (onSearch){\r\n onSearch('');\r\n }\r\n }\r\n\r\n const isFiltered = externalProps ? externalProps.text : text;\r\n\r\n return (\r\n
\r\n \r\n \r\n {isFiltered ?\r\n clear()} />\r\n : null}\r\n
\r\n );\r\n}","export function useKeyDown(key: string, onKeyDown: (e:any) => void) : (e: React.KeyboardEvent) => void {\r\n return (e: React.KeyboardEvent) => {\r\n if (e.key === key){\r\n onKeyDown(e);\r\n }\r\n }\r\n}","import { useKeyDown } from \"./useKeyDown\";\r\n\r\nexport function useEnterKeyDown(onKeyDown: (e:any) => void) : (e: React.KeyboardEvent) => void {\r\n return useKeyDown('Enter', onKeyDown);\r\n}\r\n","import React from 'react';\r\nimport { IconButton } from '../buttons/IconButton';\r\nimport './CustomDropdown.scss';\r\n\r\ninterface IProps {\r\n text: string;\r\n isOpen: boolean;\r\n clickTrigger: () => void;\r\n selected: boolean;\r\n onClear: () => void;\r\n clearable: boolean;\r\n formatSelected: boolean;\r\n small: boolean;\r\n}\r\n\r\nexport const DropDownTrigger = ({ text, isOpen, clickTrigger, onClear, selected, clearable, formatSelected, small }: IProps) => {\r\n return (\r\n
\r\n
{text}
\r\n {selected && clearable ?\r\n \r\n :\r\n \r\n }\r\n
\r\n );\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { IOption } from '../../../infrastructure/Models';\r\nimport { Dropdown } from 'semantic-ui-react';\r\nimport { Searchbox } from '../search/Searchbox';\r\nimport { useLocalizationContext } from '../../../hooks/useLocalizationContext';\r\nimport { DropDownTrigger } from './DropDownTrigger';\r\nimport _ from 'lodash';\r\nimport './CustomDropdown.scss';\r\n\r\ninterface IProps {\r\n placeholder: string;\r\n options: IOption[];\r\n selected: T;\r\n onSelect: (str: T) => void;\r\n onClear: () => void;\r\n clearable?: boolean;\r\n formatTrigger?: boolean;\r\n searchable?: boolean;\r\n stretch?: boolean;\r\n small?: boolean;\r\n}\r\nexport function CustomDropDown({ options, placeholder, selected, onSelect, onClear, clearable = false, formatTrigger = false, searchable = true, stretch = true, small = false }: IProps) {\r\n // options = _.orderBy(options, t => t.text);\r\n const locContext = useLocalizationContext();\r\n const [isOpen, setIsOpen] = useState(false);\r\n const [filteredOptions, setFilteredOptions] = useState[]>([]);\r\n const [triggerText, setTriggerText] = useState(placeholder);\r\n\r\n useEffect(() => {\r\n setFilteredOptions(_.orderBy(options, t => t.text));\r\n if (selected) {\r\n const x = options.find(t => t.value === selected);\r\n if (x) {\r\n setTriggerText(x.text);\r\n }\r\n }\r\n }, [options, selected]);\r\n\r\n const handleSearchTextChanged = (str: string) => {\r\n const x = _.orderBy(options, t => t.text).filter(t => t.text.toLowerCase().includes(str.toLowerCase()));\r\n setFilteredOptions(x);\r\n }\r\n\r\n const handleSelect = (option: IOption) => {\r\n onSelect(option.value);\r\n // console.log('sets closed');\r\n setIsOpen(false);\r\n }\r\n\r\n return (\r\n { setIsOpen(false); onClear(); }}\r\n selected={selected ? true : false}\r\n text={triggerText}\r\n isOpen={isOpen}\r\n clickTrigger={() => setIsOpen(!isOpen)}\r\n clearable={clearable}\r\n formatSelected={formatTrigger}\r\n small={small} />\r\n }\r\n icon={null}\r\n onClose={() => { }}\r\n onOpen={() => { }}\r\n open={isOpen}\r\n onBlur={() => setIsOpen(false)}\r\n scrolling>\r\n \r\n {searchable ?\r\n
\r\n \r\n
\r\n : null}\r\n
\r\n {filteredOptions.map(t =>\r\n
handleSelect(t)}>{t.text}
\r\n )}\r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useContext } from 'react';\r\nimport { Logo } from '../../common/Logo';\r\nimport { TextLinkButton } from '../../common/buttons/TextLinkButton';\r\nimport { ProgressBar } from './ProgressBar';\r\nimport { TransportContext } from '../../../context/TransportSubmitContext';\r\nimport { useLocalizationContext } from '../../../hooks/useLocalizationContext';\r\nimport { Responsive } from 'semantic-ui-react';\r\nimport { LocalizationContext } from '../../../context/LocalizationContext';\r\nimport { CustomDropDown } from '../../common/dropdown/CustomDropdown';\r\nimport { IOption } from '../../../infrastructure/Models';\r\nimport { ModalContext } from '../../../context/ModalContext';\r\nimport './Header.scss';\r\n\r\n\r\nexport const Header = () => {\r\n const context = useContext(TransportContext);\r\n const locContext = useLocalizationContext();\r\n const locContextFull = useContext(LocalizationContext);\r\n const modalContext = useContext(ModalContext);\r\n const options: IOption<\"en\" | \"fr\" | \"nl\">[] = [\r\n { key: \"en\", value: \"en\", text: \"EN\" },\r\n { key: \"fr\", value: \"fr\", text: \"FR\" },\r\n { key: \"nl\", value: \"nl\", text: \"NL\" },\r\n ]\r\n\r\n const renderDropDown = () => {\r\n return (\r\n \r\n onClear={() => { }}\r\n placeholder=\"Taal/Language/Langue\"\r\n options={options}\r\n onSelect={(val) => {\r\n locContextFull.setLanguage(val);\r\n modalContext.close();\r\n }}\r\n selected={locContextFull.getLanguage()}\r\n stretch={false}\r\n searchable={false}\r\n clearable={false}\r\n small={true} />\r\n );\r\n }\r\n\r\n const selectLanguage = () => {\r\n modalContext.open()\r\n }\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n {renderDropDown()}\r\n context.cancel()}>{locContext.startNew}\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n selectLanguage()}>Taal/Language/Langue\r\n context.cancel()}>{locContext.startNew}\r\n
\r\n
\r\n
\r\n
\r\n );\r\n}\r\n\r\ninterface ISlProps {\r\n cont: JSX.Element;\r\n}\r\nconst SelectLanguagePopup = ({ cont }: ISlProps) => {\r\n return (\r\n
\r\n
Taal/Language/Langue
\r\n {cont}\r\n
\r\n );\r\n}\r\n","import { FormikProps, FormikActions } from 'formik';\r\n\r\nexport function setFieldTouched(str: keyof T, props: FormikProps | FormikActions){\r\n props.setFieldTouched(str.toString());\r\n}\r\n\r\nexport function setFieldError(str: keyof T, message: string, props: FormikActions){\r\n props.setFieldError(str.toString(), message);\r\n}\r\n\r\nexport function setFieldValue(str: keyof T, val: any, props: FormikProps){\r\n props.setFieldValue(str.toString(), val);\r\n}\r\n","import React from 'react';\r\nimport { ErrorMessage } from 'formik';\r\nimport { useCombineClassNames } from '../../../hooks/useCombineClassNames';\r\nimport { nameof } from '../../../infrastructure/Utils';\r\nimport { useLocalizationContext } from '../../../hooks/useLocalizationContext';\r\nimport './FieldGroup.scss';\r\n\r\nexport interface IFieldGroupProps {\r\n xName: keyof T;\r\n label: string;\r\n noMargin?: boolean;\r\n optional?: boolean;\r\n xNames?: Array;\r\n children?: React.ReactNode;\r\n className?: string;\r\n placeholder?: string;\r\n overrideError?: string;\r\n}\r\n\r\nexport function FieldGroup({ xName, label, noMargin = false, children, optional = false, xNames = undefined, overrideError = undefined, ...rest }: IFieldGroupProps) {\r\n const locContext = useLocalizationContext();\r\n const className = useCombineClassNames(`field-group${noMargin ? ' no-margin' : ''}`, rest);\r\n return (\r\n
\r\n
\r\n \r\n {optional ?
{locContext.optional.toLowerCase()}
: null}\r\n
\r\n {children}\r\n {overrideError ?\r\n {overrideError}\r\n : xNames ?\r\n
\r\n {xNames.map(t => )}\r\n
\r\n :\r\n \r\n }\r\n
\r\n );\r\n}\r\n","import React from 'react';\r\nimport { DateInput } from 'semantic-ui-calendar-react';\r\nimport { DefaultDateFormat } from '../../../constants';\r\nimport { toDefaultDate, toDefaultFormat } from '../../../infrastructure/Utils';\r\nimport { useCombineClassNames } from '../../../hooks/useCombineClassNames';\r\n\r\ninterface IProps {\r\n placeholder?: string;\r\n value: Date | undefined;\r\n onValueChanged: (date: Date | undefined) => void;\r\n className?: string;\r\n}\r\n\r\nexport const DefaultDateInput = ({value, onValueChanged, placeholder, ...rest}: IProps) => {\r\n const handleChange = (e: any, data: any) => {\r\n onValueChanged(toDefaultDate(data.value));\r\n }\r\n const handleClear = () => {\r\n onValueChanged(undefined);\r\n }\r\n\r\n return (\r\n \r\n );\r\n}","export const DefaultDateFormat = 'DD/MM/YYYY';","import React from 'react';\r\nimport { IFieldGroupProps, FieldGroup } from './FieldGroup';\r\nimport { Field } from 'formik';\r\nimport { DefaultDateInput } from '../fields/DefaultDateInput';\r\nimport './SelectDate.scss';\r\n\r\ninterface IProps extends IFieldGroupProps {\r\n\r\n}\r\n\r\nexport function SelectDate({ ...props }: IProps) {\r\n const setValue = (fieldProps: any, val: Date | undefined) => {\r\n fieldProps.form.setFieldValue(fieldProps.field.name, val, true);\r\n fieldProps.form.setFieldTouched(fieldProps.field.name, true, true);\r\n }\r\n return (\r\n \r\n \r\n setValue(fieldProps, val)} />} />\r\n \r\n );\r\n}","import React, { useState } from 'react';\r\nimport { useCombineClassNames } from '../../../hooks/useCombineClassNames';\r\nimport { Dropdown } from 'semantic-ui-react';\r\nimport { IOption } from '../../../infrastructure/Models';\r\nimport { pad } from '../../../infrastructure/Utils';\r\nimport './DefaultTimeInput.scss';\r\nimport { DropDownTrigger } from '../dropdown/DropDownTrigger';\r\n\r\ninterface IProps {\r\n placeholder: string;\r\n value: string;\r\n onValueChanged: (time: string) => void;\r\n className?: string;\r\n}\r\n\r\nfunction generateOptions(): IOption[] {\r\n let x: IOption[] = [];\r\n for (let hour = 0; hour < 24; hour++) {\r\n for (let minutes = 0; minutes < 4; minutes++) {\r\n const y = `${pad(hour, 2)}:${pad(minutes * 15, 2).toString()}`;\r\n x.push({ key: y, value: y, text: y });\r\n }\r\n }\r\n return x;\r\n}\r\n\r\nconst options = generateOptions();\r\n\r\nexport const DefaultTimeInput = ({ placeholder, value, onValueChanged, ...rest }: IProps) => {\r\n let triggerText = placeholder ? placeholder : '';\r\n if (value) {\r\n const x = options.find(t => t.value === value);\r\n if (x) {\r\n triggerText = x.text;\r\n }\r\n }\r\n const [isOpen, setIsOpen] = useState(false);\r\n\r\n const handleSelect = (option: IOption) => {\r\n onValueChanged(option.value);\r\n setIsOpen(false);\r\n }\r\n\r\n return (\r\n { }}\r\n selected={value ? true : false}\r\n text={triggerText}\r\n isOpen={isOpen}\r\n clickTrigger={() => setIsOpen(!isOpen)}\r\n clearable={false}\r\n formatSelected={false}\r\n small={false} />\r\n }\r\n icon={null}\r\n onClose={() => { }}\r\n onOpen={() => { }}\r\n open={isOpen}\r\n onBlur={() => setIsOpen(false)}\r\n scrolling>\r\n \r\n
\r\n {options.map(t => handleSelect(t)} />)}\r\n
\r\n
\r\n \r\n );\r\n}\r\n\r\ninterface ITimeListItemProps {\r\n text: string;\r\n selected: boolean;\r\n handleSelect: () => void;\r\n}\r\n\r\nconst TimeListItem = ({ text, handleSelect, selected }: ITimeListItemProps) => {\r\n return (\r\n
handleSelect()}>\r\n
{text}
\r\n
\r\n );\r\n}","import React from 'react';\r\nimport { IFieldGroupProps, FieldGroup } from './FieldGroup';\r\nimport { Field } from 'formik';\r\nimport { enumToOptions } from '../../../infrastructure/Utils';\r\nimport { CustomDropDown } from '../dropdown/CustomDropdown';\r\nimport { DefaultTimeInput } from '../fields/DefaultTimeInput';\r\nimport { useLocalizationContext } from '../../../hooks/useLocalizationContext';\r\nimport './SelectTimeWithSpecifier.scss';\r\n\r\ninterface IProps extends IFieldGroupProps {\r\n specifierName: keyof T;\r\n}\r\n\r\nenum EnumsDateSpecifier {\r\n At = 0,\r\n Before = 1,\r\n After = 2,\r\n}\r\n\r\nexport function SelectTimeWithSpecifier({ ...props }: IProps) {\r\n const locContext = useLocalizationContext();\r\n const setValue = (fieldProps: any, val: string) => {\r\n fieldProps.form.setFieldValue(fieldProps.field.name, val, true);\r\n fieldProps.form.setFieldTouched(fieldProps.field.name, true, true);\r\n }\r\n const setEnum = (fieldProps: any, val: number | undefined) => {\r\n fieldProps.form.setFieldValue(fieldProps.field.name, val, true);\r\n fieldProps.form.setFieldTouched(fieldProps.field.name, true, true);\r\n }\r\n \r\n const translations = new Map([\r\n [EnumsDateSpecifier.At, locContext.at],\r\n [EnumsDateSpecifier.Before, locContext.before],\r\n [EnumsDateSpecifier.After, locContext.after]]);\r\n const options = enumToOptions(EnumsDateSpecifier, translations);\r\n\r\n return (\r\n \r\n
\r\n \r\n \r\n placeholder={locContext.choose}\r\n options={options}\r\n selected={fieldProps.form.values[fieldProps.field.name]}\r\n onSelect={(val) => setEnum(fieldProps, val)}\r\n onClear={() => setEnum(fieldProps, undefined)}\r\n searchable={false}\r\n stretch={false}\r\n />} />\r\n \r\n setValue(fieldProps, val)}\r\n />\r\n } />\r\n
\r\n
\r\n );\r\n}","import { Form, Formik, FormikActions } from 'formik';\r\nimport moment from 'moment';\r\nimport React from 'react';\r\nimport * as yup from 'yup';\r\nimport { DefaultDateFormat } from '../../../constants';\r\nimport { IValidateResponse } from '../../../gen/ApiClients';\r\nimport { useLocalizationContext } from '../../../hooks/useLocalizationContext';\r\nimport { PrimaryButton } from '../../common/buttons/PrimaryButton';\r\nimport { TextLinkButton } from '../../common/buttons/TextLinkButton';\r\nimport { setFieldError } from '../../common/forms/FormsUtils';\r\nimport { SelectDate } from '../../common/forms/SelectDate';\r\nimport { SelectTimeWithSpecifier } from '../../common/forms/SelectTimeWithSpecifier';\r\nimport { tryCatchWithLoading } from '../../../infrastructure/Utils';\r\n\r\ninterface IModel {\r\n date: Date;\r\n time: string;\r\n specifier: string;\r\n}\r\n\r\ninterface IProps {\r\n header: string;\r\n date: Date | undefined;\r\n specifier: string;\r\n onSubmit: (date: Date, specifier: string) => Promise;\r\n onPrevious: () => void;\r\n modal?: boolean;\r\n validate: (date: Date, dateSpecifier: string) => Promise;\r\n}\r\n\r\nexport const DateComponent = ({ validate, header, date, specifier, onSubmit, onPrevious, modal = false }: IProps) => {\r\n const locContext = useLocalizationContext();\r\n const initialValue: IModel = { time: date ? moment(date, DefaultDateFormat).format('HH:mm') : '', specifier: specifier ? specifier : '', date: date ? date : new Date() };\r\n const schema = yup.object().shape({\r\n time: yup.string()\r\n .required(locContext.validateTime),\r\n specifier: yup.mixed()\r\n .required(locContext.validateTimeSelector),\r\n date: yup.date()\r\n .required(locContext.validateTime),\r\n });\r\n const handleSubmit = async (model: IModel, actions: FormikActions) => {\r\n var splits = model.time.split(':');\r\n let m = moment(model.date).set({ hour: Number(splits[0]), minute: Number(splits[1]), second: 0, millisecond: 0 }).toDate();\r\n const response = await tryCatchWithLoading(validate(m, model.specifier), () => {}, locContext.serverError);\r\n actions.setSubmitting(false);\r\n if (response === undefined || response === null) {\r\n return;\r\n }\r\n if (response.hasError) {\r\n setFieldError('time', response.errorMessage ? response.errorMessage : 'Error', actions);\r\n } else {\r\n await onSubmit(m, model.specifier);\r\n }\r\n }\r\n\r\n return (\r\n
\r\n
{header}
\r\n \r\n initialValues={initialValue}\r\n validationSchema={schema}\r\n onSubmit={handleSubmit}>\r\n {(props) => (\r\n
\r\n
\r\n label={locContext.date} xName=\"date\" />\r\n label={locContext.hours} specifierName=\"specifier\" xName=\"time\" />\r\n
\r\n
\r\n {locContext.previous}\r\n {locContext.next}\r\n
\r\n
\r\n
\r\n
\r\n )}\r\n \r\n
\r\n );\r\n}","import React from 'react';\r\nimport { Field } from 'formik';\r\nimport { FieldGroup, IFieldGroupProps } from './FieldGroup';\r\n\r\ninterface IProps extends IFieldGroupProps{\r\n disabled?: boolean;\r\n}\r\n\r\nexport function TextInputField({ disabled = false, ...props}: IProps) {\r\n return (\r\n \r\n \r\n \r\n );\r\n}\r\n\r\n\r\n","import React from 'react';\r\nimport './ValidGreenIcon.scss';\r\nimport { useCombineClassNames } from '../../hooks/useCombineClassNames';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\n\r\ninterface IProps extends React.HTMLProps {\r\n\r\n}\r\n\r\nexport const ValidGreenIcon = ({ ...rest }: IProps) => {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n}","import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport React, { useState } from 'react';\r\nimport { Dropdown, Popup } from 'semantic-ui-react';\r\nimport { AddressesClient, ISuggestion } from '../../../gen/ApiClients';\r\nimport { useClient } from '../../../hooks/useClient';\r\nimport { useLocalizationContext } from '../../../hooks/useLocalizationContext';\r\nimport { ValidGreenIcon } from '../ValidGreenIcon';\r\nimport './AddressTypeAhead.scss';\r\n\r\ninterface IProps {\r\n placeholder?: string;\r\n onSelect: (str: ISuggestion) => void;\r\n clearSelect: () => void;\r\n selected: ISuggestion | undefined;\r\n}\r\nexport const AddressTypeAhead = ({ placeholder, onSelect, clearSelect, selected }: IProps) => {\r\n const locContext = useLocalizationContext();\r\n const [isTyping, setIsTyping] = useState(false);\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [suggestions, setSuggestions] = useState([]);\r\n const client = useClient(AddressesClient);\r\n const [to, setTo] = useState();\r\n const [isOpen, setIsOpen] = useState(false);\r\n const [text, setText] = useState('');\r\n\r\n // useEffect(() => {\r\n // if (selected){\r\n // console.log('selected is not null');\r\n // setText('');\r\n // } else {\r\n // console.log('selected is null');\r\n // setText('');\r\n // }\r\n // }, [selected]);\r\n\r\n const handleTextChanged = async (txt: string) => {\r\n if (selected) {\r\n clearSelect();\r\n }\r\n if (!isOpen) {\r\n setIsOpen(true);\r\n }\r\n setText(txt);\r\n if (!txt || txt.length < 3) {\r\n setSuggestions([]);\r\n }\r\n setIsTyping(true);\r\n clearTimeout(to);\r\n setTo(setTimeout(async () => {\r\n setIsTyping(false);\r\n if (txt && txt.length >= 3) {\r\n setIsLoading(true);\r\n setSuggestions(await client.suggestions(txt));\r\n setIsLoading(false);\r\n }\r\n }, 500));\r\n }\r\n const handleSetSelected = (suggestion: ISuggestion) => {\r\n if (suggestion.formatted) {\r\n setText(suggestion.formatted);\r\n }\r\n onSelect(suggestion);\r\n setIsOpen(false);\r\n }\r\n const handleFocus = () => {\r\n if (!isOpen) {\r\n setIsOpen(true);\r\n }\r\n }\r\n const renderWarningIcon = () => {\r\n return (\r\n } />\r\n );\r\n }\r\n\r\n return (\r\n handleFocus()}>\r\n handleTextChanged(e.target.value)} placeholder={placeholder}>\r\n {selected && selected.isExact === true ? : null}\r\n {selected && selected.isExact === false ? renderWarningIcon() : null}\r\n
\r\n }\r\n icon={null}\r\n onClose={() => { }}\r\n onOpen={() => { }}\r\n open={isOpen}\r\n onBlur={() => setIsOpen(false)}\r\n scrolling>\r\n \r\n
\r\n {suggestions && !isLoading && !isTyping ?\r\n suggestions.map(t => handleSetSelected(t)} />)\r\n : null}\r\n {!isTyping && !isLoading && text && (!suggestions || suggestions.length === 0) ?
{locContext.noAddressFound}
: null}\r\n {isTyping ?
{locContext.busyTyping}...
: null}\r\n {isLoading ?
{locContext.busySearchingAddress}...
: null}\r\n
\r\n
\r\n \r\n );\r\n}\r\n\r\ninterface ISimpleListItemProps {\r\n text: string | undefined;\r\n handleSelect: () => void;\r\n}\r\n\r\nconst Suggestion = ({ text, handleSelect }: ISimpleListItemProps) => {\r\n return (\r\n
handleSelect()}>{text}
\r\n );\r\n}","import React from 'react';\r\nimport { FieldGroup, IFieldGroupProps } from './FieldGroup';\r\nimport { AddressTypeAhead } from '../addressTypeAhead/AddressTypeAhead';\r\nimport { ISuggestion } from '../../../gen/ApiClients';\r\nimport './AddressTypeAheadField.scss';\r\n\r\ninterface IProps extends IFieldGroupProps {\r\n value: ISuggestion | undefined;\r\n onValueChanged: (val: ISuggestion | undefined) => void;\r\n warningMessage: string;\r\n}\r\n\r\nexport function AddressTypeAheadField({ value, onValueChanged, warningMessage, ...rest }: IProps) {\r\n return (\r\n \r\n onValueChanged(x)}\r\n selected={value}\r\n clearSelect={() => onValueChanged(undefined)} />\r\n {value && value.isExact === false ? \r\n {warningMessage}\r\n : null}\r\n \r\n );\r\n}","import React from 'react';\r\nimport { Field } from 'formik';\r\nimport { FieldGroup, IFieldGroupProps } from './FieldGroup';\r\nimport './TextareaField.scss';\r\n\r\n// export const TextareaField = (props: IFieldGroupProps) => {\r\nexport function TextareaField(props: IFieldGroupProps) {\r\n return (\r\n \r\n \r\n \r\n );\r\n}\r\n","import * as yup from 'yup';\r\nimport { IAddressModel, ISuggestion } from '../../../../gen/ApiClients';\r\nimport { IStringsWithFormat } from '../../../../hooks/useLocalizationContext';\r\n\r\nexport function setFields(values: IAddressModel, selAddress: ISuggestion): IAddressModel {\r\n const x = {\r\n ...values,\r\n country: selAddress.country,\r\n postalCode: selAddress.postalCode,\r\n city: selAddress.city,\r\n street: selAddress.street,\r\n houseNumber: selAddress.houseNumber,\r\n isExact: selAddress.isExact,\r\n xCoordinate: selAddress.xCoordinate,\r\n yCoordinate: selAddress.yCoordinate,\r\n };\r\n return x;\r\n}\r\n\r\nexport function createValidateSchemaWithHouseNumber(locContext: IStringsWithFormat): yup.ObjectSchema> {\r\n return yup.object().shape({\r\n street: yup.string(),\r\n // .required(locContext.validateAddress),\r\n company: yup.string()\r\n .required(locContext.validateCompanyName)\r\n .max(50, locContext.formatString('maxLengthValidation', 50)),\r\n contact: yup.string()\r\n .required(locContext.validateContactPerson)\r\n .max(50, locContext.formatString('maxLengthValidation', 50)),\r\n additionalInfo: yup.string()\r\n .max(50, locContext.formatString('maxLengthValidation', 50)),\r\n comment: yup.string()\r\n .max(60, locContext.formatString('maxLengthValidation', 60)),\r\n phoneNumber: yup.string()\r\n .max(30, locContext.formatString('maxLengthValidation', 30)),\r\n notFoundHouseNumber: yup.string()\r\n .required(locContext.validateHouseNumberIfNotFoundAbove),\r\n }); \r\n}\r\nexport function createValidateSchemaWithoutHouseNumber(locContext: IStringsWithFormat): yup.ObjectSchema> {\r\n return yup.object().shape({\r\n street: yup.string(),\r\n // .required(locContext.validateAddress),\r\n company: yup.string()\r\n .required(locContext.validateCompanyName)\r\n .max(50, locContext.formatString('maxLengthValidation', 50)),\r\n contact: yup.string()\r\n .required(locContext.validateContactPerson)\r\n .max(50, locContext.formatString('maxLengthValidation', 50)),\r\n additionalInfo: yup.string()\r\n .max(50, locContext.formatString('maxLengthValidation', 50)),\r\n comment: yup.string()\r\n .max(60, locContext.formatString('maxLengthValidation', 60)),\r\n phoneNumber: yup.string()\r\n .max(30, locContext.formatString('maxLengthValidation', 30)),\r\n }); \r\n}","import React, { useState, useEffect } from 'react';\r\nimport { Formik, Form, FormikProps } from 'formik';\r\nimport { TextInputField } from '../../../common/forms/TextInputField';\r\nimport { AddressTypeAheadField } from '../../../common/forms/AddressTypeAheadField';\r\nimport { TextareaField } from '../../../common/forms/TextareaField';\r\nimport { TextLinkButton } from '../../../common/buttons/TextLinkButton';\r\nimport { PrimaryButton } from '../../../common/buttons/PrimaryButton';\r\nimport { IAddressModel, AddressModel, ISuggestion } from '../../../../gen/ApiClients';\r\nimport { clearNullOrUndefinedValues } from '../../../../infrastructure/Utils';\r\nimport { useLocalizationContext } from '../../../../hooks/useLocalizationContext';\r\nimport { setFieldTouched } from '../../../common/forms/FormsUtils';\r\nimport { createValidateSchemaWithHouseNumber, createValidateSchemaWithoutHouseNumber, setFields } from './Utils';\r\nimport './AddressFormComponent.scss';\r\n\r\ninterface IProps {\r\n address: IAddressModel | undefined;\r\n modal?: boolean;\r\n previousText?: string;\r\n onPrevious?: () => void;\r\n submit: (model: IAddressModel) => void;\r\n header: string;\r\n}\r\nexport const AddressFormComponent = ({ address, modal, previousText, onPrevious, submit, header }: IProps) => {\r\n const locContext = useLocalizationContext();\r\n const [isValidatedOnce, setIsValidatedOnce] = useState(false);\r\n const [hasSelAddressError, setHasSelAddressError] = useState(false);\r\n const initValues = clearNullOrUndefinedValues(address, AddressModel);\r\n const [selAddress, setSelAddress] = useState(undefined);\r\n const validateSchema = selAddress && !selAddress.isExact\r\n ? createValidateSchemaWithHouseNumber(locContext)\r\n : createValidateSchemaWithoutHouseNumber(locContext);\r\n useEffect(() => {\r\n if (address) {\r\n setSelAddress(address);\r\n }\r\n }, [address]);\r\n\r\n const localSubmit = async (props: FormikProps, e: any) => {\r\n e.preventDefault();\r\n props.setSubmitting(true);\r\n setFieldTouched('company', props);\r\n setFieldTouched('contact', props);\r\n setFieldTouched('additionalInfo', props);\r\n setFieldTouched('notFoundHouseNumber', props);\r\n if (selAddress) {\r\n setIsValidatedOnce(true);\r\n }\r\n var isValid = await validateSchema.isValid(props.values);\r\n if (!selAddress) {\r\n setHasSelAddressError(true);\r\n } else if (props.isValid || (!props.dirty && isValid)) {\r\n const x = setFields(props.values, selAddress);\r\n submit(x);\r\n }\r\n props.setSubmitting(false);\r\n }\r\n\r\n return (\r\n
\r\n
{header}
\r\n \r\n initialValues={initValues}\r\n validationSchema={validateSchema}\r\n onSubmit={() => { }}>\r\n {(props) => (\r\n
\r\n
\r\n label={locContext.companyName} xName=\"company\" placeholder={locContext.placeholderCompany} />\r\n \r\n label={locContext.labelStreetNumberCityAndCode}\r\n xName=\"street\"\r\n placeholder={locContext.placeholderAddress}\r\n warningMessage={locContext.alsoFillInAHouseNumber}\r\n value={selAddress}\r\n onValueChanged={(val) => {\r\n if (val) {\r\n setHasSelAddressError(false);\r\n }\r\n setSelAddress(val);\r\n }}\r\n overrideError={hasSelAddressError ? locContext.selectAnAddress : undefined} />\r\n {selAddress && selAddress.isExact === false && isValidatedOnce ?\r\n label={locContext.houseNumber} xName=\"notFoundHouseNumber\" />\r\n : null}\r\n label={locContext.labelAdditionalInfo} xName=\"additionalInfo\" placeholder={locContext.placeholderAdditionalInfo} optional />\r\n label={locContext.labelContactPerson} xName=\"contact\" placeholder={locContext.placeholderContactPerson} />\r\n label={locContext.phoneNumber} xName=\"phoneNumber\" placeholder={locContext.placeholderPhonenumber} optional />\r\n label={locContext.comments} xName=\"comment\" optional />\r\n
\r\n
\r\n {previousText === undefined || !onPrevious ?
:\r\n {previousText}\r\n }\r\n localSubmit(props, e)}>{locContext.next}\r\n
\r\n
\r\n
\r\n
\r\n )}\r\n \r\n
\r\n );\r\n}","import { ValidateClient, IStopModel, IValidateResponse, ValidateTimingsModel } from '../../../gen/ApiClients';\r\n\r\nexport async function validateTimings(\r\n\tclient: ValidateClient,\r\n\ttransportId: string,\r\n\tstopId: string | undefined,\r\n\tmodel: IStopModel | undefined,\r\n\tdate: Date,\r\n\tdateSpecifier: string\r\n): Promise {\r\n\treturn await client.validateTimings(\r\n\t\ttransportId,\r\n\t\tnew ValidateTimingsModel({\r\n\t\t\tdate: date,\r\n\t\t\tdateSpecifier: dateSpecifier,\r\n\t\t\tstopId: stopId,\r\n\t\t\taddress: model?.address,\r\n\t\t})\r\n\t);\r\n}\r\n","import React, { useState } from 'react';\r\nimport { AddressModel, IAddressModel, IStopModel, ValidateClient } from '../../../gen/ApiClients';\r\nimport { useClient } from '../../../hooks/useClient';\r\nimport { useLocalizationContext } from '../../../hooks/useLocalizationContext';\r\nimport { AddressFormComponent } from '../common/addresses/AddressFormComponent';\r\nimport { DateComponent } from '../common/DateComponent';\r\nimport { validateTimings } from '../common/Utils';\r\n\r\ninterface IProps {\r\n transportId: string;\r\n stopId?: string | undefined;\r\n stop?: IStopModel;\r\n onCancel: () => void;\r\n onSubmit: (model: IStopModel) => void;\r\n}\r\nexport const ExtraStop = ({ transportId, stopId, stop, onCancel, onSubmit }: IProps) => {\r\n const validateClient = useClient(ValidateClient);\r\n const locContext = useLocalizationContext();\r\n const [subStep, setSubStep] = useState(0);\r\n const [model, setModel] = useState(stop);\r\n\r\n const handleSetAddress = (address: IAddressModel) => {\r\n setModel({ ...model, address: new AddressModel(address) });\r\n setSubStep(1);\r\n }\r\n const handleSetDate = async (date: Date, specifier: string) => {\r\n const x = { ...model, date: date, dateSpecifier: specifier };\r\n await onSubmit(x);\r\n }\r\n \r\n if (subStep === 0) {\r\n return onCancel()}\r\n submit={handleSetAddress}\r\n modal\r\n previousText={locContext.cancel} />\r\n } else if (subStep === 1 && model) {\r\n return setSubStep(subStep - 1)}\r\n validate={(date, spec) => validateTimings(validateClient, transportId, stopId, model, date, spec)} />\r\n }\r\n return
Whoops, nothing found
\r\n}","import React from 'react';\r\nimport { IStopView } from '../../../gen/ApiClients';\r\nimport { useLocalizationContext } from '../../../hooks/useLocalizationContext';\r\nimport { DefaultDateFormat } from '../../../constants';\r\nimport { TextLinkButton } from '../../common/buttons/TextLinkButton';\r\nimport moment from 'moment';\r\nimport './StopViewComponent.scss';\r\n\r\ninterface IProps {\r\n stop: IStopView;\r\n onEdit?: () => void;\r\n onDelete?: () => void;\r\n formatStopAsLabel: boolean;\r\n}\r\nexport const StopViewComponent = ({ stop, onEdit, onDelete, formatStopAsLabel }: IProps) => {\r\n const locContext = useLocalizationContext();\r\n const stopName = stop.isFirst ? locContext.firstStop : stop.isLast ? locContext.lastStop : locContext.extraStop + ' ' + stop.order;\r\n const formatDateSpecifier = (str: string | undefined) => {\r\n if (str === 'At') {\r\n return locContext.at;\r\n } else if (str === 'Before') {\r\n return locContext.before;\r\n } else {\r\n return locContext.after;\r\n }\r\n }\r\n return (\r\n
\r\n
\r\n {/*
{stopName}
*/}\r\n
{stopName}
\r\n
{moment(stop.date, DefaultDateFormat).format(DefaultDateFormat)} {formatDateSpecifier(stop.dateSpecifier)} {moment(stop.date, DefaultDateFormat).format('HH:mm')}
\r\n
{stop.address ? stop.address.company + ' - ' + stop.address.contact : ''}
\r\n
{stop.address ? stop.address.formatted : ''}
\r\n {stop.address && stop.address.phoneNumber ?
{stop.address.phoneNumber}
: null}\r\n {stop.address && stop.address.additionalInfo ?
{stop.address.additionalInfo}
: null}\r\n {stop.address && stop.address.comment ?
{stop.address.comment}
: null}\r\n
\r\n {onEdit && onDelete ?\r\n
\r\n {locContext.change}\r\n {locContext.delete}\r\n
\r\n :\r\n null}\r\n
\r\n );\r\n}","import React from 'react';\r\nimport { IStopView } from '../../../gen/ApiClients';\r\nimport { Divider } from 'semantic-ui-react';\r\nimport { useCombineClassNames } from '../../../hooks/useCombineClassNames';\r\nimport { StopViewComponent } from './StopViewComponent';\r\nimport './StopsViewComponent.scss';\r\n\r\ninterface IProps {\r\n firstStop: IStopView | undefined;\r\n extraStops: IStopView[] | undefined;\r\n lastStop: IStopView | undefined;\r\n onEdit?: (stop: IStopView) => void;\r\n onDelete?: (stop: IStopView) => void;\r\n showDividers: boolean;\r\n addTopMargin: boolean;\r\n hideLastDivider?: boolean;\r\n className?: string;\r\n formatStopAsLabel: boolean;\r\n}\r\n\r\nexport const StopsViewComponent = ({ firstStop, extraStops, lastStop, onEdit, onDelete, showDividers, addTopMargin, hideLastDivider = false, formatStopAsLabel, ...rest }: IProps) => {\r\n return (\r\n
\r\n {firstStop ?\r\n
\r\n \r\n {showDividers ? : null}\r\n
\r\n : null}\r\n {extraStops ?\r\n extraStops.map(t =>\r\n onEdit && onDelete ?\r\n
\r\n onEdit(t)}\r\n onDelete={() => onDelete(t)} />\r\n {showDividers ? : null}\r\n
\r\n :\r\n
\r\n \r\n {showDividers ? : null}\r\n
)\r\n : null}\r\n {lastStop ?\r\n // no edit or delete\r\n
\r\n \r\n {showDividers && !hideLastDivider ? : null}\r\n
\r\n : null}\r\n
\r\n );\r\n}","import React, { useContext } from 'react';\r\nimport { TransportContext } from '../../../context/TransportSubmitContext';\r\nimport { TextLinkButton } from '../../common/buttons/TextLinkButton';\r\nimport { PrimaryButton } from '../../common/buttons/PrimaryButton';\r\nimport { IStopView } from '../../../gen/ApiClients';\r\nimport { ExtraStop } from './ExtraStop';\r\nimport { StopsViewComponent } from '../common/StopsViewComponent';\r\nimport { BaseConfirmation } from '../../common/modal/BaseConfirmation';\r\nimport { useLocalizationContext } from '../../../hooks/useLocalizationContext';\r\nimport { ModalContext } from '../../../context/ModalContext';\r\nimport './StopsView.scss';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { showErrorToast } from '../../common/toast/ToastNotification';\r\n\r\ninterface IProps {\r\n onPrevious: () => void;\r\n onNext: () => void;\r\n}\r\n\r\nexport const StopsView = ({ onPrevious, onNext }: IProps) => {\r\n const locContext = useLocalizationContext();\r\n const context = useContext(TransportContext);\r\n const modalContext = useContext(ModalContext);\r\n\r\n const onAddNew = () => {\r\n if (context.state.extraStops !== undefined && context.state.extraStops.length >= 6) {\r\n showErrorToast(locContext.max6stops);\r\n return;\r\n }\r\n modalContext.open( modalContext.close()}\r\n onSubmit={(model) => {\r\n context.addExtraStop(model);\r\n modalContext.close();\r\n }} />, false);\r\n }\r\n const onEdit = (stop: IStopView) => {\r\n // geen index nodig -> heeft een id!\r\n modalContext.open( modalContext.close()}\r\n onSubmit={(model) => {\r\n context.editExtraStop(stop.id ? stop.id : '', model);\r\n modalContext.close();\r\n }} />, false);\r\n }\r\n const onDelete = (stop: IStopView) => {\r\n // geen index nodig -> heeft een id!\r\n modalContext.open(\r\n {\r\n context.deleteExtraStop(stop.id ? stop.id : '');\r\n modalContext.close();\r\n }}\r\n cancel={() => modalContext.close()}\r\n />\r\n , false);\r\n }\r\n\r\n return (\r\n
\r\n
{locContext.stopover}: {locContext.confirmAddStopover}
\r\n \r\n onAddNew()}>+ {locContext.addStop}\r\n
\r\n \r\n
\r\n {locContext.max6stops}\r\n
\r\n
\r\n
\r\n
\r\n {locContext.previous}\r\n {locContext.goToUnload}\r\n
\r\n
\r\n
\r\n );\r\n}\r\n\r\n","import React, { useContext, useState } from \"react\";\r\nimport { TransportContext } from \"../../../context/TransportSubmitContext\";\r\nimport { DateComponent } from \"../common/DateComponent\";\r\nimport { StopsView } from \"./StopsView\";\r\nimport { useLocalizationContext } from \"../../../hooks/useLocalizationContext\";\r\nimport { useClient } from \"../../../hooks/useClient\";\r\nimport {\r\n ValidateClient,\r\n IStopModel,\r\n IAddressModel,\r\n AddressModel,\r\n ValidateResponse,\r\n ValidateLeadTimeModel,\r\n} from \"../../../gen/ApiClients\";\r\nimport { AddressFormComponent } from \"../common/addresses/AddressFormComponent\";\r\nimport \"./Step1.scss\";\r\n\r\nexport const Step1 = () => {\r\n const validateClient = useClient(ValidateClient);\r\n const locContext = useLocalizationContext();\r\n const context = useContext(TransportContext);\r\n const [model, setModel] = useState(\r\n context.state.firstStop\r\n );\r\n\r\n const handleSetAddress = (address: IAddressModel) => {\r\n setModel({ ...model, address: new AddressModel(address) });\r\n context.nextSubstep();\r\n };\r\n const setFirstStop = async (date: Date, specifier: string) => {\r\n const x = { ...model, date: date, dateSpecifier: specifier };\r\n setModel(x);\r\n await context.setFirstStop(x);\r\n context.nextSubstep();\r\n };\r\n const validateLeadTime = async (\r\n date: Date,\r\n dateSpecifier: string\r\n ): Promise => {\r\n return await validateClient.validateLeadTime(\r\n new ValidateLeadTimeModel({\r\n date: date,\r\n dateSpecifier: dateSpecifier,\r\n address: model?.address,\r\n })\r\n );\r\n };\r\n\r\n const render = () => {\r\n if (context.subStep === 0) {\r\n return (\r\n \r\n );\r\n } else if (context.subStep === 1) {\r\n return (\r\n context.previousSubStep()}\r\n validate={validateLeadTime}\r\n />\r\n );\r\n } else if (context.subStep === 2) {\r\n return (\r\n context.previousSubStep()}\r\n onNext={() => context.gotoStep2()}\r\n />\r\n );\r\n }\r\n return
nothing found
;\r\n };\r\n\r\n return render();\r\n};\r\n","import React, { useState, useContext } from 'react';\r\nimport { TransportContext } from '../../../context/TransportSubmitContext';\r\nimport { IAddressModel, AddressModel, ValidateClient, IStopModel } from '../../../gen/ApiClients';\r\nimport { DateComponent } from '../common/DateComponent';\r\nimport { useLocalizationContext } from '../../../hooks/useLocalizationContext';\r\nimport { validateTimings } from '../common/Utils';\r\nimport { useClient } from '../../../hooks/useClient';\r\nimport { AddressFormComponent } from '../common/addresses/AddressFormComponent';\r\n\r\nexport const Step2 = () => {\r\n const validateClient = useClient(ValidateClient);\r\n const locContext = useLocalizationContext();\r\n const context = useContext(TransportContext);\r\n const [model, setModel] = useState(context.state.lastStop);\r\n\r\n const handleSetAddress = (address: IAddressModel) => {\r\n setModel({ ...model, address: new AddressModel(address) });\r\n context.nextSubstep();\r\n }\r\n const handleSetDate = async (date: Date, specifier: string) => {\r\n const x = { ...model, date: date, dateSpecifier: specifier }\r\n setModel(x);\r\n await context.setLastStop(x);\r\n }\r\n\r\n const render = () => {\r\n if (context.subStep === 0) {\r\n return context.goBackToStep(1)} />\r\n } else if (context.subStep === 1 && context.state.id) {\r\n return context.previousSubStep()}\r\n validate={(date, spec) => validateTimings(validateClient, context.state.id ? context.state.id : '', context.state.lastStop ? context.state.lastStop.id : undefined, model, date, spec)} />\r\n }\r\n return
nothing found
\r\n }\r\n\r\n return (\r\n render()\r\n );\r\n}","import React from 'react';\r\nimport { useLocalizationContext } from '../../../hooks/useLocalizationContext';\r\nimport './ErrorScreen.scss';\r\n\r\nexport const ErrorScreen = () => {\r\n const locContext = useLocalizationContext();\r\n return (\r\n
\r\n
ERROR
\r\n
Whoops, something is wrong...
\r\n
{locContext.serverError}
\r\n
\r\n );\r\n}","import React from 'react';\r\nimport { Formik, Form, FormikProps } from 'formik';\r\nimport { Responsive } from 'semantic-ui-react';\r\nimport { useLocalizationContext } from '../../../hooks/useLocalizationContext';\r\nimport { IContactMeModel } from '../../../gen/ApiClients';\r\nimport { setFieldTouched } from '../../common/forms/FormsUtils';\r\nimport { TextareaField } from '../../common/forms/TextareaField';\r\nimport { TextLinkButton } from '../../common/buttons/TextLinkButton';\r\nimport { PrimaryButton } from '../../common/buttons/PrimaryButton';\r\nimport { TextInputField } from '../../common/forms/TextInputField';\r\nimport './ContactMeForm.scss';\r\nimport * as yup from 'yup';\r\n\r\ninterface IProps {\r\n fileNumber: string;\r\n onSend: (model: IContactMeModel) => void;\r\n onCancel: () => void;\r\n}\r\n\r\nexport const ContactMeForm = ({ fileNumber, onSend, onCancel }: IProps) => {\r\n const locContext = useLocalizationContext();\r\n const validateSchema = yup.object().shape({\r\n companyName: yup\r\n .string()\r\n .required(locContext.fillIn),\r\n vatNumber: yup\r\n .string()\r\n .required(locContext.fillIn),\r\n email: yup\r\n .string()\r\n .email()\r\n .required(locContext.fillIn),\r\n });\r\n\r\n const onClickSubmit = async (props: FormikProps, e: any) => {\r\n e.preventDefault();\r\n props.setSubmitting(true);\r\n setFieldTouched('email', props);\r\n setFieldTouched('vatNumber', props);\r\n setFieldTouched('companyName', props);\r\n var isValid = await validateSchema.isValid(props.values);\r\n if (isValid) {\r\n await onSend(props.values);\r\n }\r\n props.setSubmitting(false);\r\n }\r\n\r\n return (\r\n
\r\n \r\n initialValues={{ email: '', phone: '', comments: '' }}\r\n isInitialValid={true}\r\n validationSchema={validateSchema}\r\n onSubmit={() => { }}>\r\n {(props) => (\r\n
\r\n
\r\n
{locContext.contactMe}
\r\n
{locContext.fileNumber}
\r\n
{fileNumber}
\r\n label={locContext.companyName} xName=\"companyName\" />\r\n label={locContext.labelContactPerson} xName=\"contactName\" optional />\r\n label={locContext.vatNumber} xName=\"vatNumber\" />\r\n label={locContext.email} xName=\"email\" />\r\n label={locContext.phoneNumber} xName=\"phone\" optional />\r\n label={locContext.comments} xName=\"comments\" optional />\r\n \r\n
\r\n
\r\n onCancel()}>{locContext.cancel}\r\n onClickSubmit(props, e)}>{locContext.send}\r\n
\r\n
\r\n
\r\n \r\n
\r\n onClickSubmit(props, e)}>{locContext.send}\r\n onCancel()}>{locContext.cancel}\r\n
\r\n
\r\n
\r\n
\r\n )}\r\n \r\n
\r\n );\r\n}\r\n","import React, { useContext, useState, useEffect } from 'react';\r\nimport { TextLinkButton } from '../../common/buttons/TextLinkButton';\r\nimport { PrimaryButton } from '../../common/buttons/PrimaryButton';\r\nimport { TransportContext } from '../../../context/TransportSubmitContext';\r\nimport { ErrorScreen } from '../common/ErrorScreen';\r\nimport { useLocalizationContext } from '../../../hooks/useLocalizationContext';\r\nimport { StopsViewComponent } from '../common/StopsViewComponent';\r\nimport { ModalContext } from '../../../context/ModalContext';\r\nimport { ContactMeForm } from './ContactMeForm';\r\nimport { TransportClient, ContactMeModel } from '../../../gen/ApiClients';\r\nimport { useClient } from '../../../hooks/useClient';\r\nimport { showSuccessToast } from '../../common/toast/ToastNotification';\r\nimport './Step4.scss';\r\n\r\nexport const Step4 = () => {\r\n const locContext = useLocalizationContext();\r\n const context = useContext(TransportContext);\r\n const [hasError, setHasError] = useState(false);\r\n const modalContext = useContext(ModalContext);\r\n const client = useClient(TransportClient);\r\n\r\n useEffect(() => {\r\n if (context.calculatedResult) {\r\n if (context.calculatedResult.hasError === true || context.calculatedResult.fileId === undefined) {\r\n setHasError(true);\r\n }\r\n }\r\n }, [context.calculatedResult]);\r\n\r\n const onContactMe = () => {\r\n const fileNumber = context.state.fileNumber ? context.state.fileNumber : 'No filenumber found...';\r\n modalContext.open(\r\n {\r\n await client.contactMe(fileNumber, new ContactMeModel(model));\r\n modalContext.close();\r\n showSuccessToast(locContext.mailSent);\r\n }}\r\n onCancel={() => modalContext.close()}\r\n />\r\n , false);\r\n }\r\n\r\n if (!context.calculatedResult) {\r\n return null;\r\n } else if (hasError || context.calculatedResult.hasError) {\r\n console.log('has error = true');\r\n return \r\n } else if (context.state === undefined) {\r\n console.log('state is null');\r\n return \r\n } else {\r\n return (\r\n
\r\n
{locContext.price}
\r\n
{locContext.fileNumber}
\r\n
{context.state.fileNumber}
\r\n {/*
{locContext.date}
\r\n
{toDefaultFormat(context.state.)}
*/}\r\n \r\n
{locContext.price}
\r\n
€ {context.state.amount}
\r\n
\r\n {context.state.costs ?\r\n context.state.costs.map(t =>\r\n
\r\n
{t.description}
\r\n
€ {t.amount}
\r\n
)\r\n : null}\r\n
\r\n
{locContext.route}
\r\n
{context.state.totalDistance} km
\r\n
\r\n
\r\n context.goBackToStep(3)}>{locContext.previous}\r\n onContactMe()}>{locContext.contactMe}\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}","import React, { useContext } from 'react';\r\nimport { TransportContext } from '../../../context/TransportSubmitContext';\r\nimport { TextLinkButton } from '../../common/buttons/TextLinkButton';\r\nimport { PrimaryButton } from '../../common/buttons/PrimaryButton';\r\nimport { StopsViewComponent } from '../common/StopsViewComponent';\r\nimport { useLocalizationContext } from '../../../hooks/useLocalizationContext';\r\n\r\nexport const Step3 = () => {\r\n const locContext = useLocalizationContext();\r\n const context = useContext(TransportContext);\r\n\r\n return (\r\n
\r\n
{locContext.price}: {locContext.checkYourData}
\r\n \r\n
\r\n
\r\n context.goBackToStep(2)}>{locContext.previous}\r\n context.calculate()}>{locContext.next}\r\n
\r\n
\r\n
\r\n );\r\n}","import React, { useContext, useEffect } from 'react';\r\nimport { Header } from './header/Header';\r\nimport { TransportContext } from '../../context/TransportSubmitContext';\r\nimport { Step1 } from './step1/Step1';\r\nimport { Step2 } from './step2/Step2';\r\nimport { Step4 } from './step4/Step4';\r\nimport { Step3 } from './step3/Step3';\r\nimport { useParams } from 'react-router-dom';\r\nimport { IRouteParamsWithId } from './IRouteParamsWithId';\r\n\r\nexport const Wrapper = () => {\r\n\tconst { id } = useParams();\r\n\tconst context = useContext(TransportContext);\r\n\r\n\tuseEffect(\r\n\t\t() => {\r\n\t\t\tcontext.onMountOrRefresh(id);\r\n\t\t},\r\n\t\t// eslint-disable-next-line\r\n\t\t[id]\r\n\t);\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t{context.step === 1 && }\r\n\t\t\t{context.step === 2 && }\r\n\t\t\t{context.step === 3 && }\r\n\t\t\t{context.step === 4 && }\r\n\t\t\t{(context.step < 1 || context.step > 4) &&
Whoops, nothing found
}\r\n\t\t
\r\n\t);\r\n};\r\n","import buildJson from './build.json';\r\n\r\nexport const build: number = buildJson.Build;\r\n","import React, { useEffect } from 'react';\r\nimport { build } from '../build';\r\nimport { BuildClient } from '../gen/ApiClients';\r\nimport { useClient } from '../hooks/useClient';\r\nimport { clearCacheAndReloadApplication } from '../infrastructure/Utils';\r\n\r\nconst sleep = (ms: number) => new Promise(r => setTimeout(r, ms));\r\n\r\nexport const AppUpdateWall: React.FC = ({ children }: any) => {\r\n\tconst buildClient = useClient(BuildClient);\r\n\r\n\tuseEffect(() => {\r\n\t\tconst load = async () => {\r\n\t\t\tconst x = await buildClient.current();\r\n\t\t\tif (build < x) {\r\n\t\t\t\tawait sleep(2000);\r\n\t\t\t\tclearCacheAndReloadApplication();\r\n\t\t\t}\r\n\t\t};\r\n\t\tload();\r\n\t\t// eslint-disable-next-line\r\n\t}, []);\r\n\r\n\treturn children;\r\n};\r\n","import React from 'react';\r\nimport { Route, Switch, Redirect } from 'react-router-dom';\r\nimport { BrowserRouterProvider } from './context/RouterContext';\r\nimport { library } from '@fortawesome/fontawesome-svg-core';\r\n// library stuff for font-awesome\r\nimport { faEyeSlash, faEye } from '@fortawesome/free-regular-svg-icons';\r\nimport {\r\n\tfaCheck,\r\n\tfaChevronDown,\r\n\tfaExclamationTriangle,\r\n\tfaChevronUp,\r\n\tfaPlus,\r\n\tfaPlusCircle,\r\n\tfaTimes,\r\n\tfaInfoCircle,\r\n\tfaEnvelope,\r\n} from '@fortawesome/free-solid-svg-icons';\r\nimport { ToastContainer, toast, Slide } from 'react-toastify';\r\nimport 'react-toastify/dist/ReactToastify.css';\r\nimport { ModalProvider } from './context/ModalContext';\r\nimport { LocalizationProvider } from './context/LocalizationContext';\r\nimport { LandingPage } from './components/landingPage/LandingPage';\r\nimport { TransportProvider } from './context/TransportSubmitContext';\r\nimport { Wrapper } from './components/blank/Wrapper';\r\nimport * as fromRoutes from './routes';\r\nimport './App.css';\r\nimport { AppUpdateWall } from './components/AppUpdateWall';\r\n\r\nlibrary.add(faCheck, faChevronDown, faExclamationTriangle, faChevronUp, faPlus, faPlusCircle, faTimes, faInfoCircle, faEye, faEyeSlash, faEnvelope);\r\n\r\nexport function App() {\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t);\r\n}\r\n","import React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport './index.scss';\r\nimport * as serviceWorker from './serviceWorker';\r\nimport { App } from './App';\r\n\r\nReactDOM.render(\r\n ,\r\n document.getElementById('root'));\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: http://bit.ly/CRA-PWA\r\nserviceWorker.unregister();\r\n"],"sourceRoot":""}