{"version":3,"sources":["components/CacheBuster.js","common/constants.ts","services/ring-buffer.ts","services/index.ts","services/log.ts","store/app-store.ts","store/index.tsx","store/root-store.ts","hooks/effect-once.ts","hooks/update-effect.ts","hooks/logger.ts","hooks/st8.ts","hooks/why-did-you-update.ts","app/user-card.tsx","app/footer.tsx","routes.ts","app/header.tsx","views/about/index.tsx","api/log.ts","views/change-pass/change-pass-form.tsx","components/modal-spinner.tsx","components/modal-dialog.tsx","views/change-pass/index.tsx","views/forgot-pass/forgot-pass-form.tsx","views/forgot-pass/index.tsx","components/flex-row.tsx","views/login/login-form.tsx","views/login/login.tsx","views/logout/index.tsx","api/report.ts","api/municipalities.ts","api/submitAgreement.ts","api/pdfAgreement.ts","api/contactPositions.ts","api/geocodeReverse.ts","api/geocode.ts","components/report-footer.tsx","views/orders/order-item.tsx","views/orders/orders-card.tsx","views/orders/orders.tsx","api/orders.ts","views/orders2/order-item.tsx","views/orders2/orders-card.tsx","views/orders2/orders2.tsx","api/orders2.ts","views/period-report/period-report-card.tsx","views/period-report/period-report-view.tsx","views/new-user/new-user-form.tsx","views/new-user/index.tsx","views/request/request-card.tsx","components/modal-dialog-full.tsx","views/request/tyre-limits.ts","views/request/request.tsx","views/request2/request-card.tsx","views/request2/request2.tsx","views/select-point/index.tsx","views/year-report/year-report-card.tsx","views/year-report/year-report-view.tsx","api/agreement-content.ts","views/agreement/termsAndConditions.tsx","views/agreement-new/isTyreImporter.tsx","views/agreement/cstPointFields.tsx","views/agreement/cstPointNewFields.tsx","views/agreements/agreements.tsx","api/agreements.ts","api/pdfAgreementById.ts","views/agreement/agreement.tsx","api/agreement.ts","views/agreement-new/termsAndConditions.tsx","views/agreement-new/cstPointFields.tsx","views/agreement-new/cstPointNewFields.tsx","views/agreement-new/new-agreement.tsx","api/agreement-by-agreementid.ts","views/certificate/certificate-card.tsx","views/certificate/certificate-view.tsx","api/certificate.ts","views/cstpoint/cstpoint-card.tsx","views/cstpoint/cstpoint.tsx","views/reward/reward-page.tsx","app/app-route.tsx","app/app.tsx","serviceWorker.ts","index.tsx","gitnum.js"],"names":["global","appVersion","gitnum","version","CacheBuster","props","_this","Object","D_Projects_Eco_Elastika_ecopoint_web_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_1__","this","_super","call","state","loading","isLatestVersion","refreshCacheAndReload","console","log","caches","keys","then","names","_step","_iterator","D_Projects_Eco_Elastika_ecopoint_web_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_createForOfIteratorHelper__WEBPACK_IMPORTED_MODULE_0__","s","n","done","name","value","delete","err","e","f","window","location","reload","_this2","myHeaders","Headers","append","myInit","method","headers","myRequest","Request","fetch","response","json","meta","latestVersion","currentVersion","setState","JSON","stringify","versionA","versionB","versionsA","split","versionsB","length","a","Number","shift","b","isNaN","serverGreaterThan","concat","_this$state","children","React","Component","AgreementTypes","CstPointTypes","AgreementsIds","RingBuffer","size","classCallCheck","_size","overwrite","Size","esm_get","getPrototypeOf","prototype","startAt","_get2","_len","arguments","items","Array","_key","shiftBack","apply","_len2","_key2","start","deleteCount","removed","_len3","_key3","push","_get3","_len4","_key4","shiftFor","messages","preservedConsoleLog","args","createClass","Services","configure","enforceActions","AppStore","_dec","persist","_class","initializerDefineProperty","_descriptor","_descriptor2","_descriptor3","_descriptor4","_descriptor5","_descriptor6","_descriptor7","_descriptor8","_descriptor9","_descriptor10","_descriptor11","_descriptor12","_descriptor13","_descriptor14","_descriptor15","_descriptor16","_descriptor17","_descriptor18","_descriptor19","_descriptor20","_descriptor21","_descriptor22","_descriptor23","_descriptor24","init","key","get","passwordEnc","cstPointId","crypto","decrypt","toString","Utf8","cstPoints","user","password","points","cipher","encrypt","lastLoginDate","Date","valueOf","toConsumableArray","CstPointId","cstPointTypeId","CstPointTypeId","isTireShop","cstPointName","CstPointName","cstPointAddress","CstPointAddress","isNotActive","IsNotActive","hasConsented","HasConsented","consentedAgreementId","ConsentedAgreementId","awardNoParticipate","AwardNoParticipate","inUseAgreementId","parseInt","InUseAgreementId","validContractId","ValidContractId","dt","now","sessionStorage","setItem","toLocaleDateString","toLocaleTimeString","checkGroupTermsMilestone","defineBannerParams","getTime","isAlerted","lastUpdateDate","id","filter","item","route","prevRoute","webapi","port","hostname","setWebApi","showBanner","isPointSelected","Shops","showNewTermsBanner","showTerms","Shops_0","Shops_Sept_2022","Shops_Sept_2023","bannerText","showNewTerms","OthersNoDialitirio","firstMustConsent","Dialitirio","applyDecoratedDescriptor","observable","configurable","enumerable","writable","initializer","computed","getOwnPropertyDescriptor","action","rootStore","RootStore","appStore","create","hydrate","RootStoreContext","createContext","RootStoreProvider","react_default","createElement","Provider","useRootStore","Consumer","useContext","useEffectOnce","effect","useEffect","useUpdateEffect","deps","isInitialMount","useRef","current","useLogger","componentName","rest","useSt8","initial","Error","bind","useState","useWhyDidYouUpdate","previousProps","allKeys","objectSpread2","changesObj","forEach","from","to","UserCard","_ref","typeId","address","badgeText","Card","className","Img","variant","src","Header","Title","Body","Row","Col","Badge","style","fontSize","Footer","Navbar","bg","fixed","maxHeight","Text","ROUTES","About","ChangePass","ForgotPass","Login","Select","Logout","Orders","Orders2","PeriodReport","Register","Request2","YearReport","Agreement","NewAgreement","Certificate","CstPoint","Reward","isLogin","isStorePoint","onLogoutClick","_useState","_useState2","slicedToArray","expanded","setExpanded","expand","onToggle","onSelect","Brand","href","rel","alt","width","height","Fragment","Toggle","aria-controls","Collapse","Nav","Link","as","NavLink","eventKey","index_esm","onClick","setPrevRoute","pathname","unselectPoint","textAlign","color","cursor","Form","inline","Button","AboutView","_useLogQuery","message","setMessage","_useState3","_useState4","records","setRecords","_useAxios","useAxios","url","origin","trigger","forceDispatchEffect","error","reFetch","data","oc","resp","ErrMessage","ErrResult","useLogQuery","setTimeout","alert","history","loginDate","diff","Math","abs","round","hoursPassed","logOut","validationSchema","yup","shape","username","email","tempPass","required","min","ChangePassForm","onSubmit","_useForm","useForm","mode","register","handleSubmit","formState","errors","canSubmit","dirty","isValid","maxWidth","Group","InputGroup","Prepend","Control","placeholder","type","ref","isInvalid","Feedback","block","disabled","ModalSpinner","show","Modal","centered","Spinner","borderWidth","animation","ModalDialog","title","_ref$onClick","setShow","backdrop","ChangePassView","res","parse","errMessage","margin","change_pass_form","modal_dialog","modal_spinner","ForgotPassForm","ForgotPassView","forgot_pass_form","FlexRow","styled","div","_templateObject","taggedTemplateLiteral","LoginForm","_ref$message","_ref$onForgotClick","onForgotClick","_ref$onNewUserClick","onNewUserClick","_ref$onTemporaryClick","onTemporaryClick","Subtitle","flex_row","OverlayTrigger","placement","overlay","Tooltip","LoginView","obj","errResult","login","login_form","LogoutView","useReportQuery","report","orderId","undefined","pointId","year","load","setLoad","_useState5","_useState6","finish","setFinish","getType","blob","base64StringToBlob","Blob","navigator","userAgent","includes","postMessage","Filename","saveAs","busy","useMunicipalitiesQuery","useSubmitAgreementQuery","buildUrl","agreement","AgreementId","dataChanged","Address","Municipality","ZipCode","Phone1","Phone2","Phone3","Fax1","Email","Contact","ContactPosition","AddressLongitude","AddressLatitude","IsTyreImporter","CertifyNoTyreImport","asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_context","prev","next","axios","catch","sent","stop","_x","useAgreementPDFQuery","useContactPositionsQuery","useGeocodeReverseQuery","variables","lat","lng","zipCode","streetNumber","results","address_components","map","row","types","long_name","useGeocodeQuery","geometry","ReportFooter","buttonText","_ref$buttonDisabled","buttonDisabled","_ref$whiteBg","whiteBg","setEmail","styles","backgroundColor","_e","controlId","Check","label","defaultChecked","onChange","OrderItem","keyValue","order","collapsedId","colDate","ColDate","collectorName","CollectorName","notes","Notes","reqDate","ReqDate","status","Status","tyre1","Tyre1","tyre2","Tyre2","tyre3","Tyre3","tyre4","Tyre4","tyre5","Tyre5","plannedDate","PlannedDate","isPlannedDateConfirmed","IsPlannedDateConfirmed","collectorPhone","CollectorPhone","onWait","subtitle","classColor","subsubtitle","Accordion","Label","column","sm","md","lg","plaintext","readOnly","defaultValue","Table","responsive","colSpan","report_footer","OrderId","OrdersCard","orders","recNo","onClickRefresh","onReportRequest","setCollapsedId","handleItemClick","handleReportRequest","activeKey","index","order_item","shortid","generate","OrdersView","setOrderId","emailChecked","setEmailChecked","_useReportQuery","reFetchReport","_useOrdersQuery","useOrdersQuery","recordsNo","RecNo","orders_card","_orderId","_email","OrderWItem","weight","Weight","OrdersWCard","orders2_order_item","OrdersView2","_useOrders2Query","useOrders2Query","orders2_orders_card","PeriodReportCard","subDays","setFrom","setTo","isOpenFrom","setIsOpenFrom","_useState7","_useState8","isOpenTo","setIsOpenTo","toggleCalendarFrom","toggleCalendarTo","format","minWidth","es","maxDate","selected","date","withPortal","minDate","PeriodReportView","fromDate","setFromDate","toDate","setToDate","strFromDate","strToDate","period_report_card","_fromDate","_toDate","NewUserForm","NewUserView","new_user_form","testValue","max","testMessage","ctx","RequestCard","_ref$notQ","notQ4","_ref$notQ2","notQ1235","tyreLimits","test","max1","max2","max3","max4","max5","newOrder","CstPointStatus","showAlert","setShowAlert","initialValues","textButton","alertHeader","alertBody","Dates","alertColor","defaultValues","watch","watch1","watch2","watch3","watch4","watch5","reqMinimum","min1","min2","min3","min4","min5","canEdit1235","canEdit4","Alert","onClose","dismissible","Heading","display","show1","autoFocus","show2","show3","show4","show5","ModalDialogFull","text","shopsTyreLimits","stolosTyreLimits","kdayTyreLimits","anekselegtiTyreLimits","anagomosiTyreLimits","metaxeirismenaTyreLimits","getTyreLimits","RequestView","isActive","setIsActive","modalText","setModalText","finishPre","setFinishPre","_useState9","_useState10","setOrder","_useState11","_useState12","order1235","setOrder1235","_useState13","_useState14","order4","setOrder4","_useState15","_useState16","_useState17","_useState18","orderFormData","setOrderFormData","urlPre","responsePre","loadingPre","errorPre","dataPre","orderObj","_useAxios2","formData","modal_dialog_full","request_card","RequestWCard","step","RequestWView","request2_request_card","SelectPointView","selectPoint","paddingTop","GroupName","YearReportCard","years","ret","i","getFullYear","lastYears","setYear","xs","event","target","YearReportView","year_report_card","_year","useAgreementContentQuery","record","setRecord","TermsAndConditions","agreementId","_useAgreementContentQ","pdfFileLink","dangerouslySetInnerHTML","__html","TextContent","setFieldValue","getFieldsValues","setCanConsent","setConsented","_ref$tyreImporterText","tyreImporterText","isTyreImporter","setIsTyreImporter","calcCanConsent","vIsTyreImporter","vCertifyNoTyreImport","handleIsTyreImporterChange","valueIsTyreImporter","values","marginBottom","checked","Dialitiria","valueCertifyNoTyreImport","CstPointFields","consented","recordsMun","recordsPos","isFirstRun","isFirstRun2","ContactPositionNew","dontShowImporterText","Municipalities","Kdai","Apovlita","canConsent","setValue","getValues","setDataChanged","position","setPosition","newOption","setNewOption","setAddress","setZipCode","setLat","setLng","_useGeocodeQuery","fetchGeo","_useGeocodeReverseQue","addressRecords","fetchGeoReverse","_useState19","_useState20","zoom","setZoom","_useState21","_useState22","center","setCenter","_useLoadScript","useLoadScript","googleMapsApiKey","isLoaded","loadError","timer","clearTimeout","toUpperCase","processedData","Id","Name","reactgooglemapsapi_esm","mapContainerStyle","onPositionChanged","draggable","onDragEnd","latLng","isTyreImporter_IsTyreImporter","Stolos","UsedTires","Anagomosi","NewAddress","NewZipCode","NewPhone1","NewPhone2","NewPhone3","NewNewFax1","NewContact","NewContactPosition","NewMunicipality","CstPointNewFields","onPDFSubmit","NewFax1","NewEmail","NewAddressLatitude","NewAddressLongitude","AgreementsView","_useAgreementsQuery","useAgreementsQuery","rec","ConsentDate","AgreementName","UserProfile_EMail","IsTerminated","TerminatedDate","agreements_PrintAgreement","agreementIID","IID","PrintAgreement","_useAgreementByIdPDFQ","useAgreementByIdPDFQuery","AgreementView","useHistory","setAgreement","_useAgreementQuery","useAgreementQuery","_useAgreementPDFQuery","finishPdf","reFetchPDF","_useAgreementPDFQuery2","busyEmail","finishEmail","sendEmail","_useMunicipalitiesQue","loadingMun","_useContactPositionsQ","loadingPos","_useSubmitAgreementQu","recordsSubmit","submit","SetConsented","printOnly","setPrintOnly","agreement_regeneratorRuntime","setConsentedAgreementId","consent","setIsNotActive","asyncEffect","calculateWichAgreementId","termsAndConditions_TermsAndConditions","PdfFileName","InUsePdfFileName","DataChanged","marginTop","cstPointNewFields","getNewFields","cstPointFields","newAgreement","agreements_AgreementsView","NewAgreementView","_useAgreementByAgreem","useAgreementByAgreementIdQuery","agreement_new_termsAndConditions_TermsAndConditions","agreement_new_cstPointNewFields","agreement_new_cstPointFields","CertificateCard","CertificateView","_useCertificateQuery","useCertificateQuery","certificate_card","VAT","IRS","ima","matches","SelectMunicipality","_ref2","options","setOptions","CstPointCard","cstPoint","reset","cstpoint_card_SelectMunicipality","CstPointView","setKey","setCstPoint","cstPointFormData","setCstPointFormData","refetchCstPoint","cstPointObj","cstpoint_card","RewardPage","preRefetch","handleAwardNoParticipateChange","reward_page_regeneratorRuntime","urlSetNoParticipate","chBox","currentTarget","document","getElementById","float","clear","open","PrivateRoute","component","objectWithoutProperties","_excluded","path","react_router","assign","render","isLogIn","CalcFirstPage","gotoRoute","SelectRoute","_excluded2","PublicRoute","_ref3","_excluded3","memo","withSizes","_ref6","isMobile","observer","_ref4","AbsoluteWrapper","app_route_templateObject","useLocation","ButtonLink","_ref5","fontWeight","SideBar","useCallback","app_header","background","zIndex","paddingBottom","marginLeft","Container","user_card","app_route_PublicRoute","exact","strict","app_route_SelectRoute","app_route_PrivateRoute","Orders2View","Request2View","app_route_LoginOrMobileContainer","app_footer","LoginOrMobileContainer","registerLocale","el","setDefaultLocale","App","_ref$config","config","_useIdleTimer","useIdleTimer","timeout","onIdle","localStorage","debounce","handleAddToHomescreenClick","getRemainingTime","getLastActiveTime","getItem","updateDate","minutesPassed","serviceWorker","getRegistrations","registrations","createForOfIteratorHelper","registration","update","setUpdateDate","react_router_dom","basename","build_default","onAddToHomescreenClick","icon","store_RootStoreProvider","app_route","isLocalhost","Boolean","match","registerValidSW","swUrl","onupdatefound","installingWorker","installing","onstatechange","controller","onUpdate","onSuccess","ReactDOM","app_App","URL","process","addEventListener","contentType","indexOf","ready","unregister","checkValidServiceWorker","git","branch","commit","describe"],"mappings":"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","file":"static/js/main.0c57ea62.chunk.js","sourcesContent":["import React from 'react';\r\n//import packageJson from '../package.json';\r\n//global.appVersion = packageJson.version;\r\nimport gitnum from '../gitnum';\r\nglobal.appVersion = gitnum.version;\r\n\r\n// version from response - first param, local version second param\r\nconst serverGreaterThan = (versionA, versionB) => {\r\n const versionsA = versionA.split(/\\./g);\r\n\r\n const versionsB = versionB.split(/\\./g);\r\n while (versionsA.length || versionsB.length) {\r\n const a = Number(versionsA.shift());\r\n\r\n const b = Number(versionsB.shift());\r\n // eslint-disable-next-line no-continue\r\n if (a === b) continue;\r\n // eslint-disable-next-line no-restricted-globals\r\n return a > b || isNaN(b);\r\n }\r\n return false;\r\n};\r\n\r\nclass CacheBuster extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n loading: true,\r\n isLatestVersion: false,\r\n refreshCacheAndReload: () => {\r\n console.log('Clearing cache and hard reloading...');\r\n if (caches) {\r\n // Service worker cache should be cleared with caches.delete()\r\n caches.keys().then(function(names) {\r\n for (const name of names) caches.delete(name);\r\n });\r\n }\r\n\r\n // delete browser cache and hard reload\r\n window.location.reload();\r\n },\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n const myHeaders = new Headers();\r\n myHeaders.append('pragma', 'no-cache');\r\n myHeaders.append('cache-control', 'no-cache');\r\n\r\n const myInit = {\r\n method: 'GET',\r\n headers: myHeaders,\r\n };\r\n\r\n const myRequest = new Request('/meta.json');\r\n //fetch('/meta.json')\r\n fetch(myRequest, myInit)\r\n .then(response => response.json())\r\n .then(meta => {\r\n const latestVersion = meta.version;\r\n const currentVersion = global.appVersion;\r\n this.setState({ latestVersion: latestVersion, currentVersion: currentVersion });\r\n console.log(\r\n 'versions',\r\n latestVersion,\r\n currentVersion,\r\n JSON.stringify(latestVersion === currentVersion),\r\n );\r\n\r\n const shouldForceRefresh = serverGreaterThan(latestVersion, currentVersion);\r\n if (shouldForceRefresh) {\r\n console.log(`We have a new version - ${latestVersion}. Should force refresh`);\r\n this.setState({ loading: false, isLatestVersion: false });\r\n } else {\r\n console.log(\r\n `You already have the latest version - ${latestVersion}. No cache refresh needed.`,\r\n );\r\n this.setState({ loading: false, isLatestVersion: true });\r\n }\r\n });\r\n }\r\n render() {\r\n const {\r\n loading,\r\n isLatestVersion,\r\n refreshCacheAndReload,\r\n latestVersion,\r\n currentVersion,\r\n } = this.state;\r\n return this.props.children({\r\n loading,\r\n isLatestVersion,\r\n refreshCacheAndReload,\r\n latestVersion,\r\n currentVersion,\r\n });\r\n }\r\n}\r\n\r\nexport default CacheBuster;\r\n","export enum AgreementTypes {\r\n Shops_0 = 1,\r\n Shops_Sept_2022 = 2,\r\n Shops_Sept_2023 = 3,\r\n}\r\n\r\nexport enum CstPointTypes {\r\n Shops = 0,\r\n OthersNoDialitirio = 1,\r\n Dialitirio = 2,\r\n}\r\n\r\nexport enum AgreementsIds {\r\n Shops2021 = 1,\r\n Shops2022 = 2,\r\n Shops2023 = 3,\r\n Dialitiria = 4,\r\n Stolos = 5,\r\n Kdai = 6,\r\n Municipalities = 7,\r\n Apovlita = 8,\r\n Anagomosi = 9,\r\n UsedTires = 10,\r\n}\r\n","export default class RingBuffer extends Array {\r\n constructor(size: number) {\r\n super();\r\n this._size = size;\r\n }\r\n\r\n private _size: number;\r\n\r\n public get Size(): number {\r\n return this._size;\r\n }\r\n\r\n private shiftBack(length: number) {\r\n var overwrite = this.length + length - this.Size;\r\n\r\n if (overwrite > 0) {\r\n super.splice(0, overwrite);\r\n }\r\n }\r\n\r\n private shiftFor(length: number) {\r\n var overwrite = this.length + length - this.Size;\r\n\r\n if (overwrite > 0) {\r\n var startAt = this.length - overwrite;\r\n super.splice(startAt, overwrite);\r\n }\r\n }\r\n\r\n push(...items: T[]): number {\r\n this.shiftBack(items.length);\r\n return super.push(...items);\r\n }\r\n\r\n /**\r\n * Combines two or more arrays.\r\n * @param items Additional items to add to the end of array1.\r\n */\r\n concat(...items: U[]): T[];\r\n /**\r\n * Combines two or more arrays.\r\n * @param items Additional items to add to the end of array1.\r\n */\r\n concat(...items: T[]): T[] {\r\n this.shiftBack(items.length);\r\n return super.concat(items);\r\n }\r\n\r\n /**\r\n * Removes elements from an array and, if necessary,\r\n * inserts new elements in their place, returning the deleted elements.\r\n * @param start The zero-based location in the array from which\r\n * to start removing elements.\r\n * @param deleteCount The number of elements to remove.\r\n * @param items Elements to insert into the array in place of the deleted elements.\r\n */\r\n splice(start: number, deleteCount?: number, ...items: T[]): T[] {\r\n var removed = super.splice(start, deleteCount);\r\n this.push(...items);\r\n return removed;\r\n }\r\n\r\n /**\r\n * Inserts new elements at the start of an array.\r\n * @param items Elements to insert at the start of the Array.\r\n */\r\n unshift(...items: T[]): number {\r\n this.shiftFor(items.length);\r\n return super.unshift(...items);\r\n }\r\n}\r\n","import { Log } from './log';\r\n\r\n//* Export Factories\r\n//*\r\nexport const log = Log();\r\n\r\n//* Export Classes\r\n//*\r\nexport class Services {}\r\n\r\nexport const service = new Services();\r\n","import RingBuffer from './ring-buffer';\r\n\r\n// * Use Factory Pattern!\r\n\r\nexport const Log = () => {\r\n console.log('[Log] Factory');\r\n if (process.env.REACT_APP_CONSOLE !== '1') {\r\n console.log('[Log] Disabled');\r\n window['console']['log'] = function() {};\r\n }\r\n let messages = new RingBuffer(100);\r\n return {\r\n messages,\r\n log(...args: any[]) {\r\n var preservedConsoleLog = console.log;\r\n preservedConsoleLog.apply(console, args);\r\n if (process.env.REACT_APP_CONSOLE_MESSAGES === '1') {\r\n messages.push(args);\r\n }\r\n },\r\n };\r\n};\r\n\r\nexport interface Log extends ReturnType {}\r\n","import { observable, action, configure, computed } from 'mobx';\r\nimport { persist } from 'mobx-persist';\r\nimport * as crypto from 'crypto-js';\r\nimport { log } from '../services';\r\nimport { CstPoint } from '../models';\r\nimport { AgreementTypes, CstPointTypes } from '../common/constants';\r\n\r\nconfigure({ enforceActions: 'always' }); // strict mode\r\n//------------------------------------------------------\r\n// * --- Functions ---\r\n//\r\n\r\n// * --- Store Class ---\r\n//\r\nexport class AppStore {\r\n @observable webapi = '';\r\n @persist @observable user = '';\r\n @persist @observable private passwordEnc = '';\r\n @persist('list') @observable cstPoints = [] as CstPoint[];\r\n @persist @observable lastLoginDate = 0;\r\n @persist @observable lastUpdateDate = 0;\r\n @persist @observable cstPointId = 0;\r\n @persist @observable cstPointTypeId = 0;\r\n @persist @observable cstPointName = '';\r\n @persist @observable cstPointAddress = '';\r\n @persist @observable hasConsented = false;\r\n @persist @observable consentedAgreementId = 0;\r\n @persist @observable awardNoParticipate = false;\r\n @persist @observable inUseAgreementId = 0; // Σύμβαση (Όροι Συνεργασίας) που ισχύει για την ομάδα και τύπο του σημείου\r\n @persist @observable validContractId = 0; // Σύμβαση εν Ισχύ (για παλαιό τρόπο)\r\n @persist @observable firstMustConsent = false; // Να υπογράψει πρωτού κάνει οτιδήποτε\r\n @persist @observable isNotActive = false;\r\n @persist @observable isTireShop = false;\r\n @persist @observable isAlerted = false;\r\n @persist @observable prevRoute = '';\r\n\r\n @persist @observable showTerms = false;\r\n @persist @observable showNewTerms = false;\r\n @persist @observable showBanner = false;\r\n @persist @observable bannerText =\r\n 'Έχει αλλάξει η νομοθεσία και χρειάζεται να κάνετε αποδοχή τους νέους όρους συνεργασίας έως τις 31/12/2023.';\r\n\r\n // *\r\n // * --------------- Getters -------------------------------\r\n @computed get isLogIn(): boolean {\r\n return this.passwordEnc !== '';\r\n }\r\n\r\n @computed get isPointSelected(): boolean {\r\n return this.passwordEnc !== '' && this.cstPointId !== 0;\r\n }\r\n\r\n @computed get password(): string {\r\n const bytes = crypto.AES.decrypt(this.passwordEnc, '12345');\r\n const password = bytes.toString(crypto.enc.Utf8);\r\n return password;\r\n }\r\n\r\n @computed get pointsNumber(): number {\r\n return this.cstPoints.length;\r\n }\r\n\r\n // * --------------- Methods -------------------------------\r\n @action login(user: string, password: string, points: CstPoint[]) {\r\n this.user = user;\r\n const cipher = crypto.AES.encrypt(password, '12345');\r\n this.passwordEnc = cipher.toString();\r\n this.lastLoginDate = new Date().valueOf();\r\n this.cstPoints = [...points];\r\n if (points.length === 1) {\r\n this.cstPointId = points[0].CstPointId;\r\n this.cstPointTypeId = points[0].CstPointTypeId;\r\n this.isTireShop = points[0].CstPointTypeId === 0 ? true : false;\r\n this.cstPointName = points[0].CstPointName;\r\n this.cstPointAddress = points[0].CstPointAddress;\r\n this.isNotActive =\r\n typeof points[0].IsNotActive === 'string'\r\n ? points[0].IsNotActive === '0'\r\n ? false\r\n : true\r\n : points[0].IsNotActive === 0\r\n ? false\r\n : true;\r\n this.hasConsented =\r\n typeof points[0].HasConsented === 'string'\r\n ? points[0].HasConsented === 'False'\r\n ? false\r\n : true\r\n : points[0].HasConsented;\r\n this.consentedAgreementId = points[0].ConsentedAgreementId;\r\n this.awardNoParticipate =\r\n typeof points[0].AwardNoParticipate === 'string'\r\n ? points[0].AwardNoParticipate === 'False'\r\n ? false\r\n : true\r\n : points[0].AwardNoParticipate;\r\n this.inUseAgreementId = parseInt(points[0].InUseAgreementId.toString());\r\n this.validContractId = parseInt(points[0].ValidContractId.toString());\r\n } else {\r\n this.cstPointId = 0;\r\n this.cstPointTypeId = 0;\r\n this.cstPointName = '';\r\n this.cstPointAddress = '';\r\n this.isNotActive = true;\r\n this.hasConsented = false;\r\n this.consentedAgreementId = 0;\r\n this.awardNoParticipate = false;\r\n }\r\n const dt = new Date(Date.now());\r\n sessionStorage.setItem('date', dt.toLocaleDateString() + ' ' + dt.toLocaleTimeString());\r\n\r\n // Έναρξη των Group Terms για Παρόχους & Διαλυτήρια\r\n // ακύρωσε πριν το milestone\r\n this.checkGroupTermsMilestone();\r\n\r\n // Define Banner\r\n this.defineBannerParams();\r\n }\r\n\r\n @action checkGroupTermsMilestone() {\r\n // Έναρξη των Group Terms για Παρόχους & Διαλυτήρια\r\n // ακύρωσε πριν το milestone\r\n if (Date.now() < new Date('2023-10-20').getTime()) {\r\n this.inUseAgreementId = 0;\r\n this.validContractId = 0;\r\n }\r\n }\r\n\r\n @action alert() {\r\n this.isAlerted = true;\r\n }\r\n\r\n @action consent() {\r\n this.hasConsented = true;\r\n }\r\n\r\n @action setIsNotActive(value: boolean) {\r\n this.isNotActive = value;\r\n }\r\n\r\n @action setConsentedAgreementId(value) {\r\n this.consentedAgreementId = value;\r\n }\r\n\r\n @action setUpdateDate(value) {\r\n this.lastUpdateDate = value;\r\n }\r\n\r\n @action unselectPoint() {\r\n this.cstPointId = 0;\r\n }\r\n\r\n @action selectPoint(id: number) {\r\n const points = this.cstPoints.filter(item => item.CstPointId === id);\r\n if (points.length === 1) {\r\n this.cstPointId = points[0].CstPointId;\r\n this.cstPointTypeId = points[0].CstPointTypeId;\r\n this.isTireShop = points[0].CstPointTypeId === 0 ? true : false;\r\n this.cstPointName = points[0].CstPointName;\r\n this.cstPointAddress = points[0].CstPointAddress;\r\n this.isNotActive =\r\n typeof points[0].IsNotActive === 'string'\r\n ? points[0].IsNotActive === '0'\r\n ? false\r\n : true\r\n : points[0].IsNotActive === 0\r\n ? false\r\n : true;\r\n this.hasConsented =\r\n typeof points[0].HasConsented === 'string'\r\n ? points[0].HasConsented === 'False'\r\n ? false\r\n : true\r\n : points[0].HasConsented;\r\n this.consentedAgreementId = points[0].ConsentedAgreementId;\r\n this.awardNoParticipate =\r\n typeof points[0].AwardNoParticipate === 'string'\r\n ? points[0].AwardNoParticipate === 'False'\r\n ? false\r\n : true\r\n : points[0].AwardNoParticipate;\r\n this.inUseAgreementId =\r\n points[0].InUseAgreementId === null ? 0 : parseInt(points[0].InUseAgreementId.toString());\r\n this.validContractId = parseInt(points[0].ValidContractId.toString());\r\n }\r\n\r\n // Έναρξη των Group Terms για Παρόχους & Διαλυτήρια\r\n // ακύρωσε πριν το milestone\r\n this.checkGroupTermsMilestone();\r\n\r\n // Define Banner\r\n this.defineBannerParams();\r\n }\r\n\r\n @action setPrevRoute(route: string) {\r\n this.prevRoute = route;\r\n }\r\n\r\n @action logOut() {\r\n this.user = '';\r\n this.passwordEnc = '';\r\n this.cstPoints = [] as CstPoint[];\r\n this.cstPointId = 0;\r\n this.cstPointTypeId = 0;\r\n this.cstPointName = '';\r\n this.cstPointAddress = '';\r\n this.isNotActive = false;\r\n this.hasConsented = false;\r\n this.isAlerted = false;\r\n this.prevRoute = '';\r\n }\r\n\r\n @action private setWebApi(value) {\r\n this.webapi = value;\r\n }\r\n\r\n @action private init() {\r\n log.log(`[AppStore] init`);\r\n //this.setWebApi(`https://${window.location.hostname}/webapi/`);\r\n console.log('port', window.location.port);\r\n if (window.location.hostname === '10.192.64.103')\r\n this.setWebApi(`http://10.192.64.103:8185/webapi/`);\r\n else if (window.location.hostname === '192.168.160.203')\r\n this.setWebApi(`http://192.168.160.203:8085/webapi/`);\r\n else if (window.location.hostname === 'localhost' && window.location.port === '30000') {\r\n //this.setWebApi(`http://192.168.160.203:8085/webapi/`);\r\n //this.setWebApi(`http://10.192.64.103:8185/webapi/`); // production θέλει VPN\r\n //this.setWebApi(`http://85.73.92.64:8185/webapi/`); // production\r\n this.setWebApi(`http://ecopointweb.dyndns.org/webapi/`); // production\r\n } else if (window.location.hostname === 'localhost') {\r\n this.setWebApi(`https://ecopointweb.dyndns.org/webapi/`);\r\n // this.setWebApi(`http://192.168.160.203:8085/webapi/`);\r\n //this.setWebApi(`http://10.192.64.103:8185/webapi/`);\r\n } else if (window.location.port !== '')\r\n this.setWebApi(`https://${window.location.hostname}:${window.location.port}/webapi/`);\r\n else this.setWebApi(`https://${window.location.hostname}/webapi/`);\r\n //this.setWebApi(`https://ecopointweb.dyndns.org/webapi/`);\r\n /* fetch('data/config.json')\r\n .then(res => res.json())\r\n .then(data => {\r\n log.log(window.location.hostname);\r\n this.setWebApi(data.webapi);\r\n log.log('[AppStore] webapi>', this.webapi);\r\n }); */\r\n }\r\n\r\n @action defineBannerParams() {\r\n this.showBanner = false;\r\n if (!this.isPointSelected) return;\r\n\r\n // Εμφανίζω banner για να αποδεχτούν τους όρους μετά την 15/9/2023\r\n // Καταστήματα\r\n\r\n //---------------------------------------------\r\n // Όροι Συνεργασίας\r\n // Καταστήματα\r\n if (this.cstPointTypeId == CstPointTypes.Shops) {\r\n let showNewTermsBanner = false;\r\n this.showTerms = true;\r\n if (\r\n this.hasConsented &&\r\n (this.consentedAgreementId == AgreementTypes.Shops_0 ||\r\n this.consentedAgreementId == AgreementTypes.Shops_Sept_2022)\r\n )\r\n showNewTermsBanner = true;\r\n else if (this.hasConsented && this.consentedAgreementId == AgreementTypes.Shops_Sept_2023)\r\n showNewTermsBanner = false;\r\n else if (!this.hasConsented) showNewTermsBanner = false;\r\n else showNewTermsBanner = false;\r\n\r\n if (!showNewTermsBanner) this.bannerText = '';\r\n else {\r\n this.bannerText =\r\n 'Έχει αλλάξει η νομοθεσία και χρειάζεται να κάνετε αποδοχή τους νέους όρους συνεργασίας έως τις 31/12/2023.';\r\n this.showNewTerms = showNewTermsBanner;\r\n }\r\n }\r\n // Κάτοχοι εκτός Διαλυτηρίων\r\n else if (this.cstPointTypeId == CstPointTypes.OthersNoDialitirio) {\r\n this.showNewTerms = false;\r\n // Αν για την ομάδα χρησιμοποιούνται Όροι Συνεργασίας => Δείξε τους Όρους\r\n this.showTerms = this.inUseAgreementId > 0;\r\n\r\n // Override: Αν έχει υπογεγραμμένο συμβόλαιο => μη δείχνεις τους όρους\r\n if (this.validContractId > 0) this.showTerms = false;\r\n\r\n // Αν δεν υπάρχούν ενεργοί Όροι Συνεργασίας ή Συμβόλαιο => Show Banner\r\n // & firstMustConsent\r\n if (this.showTerms && this.validContractId === 0 && !this.hasConsented) {\r\n this.bannerText = 'Παρακαλούμε αποδεχτείτε τους Όρους συνεργασίας.';\r\n this.showBanner = true;\r\n this.firstMustConsent = true;\r\n } else {\r\n this.showBanner = false;\r\n this.firstMustConsent = false;\r\n this.bannerText = '';\r\n }\r\n }\r\n // Διαλυτήρια\r\n else if (this.cstPointTypeId == CstPointTypes.Dialitirio) {\r\n this.showNewTerms = false;\r\n // Αν για την κατηγορία χρησιμοποιούνται Όροι Συνεργασίας => Δείξε τους Όρους\r\n this.showTerms = this.inUseAgreementId > 0;\r\n\r\n // Override: Αν έχει υπογεγραμμένο συμβόλαιο => μη δείχνεις τους όρους\r\n if (this.validContractId > 0) this.showTerms = false;\r\n\r\n // Αν δεν υπάρχούν ενεργοί Όροι Συνεργασίας ή Συμβόλαιο => Show Banner\r\n // & firstMustConsent\r\n if (this.showTerms && this.validContractId === 0 && !this.hasConsented) {\r\n this.bannerText = 'Παρακαλούμε αποδεχτείτε τους Όρους συνεργασίας.';\r\n this.showBanner = true;\r\n this.firstMustConsent = true;\r\n } else {\r\n this.showBanner = false;\r\n this.firstMustConsent = false;\r\n this.bannerText = '';\r\n }\r\n }\r\n\r\n //---------------------------------------------\r\n // Απενεργοποιημένος Λογαριασμός\r\n\r\n if (this.isNotActive) {\r\n this.showBanner = true;\r\n if (this.isTireShop) {\r\n if (!this.hasConsented) {\r\n this.bannerText =\r\n 'Ανενεργός Λογαριασμός, για ενεργοποίηση αποδεχτείτε τους όρους συνεργασίας';\r\n } else {\r\n this.bannerText =\r\n 'Απενεργοποιημένος Λογαριασμός, για ενεργοποίηση επικοινωνήστε με την Ecoelastika';\r\n }\r\n } else {\r\n if (this.showTerms) {\r\n if (!this.hasConsented) {\r\n this.bannerText =\r\n 'Ανενεργός Λογαριασμός, για ενεργοποίηση αποδεχτείτε τους όρους συνεργασίας';\r\n } else {\r\n this.bannerText =\r\n 'Ανενεργός Λογαριασμός, για ενεργοποίηση επικοινωνήστε με την Ecoelastika. Έχετε αποδεχτεί τους όρους συνεργασίας.';\r\n }\r\n } else {\r\n this.bannerText =\r\n 'Απενεργοποιημένος Λογαριασμός, για ενεργοποίηση επικοινωνήστε με την Ecoelastika';\r\n }\r\n }\r\n }\r\n }\r\n // * --------------- Constructor -------------------------------\r\n constructor() {\r\n this.init();\r\n }\r\n}\r\n","/*****************************************************************************\r\n * ΚΑΝΟΝΙΚΑ ΔΕΝ ΧΡΕΙΑΖΟΝΤΑΙ ΑΛΛΑΓΕΣ ΣΕ ΑΥΤΟ ΤΟ ΑΡΧΕΙΟ\r\n * δημιουργεί το RootStore και το περνάει στο Context και κάνει export\r\n * όλα τα helpers που χρειάζονται στη χρήση.\r\n *\r\n * 1.0.0 25/6/2019 VSA init version\r\n *\r\n *****************************************************************************/\r\n\r\nimport React, { createContext, FC, useContext } from 'react';\r\n\r\nimport { RootStore } from './root-store';\r\n\r\n/** Create the instance of the store */\r\nexport const rootStore = new RootStore();\r\nexport const RootStoreContext = createContext(rootStore);\r\n\r\ntype Props = {};\r\nexport const RootStoreProvider: FC = props => {\r\n return {props.children};\r\n};\r\n\r\n/** Export Consumer as NameConsumer */\r\nexport const RootStoreConsumer = RootStoreContext.Consumer; // for use with class components\r\n/** Export useContext Hook as useName */\r\nexport const useRootStore = () => useContext(RootStoreContext); // for use with Hooks\r\n/**\r\n * Export HOC as withName,\r\n * and injected props as NameInjectedProps\r\n * and props as name\r\n */\r\n//@ts-ignore\r\nexport const withRootStore = Component => props => (\r\n \r\n {context => }\r\n \r\n);\r\nexport type RootStoreInjectedProps = { rootStore: typeof rootStore };\r\n","/**\r\n * Μαζεύει όλα τα stores και τα βάζει μέσα στο RootStore\r\n */\r\nimport { create } from 'mobx-persist';\r\nimport { log } from '../services';\r\n\r\nimport { AppStore } from './app-store';\r\n\r\nexport class RootStore {\r\n appStore = new AppStore();\r\n\r\n constructor() {\r\n const hydrate = create();\r\n hydrate('AppStore', this.appStore).then(() =>\r\n log.log('[RootStore] cstr: AppStore has been hydrated'),\r\n );\r\n }\r\n}\r\n","import { EffectCallback, useEffect } from 'react';\r\n\r\nconst useEffectOnce = (effect: EffectCallback) => {\r\n useEffect(effect, []);\r\n};\r\n\r\nexport default useEffectOnce;\r\n","import { useEffect, useRef } from 'react';\r\n\r\nconst useUpdateEffect: typeof useEffect = (effect, deps) => {\r\n const isInitialMount = useRef(true);\r\n\r\n useEffect(\r\n isInitialMount.current\r\n ? () => {\r\n isInitialMount.current = false;\r\n }\r\n : effect,\r\n deps,\r\n );\r\n};\r\n\r\nexport default useUpdateEffect;\r\n","import useEffectOnce from './effect-once';\r\nimport useUpdateEffect from './update-effect';\r\nimport { log } from '../services';\r\n\r\nconst useLogger = (componentName: string, ...rest) => {\r\n useEffectOnce(() => {\r\n log.log(`> ${componentName} mounted`, ...rest);\r\n return () => log.log(`< ${componentName} unmounted`);\r\n });\r\n\r\n useUpdateEffect(() => {\r\n log.log(`! ${componentName} updated`, ...rest);\r\n });\r\n};\r\n\r\nexport default useLogger;\r\n","import { useState } from 'react';\r\n\r\nfunction st8() {\r\n switch (arguments.length) {\r\n case 0:\r\n return this[0];\r\n case 1:\r\n return void this[1](arguments[0]);\r\n default:\r\n throw new Error('Expected 0 or 1 arguments');\r\n }\r\n}\r\n\r\nfunction useSt8(\r\n initial: (() => T) | T,\r\n): {\r\n (): T;\r\n (newValue: T | ((current: T) => T)): void;\r\n} {\r\n return st8.bind(useState(initial));\r\n}\r\n\r\nexport default useSt8;\r\n","import { useEffect, useRef } from 'react';\r\nimport { log } from '../services';\r\n\r\nexport default function useWhyDidYouUpdate(name, props) {\r\n // Get a mutable ref object where we can store props ...\r\n // ... for comparison next time this hook runs.\r\n const previousProps = useRef();\r\n\r\n useEffect(() => {\r\n if (previousProps.current) {\r\n // Get all keys from previous and current props\r\n const allKeys = Object.keys({ ...previousProps.current, ...props });\r\n // Use this object to keep track of changed props\r\n const changesObj = {};\r\n // Iterate through keys\r\n allKeys.forEach(key => {\r\n // If previous is different from current\r\n if (previousProps.current[key] !== props[key]) {\r\n // Add to changesObj\r\n changesObj[key] = {\r\n from: previousProps.current[key],\r\n to: props[key],\r\n };\r\n }\r\n });\r\n\r\n // If changesObj not empty then output to console\r\n if (Object.keys(changesObj).length) {\r\n log.log('#', name, changesObj);\r\n }\r\n }\r\n\r\n // Finally update previousProps with current props for next hook call\r\n previousProps.current = props;\r\n });\r\n}\r\n","import React, { FC } from 'react';\r\nimport { Row, Col, Card, Badge } from 'react-bootstrap';\r\n\r\ntype Props = {\r\n user: string;\r\n name: string;\r\n typeId: number;\r\n address: string;\r\n};\r\n\r\nconst UserCard: FC = ({ name, typeId, address }) => {\r\n const badgeText = typeId === 2 ? 'Δ' : typeId === 0 ? 'K' : 'ΚεΔ';\r\n return (\r\n \r\n \r\n \r\n Σημείο Συλλογής\r\n \r\n \r\n \r\n \r\n {name}\r\n \r\n {badgeText}\r\n \r\n \r\n {address}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default UserCard;\r\n","import React, { FC } from 'react';\r\nimport { Navbar } from 'react-bootstrap';\r\nimport './footer.css';\r\n\r\n// import { useWhyDidYouUpdate, useLogger } from '../hooks';\r\n\r\nimport gitnum from '../gitnum';\r\nimport * as app from '../../package.json';\r\n\r\ntype Props = {};\r\n\r\nconst Footer: FC = () => (\r\n
\r\n \r\n \r\n {'\\u00A92019 Ecoelastika-Ecopoint'}\r\n \r\n \r\n {gitnum.version}\r\n \r\n \r\n
\r\n);\r\n\r\nexport default Footer;\r\n","export class ROUTES {\r\n static About = '/about';\r\n static ChangePass = '/changePass';\r\n static ForgotPass = '/forgotPass';\r\n static Login = '/';\r\n static Select = '/select'; // Select Point\r\n static Logout = '/logout';\r\n static Orders = '/orders';\r\n static Orders2 = '/orders2';\r\n static PeriodReport = '/period-report';\r\n static Register = '/register';\r\n static Request = '/request';\r\n static Request2 = '/request2';\r\n static YearReport = '/year-report';\r\n static Agreement = '/agreement';\r\n static NewAgreement = '/new-agreement';\r\n static Certificate = '/certificate';\r\n static CstPoint = '/cstpoint';\r\n static Reward = '/reward';\r\n}\r\n","import React, { FC, useState } from 'react';\r\nimport { Navbar, Nav, Form, Button } from 'react-bootstrap';\r\nimport { NavLink } from 'react-router-dom';\r\nimport { FaChevronCircleDown, FaGift, FaUser } from 'react-icons/fa';\r\n// import { useWhyDidYouUpdate, useLogger } from '../hooks';\r\nimport { ROUTES } from '../routes';\r\nimport { useRootStore } from '../store';\r\nimport './header.css';\r\nimport { CstPointTypes } from '../common/constants';\r\n/**\r\n * ΣΗΜΕΙΩΣΕΙΣ:\r\n *\r\n * Για το σωστό έλεγχο του Collapse/Expand στις μικρές οθόνες, δεν χρησιμοποιώ\r\n * τον αυτόματο τρόπο με το collapseOnSelect γιατί εδώ έχω κουμπί στο logout\r\n * και το 'αυτόματο' παίζει σωστά μόνο με navlinks.\r\n * Αναγκαστικά κάνω εγώ την διαχείριση κρατώντας την κατάσταση στο state με τη\r\n * μεταβλητή expanded και χρησιμοποιώντας τα events onToggle και onSelect,\r\n * προσοχή όμως, για να παίξει το onSelect ΠΡΕΠΕΙ να έχω δηλώσει eventKey σε κάθε\r\n * Nav.Link αλλιώς ΔΕΝ δημιουργείται event.\r\n *\r\n */\r\ntype Props = {\r\n isLogin: boolean;\r\n isPointSelected: boolean;\r\n isStorePoint: boolean;\r\n user: string;\r\n onLogoutClick: () => void;\r\n};\r\n\r\nconst Header: FC = ({ isLogin, isPointSelected, isStorePoint, user, onLogoutClick }) => {\r\n /*-------------------- Body -----------------------------------------------*/\r\n const [expanded, setExpanded] = useState(false);\r\n const { appStore } = useRootStore();\r\n\r\n /*-------------------- Handlers -------------------------------------------*/\r\n const handleLogoutClick = () => {\r\n setExpanded(false);\r\n onLogoutClick();\r\n };\r\n\r\n const handleToggle = state => {\r\n //console.log('Toggle', state);\r\n setExpanded(state);\r\n };\r\n\r\n const handleSelect = () => {\r\n //console.log('Select');\r\n setExpanded(false);\r\n };\r\n\r\n const handleUnselectCP = () => {\r\n appStore.setPrevRoute(window.location.pathname);\r\n appStore.unselectPoint();\r\n };\r\n /*-------------------- Render ---------------------------------------------*/\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n\r\n {isLogin && (\r\n <>\r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n )}\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default Header;\r\n","import React, { FC, useEffect } from 'react';\r\nimport { Col, Card } from 'react-bootstrap';\r\nimport { RouteComponentProps } from 'react-router-dom';\r\n\r\nimport { useWhyDidYouUpdate, useLogger } from '../../hooks';\r\nimport { ROUTES } from '../../routes';\r\nimport { useRootStore } from '../../store';\r\nimport { useLogQuery } from '../../api/log';\r\n\r\ntype Props = RouteComponentProps & {};\r\n/*-------------------- Body -----------------------------------------------*/\r\nconst AboutView: FC = props => {\r\n const { appStore } = useRootStore();\r\n useWhyDidYouUpdate('[AboutView]', props);\r\n useLogger('[AboutView]');\r\n const { loading, error, records, reFetch } = useLogQuery();\r\n /*-------------------- Handlers -------------------------------------------*/\r\n if (!appStore.hasConsented && !appStore.isAlerted && appStore.cstPointTypeId === 0) {\r\n setTimeout(function() {\r\n appStore.alert();\r\n props.history.push(ROUTES.Agreement);\r\n }, 500);\r\n }\r\n\r\n useEffect(() => {\r\n reFetch();\r\n }, [reFetch]);\r\n\r\n const hoursPassed = lastLoginDate => {\r\n const loginDate = new Date(lastLoginDate);\r\n const now = new Date();\r\n const diff = (now.getTime() - loginDate.getTime()) / (1000 * 60 * 60);\r\n return Math.abs(Math.round(diff));\r\n };\r\n\r\n useEffect(() => {\r\n if (hoursPassed(appStore.lastLoginDate) >= 8) appStore.logOut();\r\n }, [appStore, appStore.lastLoginDate]);\r\n\r\n /*-------------------- Render ---------------------------------------------*/\r\n return (\r\n \r\n \r\n Πληροφορίες Εφαρμογής\r\n \r\n \r\n \r\n Η συλλογή των ελαστικών τέλους κύκλου ζωής γίνεται απευθείας από τα σημεία συλλογής που\r\n είναι τα βουλκανιζατέρ, τα συνεργεία, τα διαλυτήρια αυτοκινήτων που έχουν συμβληθεί με το\r\n αντίστοιχο Σύστημα Εναλλακτικής Διαχείρισης οχημάτων τέλους κύκλου ζωής (ΕΔΟΕ) καθώς και\r\n τα αναγομωτήρια.\r\n \r\n \r\n Το κάθε σημείο συλλογής όταν συγκεντρώσει τουλάχιστον 60 ελαστικά Κατηγορίας Α ή/και 10\r\n ελαστικά Κατηγορίας Β ή/και 45 ελαστικά Κατηγορίας Γ θα πρέπει να ειδοποιεί την\r\n ECOELASTIKA για την παραλαβή των ελαστικών τέλους κύκλου ζωής, δηλώνοντας την ποσότητα που\r\n έχει συγκεντρώσει ανά κατηγορία ελαστικού η οποία καταγράφεται στο μηχανογραφικό σύστημα\r\n της εταιρίας. Ο συλλέκτης-μεταφορέας που έχει οριστεί για κάθε γεωγραφική περιοχή,\r\n ειδοποιείται ηλεκτρονικά σε καθημερινή βάση από την ECOELASTIKA για τις εκκρεμείς\r\n παραγγελίες.\r\n \r\n \r\n Παράλληλα, το σύστημα παραλαμβάνει λάστιχα από «κατόχους» όπως π.χ. τεχνικές εταιρίες,\r\n οργανισμοί, δήμοι κ.λ.π., κατόπιν υπογραφής ειδικής σχετικής σύμβασης. Με τον τρόπο αυτό\r\n έχει καταστεί εφικτό να οδηγηθούν προς αξιοποίηση σημαντικές ποσότητες που ήταν\r\n συσσωρευμένες από χρόνια, πριν από την ενεργοποίηση του συστήματος της Ecoelastika.\r\n \r\n \r\n \r\n \r\n Επικοινωνία:\r\n \r\n \r\n Εταιρία: ECOELASTIKA Α.Ε.\r\n Διεύθυνση: Σωρού 14\r\n Τ.Κ.: 151 25 Μαρούσι\r\n Τηλ. Επικοινωνίας: 210.61.28.260, 210.61.28.370\r\n Φαξ: 210.61.28.659\r\n Αρ.ΓΕΜΗ: 005728201000\r\n E-mail: info@ecoelastika.gr\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default AboutView;\r\n","import { useState, useEffect } from 'react';\r\nimport useAxios from '@use-hooks/axios';\r\nimport { oc } from 'ts-optchain';\r\nimport { useRootStore } from '../store';\r\nimport { useWhyDidYouUpdate } from '../hooks';\r\nimport gitnum from '../gitnum';\r\n/*\r\n###\r\nGET http://192.168.160.203:8085/webapi/xOrders.cshtml?User=bikenrider@gmail.com&Pass=motion$hellas&CstPointId=2481\r\n###\r\n*/\r\n\r\nexport interface Log {\r\n UserEmail: string;\r\n AppVersion: string;\r\n CstPointId: string;\r\n ErrMessage: string;\r\n ErrResult: number;\r\n}\r\n\r\nexport const useLogQuery = () => {\r\n const { appStore } = useRootStore();\r\n const [message, setMessage] = useState('');\r\n const [records, setRecords] = useState([] as Log[]);\r\n const { response, loading, error, reFetch } = useAxios({\r\n url:\r\n appStore.webapi +\r\n `xLog.cshtml?` +\r\n `User=${appStore.user}&` +\r\n `Pass=${appStore.password}&` +\r\n `CstPointId=${appStore.cstPointId}&` +\r\n `UserEmail=${appStore.user}&` +\r\n `appVersion=${gitnum.version}&` +\r\n `Hostname=${window.location.origin}`,\r\n method: 'GET',\r\n trigger: [],\r\n forceDispatchEffect: () => true,\r\n });\r\n const data = oc(response).data();\r\n useEffect(() => {\r\n if (error) {\r\n setMessage('Σφάλμα επικοινωνίας με τον Server!');\r\n setRecords([]);\r\n } else {\r\n if (!loading && !!data) {\r\n const resp = data as Log[];\r\n setMessage(resp[0].ErrMessage);\r\n if (resp[0].ErrResult === 0) {\r\n setRecords(resp);\r\n } else {\r\n setRecords([]);\r\n }\r\n }\r\n }\r\n }, [response, loading, error, data]);\r\n useWhyDidYouUpdate('[useLogQuery]', { loading, data, error });\r\n return {\r\n loading,\r\n error,\r\n message,\r\n records,\r\n reFetch,\r\n };\r\n};\r\n","import React, { FC } from 'react';\r\nimport { Form, Button, Card, InputGroup } from 'react-bootstrap';\r\nimport useForm from 'react-hook-form';\r\nimport * as yup from 'yup';\r\n\r\nimport { useWhyDidYouUpdate } from '../../hooks';\r\nimport { FaUser, FaLock } from 'react-icons/fa';\r\n/**\r\n * Setup Yup Validation\r\n */\r\nconst validationSchema = yup.object().shape({\r\n username: yup.string().email(),\r\n tempPass: yup.string().required(),\r\n password: yup\r\n .string()\r\n .required()\r\n .min(3),\r\n});\r\n\r\nexport type ChangePassFormData = yup.InferType;\r\n\r\ntype Props = {\r\n onSubmit: (v: ChangePassFormData) => void;\r\n};\r\n\r\nconst ChangePassForm: FC = ({ onSubmit }) => {\r\n /*-------------------- Body -----------------------------------------------*/\r\n const { register, handleSubmit, formState, errors } = useForm({\r\n validationSchema,\r\n mode: 'onSubmit',\r\n });\r\n const canSubmit = formState.dirty && formState.isValid;\r\n // useWhyDidYouUpdate('[ChangePassForm]', formState);\r\n /*-------------------- Handlers -------------------------------------------*/\r\n\r\n /*-------------------- Render ---------------------------------------------*/\r\n return (\r\n \r\n \r\n \r\n \r\n Αλλαγή Κωδικού\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Μη αποδεκτό email\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Μη αποδεκτός κωδικός\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Μη αποδεκτός κωδικός\r\n \r\n \r\n\r\n \r\n Αλλαγή Κωδικού\r\n \r\n \r\n
\r\n
\r\n );\r\n};\r\nexport default ChangePassForm;\r\n","import React, { FC } from 'react';\r\nimport { Spinner, Modal } from 'react-bootstrap';\r\n\r\n// import { useWhyDidYouUpdate } from '../hooks';\r\n\r\ntype Props = {\r\n show: boolean;\r\n};\r\n\r\nconst ModalSpinner: FC = ({ show }) => {\r\n /*-------------------- Body -----------------------------------------------*/\r\n /*-------------------- Handlers -------------------------------------------*/\r\n /*-------------------- Render ---------------------------------------------*/\r\n // useWhyDidYouUpdate('[ModalSpinner]', show);\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default ModalSpinner;\r\n","import React, { FC, useState, useEffect } from 'react';\r\nimport { Modal, Button } from 'react-bootstrap';\r\n\r\n// import { useWhyDidYouUpdate } from '../hooks';\r\n\r\ntype Props = {\r\n title: string;\r\n trigger: boolean;\r\n onClick?: () => void;\r\n};\r\n\r\nconst ModalDialog: FC = ({ title, trigger, onClick = () => {} }) => {\r\n /*-------------------- Body -----------------------------------------------*/\r\n const [show, setShow] = useState(false);\r\n\r\n useEffect(() => {\r\n if (trigger) {\r\n setShow(true);\r\n }\r\n }, [trigger]);\r\n\r\n const handleClick = () => {\r\n setShow(false);\r\n onClick();\r\n };\r\n /*-------------------- Render ---------------------------------------------*/\r\n return (\r\n \r\n \r\n {title}\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default ModalDialog;\r\n","import React, { FC, useEffect } from 'react';\r\nimport { RouteComponentProps } from 'react-router-dom';\r\nimport useAxios from '@use-hooks/axios';\r\nimport { oc } from 'ts-optchain';\r\n\r\nimport { useWhyDidYouUpdate, useSt8 } from '../../hooks';\r\nimport { useRootStore } from '../../store';\r\nimport ChangePassForm, { ChangePassFormData } from './change-pass-form';\r\nimport ModalSpinner from '../../components/modal-spinner';\r\nimport ModalDialog from '../../components/modal-dialog';\r\nimport { ROUTES } from '../../routes';\r\n\r\ntype Props = RouteComponentProps & {};\r\n\r\nconst ChangePassView: FC = props => {\r\n /*-------------------- Body -----------------------------------------------*/\r\n const { appStore } = useRootStore();\r\n const username = useSt8('');\r\n const tempPass = useSt8('');\r\n const password = useSt8('');\r\n const message = useSt8('');\r\n\r\n const url =\r\n appStore.webapi +\r\n `xSetNewPassword.cshtml?` +\r\n `NewPass=${password()}&` +\r\n `TmpPass=${tempPass()}&` +\r\n `Username=${username()}`;\r\n\r\n const { response, loading, error, reFetch } = useAxios({ url, method: 'GET' });\r\n const data = oc(response).data(false);\r\n\r\n /* --Το effect τρεχει οταν αλλάζει το data */\r\n\r\n useEffect(() => {\r\n if (error) {\r\n message('Σφάλμα επικοινωνίας με τον Server!');\r\n } else {\r\n if (data !== false) {\r\n const res = JSON.parse(data);\r\n // const errResult: string = oc(res).ErrResult('');\r\n const errMessage = oc(res).ErrMessage('Σφάλμα στην απάντηση του Server');\r\n const errResult = oc(res).ErrResult(-1);\r\n message(errMessage);\r\n }\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [data, error]);\r\n\r\n // useWhyDidYouUpdate('[ChangePassView]', { data, loading, error });\r\n /*-------------------- Handlers -------------------------------------------*/\r\n const handleSubmit = (res: ChangePassFormData) => {\r\n username(res.username);\r\n password(res.password);\r\n tempPass(res.tempPass);\r\n reFetch();\r\n };\r\n\r\n const handleDesmiss = () => {\r\n props.history.push(ROUTES.Login);\r\n };\r\n\r\n /*-------------------- Render ---------------------------------------------*/\r\n return (\r\n
\r\n \r\n \r\n \r\n
\r\n );\r\n};\r\n\r\nexport default ChangePassView;\r\n","import React, { FC } from 'react';\r\nimport { Form, Button, Card, InputGroup } from 'react-bootstrap';\r\nimport useForm from 'react-hook-form';\r\nimport * as yup from 'yup';\r\n\r\nimport { useWhyDidYouUpdate } from '../../hooks';\r\n/**\r\n * Setup Yup Validation\r\n */\r\nconst validationSchema = yup.object().shape({\r\n email: yup\r\n .string()\r\n .email()\r\n .required(),\r\n});\r\n\r\nexport type ForgotPassFormData = yup.InferType;\r\n\r\ntype Props = {\r\n onSubmit: (v: ForgotPassFormData) => void;\r\n};\r\n\r\nconst ForgotPassForm: FC = ({ onSubmit }) => {\r\n /*-------------------- Body -----------------------------------------------*/\r\n const { register, handleSubmit, formState } = useForm({\r\n validationSchema: validationSchema,\r\n });\r\n const canSubmit = formState.dirty && formState.isValid;\r\n // useWhyDidYouUpdate('[ForgotPassForm]', { formState, canSubmit });\r\n /*-------------------- Handlers -------------------------------------------*/\r\n /*-------------------- Render ---------------------------------------------*/\r\n return (\r\n \r\n \r\n \r\n \r\n Αποστολή Αιτήματος Προσωρινού Κωδικού\r\n \r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Αποστολή\r\n \r\n \r\n
\r\n
\r\n );\r\n};\r\nexport default ForgotPassForm;\r\n","import React, { FC, useEffect } from 'react';\r\nimport { RouteComponentProps } from 'react-router-dom';\r\nimport useAxios from '@use-hooks/axios';\r\nimport { oc } from 'ts-optchain';\r\n\r\nimport { useWhyDidYouUpdate, useSt8 } from '../../hooks';\r\nimport { useRootStore } from '../../store';\r\nimport ForgotPassForm, { ForgotPassFormData } from './forgot-pass-form';\r\nimport ModalSpinner from '../../components/modal-spinner';\r\nimport ModalDialog from '../../components/modal-dialog';\r\nimport { ROUTES } from '../../routes';\r\n\r\ntype Props = RouteComponentProps & {};\r\n\r\nconst ForgotPassView: FC = props => {\r\n /*-------------------- Body -----------------------------------------------*/\r\n const { appStore } = useRootStore();\r\n const email = useSt8('');\r\n const message = useSt8('');\r\n\r\n const url = appStore.webapi + `xGetTmpPassword.cshtml?Email=${email()}`;\r\n\r\n const { response, loading, error, reFetch } = useAxios({ url, method: 'GET' });\r\n const data = oc(response).data(false);\r\n\r\n /* --Το effect τρεχει οταν αλλάζει το data */\r\n\r\n useEffect(() => {\r\n if (error) {\r\n message('Σφάλμα επικοινωνίας με τον Server!');\r\n } else {\r\n if (data !== false) {\r\n const res = JSON.parse(data);\r\n // const errResult: string = oc(res).ErrResult('');\r\n const errMessage = oc(res).ErrMessage('Σφάλμα στην απάντηση του Server');\r\n const errResult = oc(res).ErrResult(-1);\r\n message(errMessage);\r\n }\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [data, error]);\r\n\r\n // useWhyDidYouUpdate('[ForgotPassView]', { data, loading, error });\r\n /*-------------------- Handlers -------------------------------------------*/\r\n const handleSubmit = (res: ForgotPassFormData) => {\r\n email(res.email);\r\n reFetch();\r\n };\r\n\r\n const handleDesmiss = () => {\r\n props.history.push(ROUTES.Login);\r\n };\r\n\r\n /*-------------------- Render ---------------------------------------------*/\r\n return (\r\n
\r\n \r\n \r\n \r\n
\r\n );\r\n};\r\n\r\nexport default ForgotPassView;\r\n","import styled from 'styled-components';\r\n\r\nconst FlexRow = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n justify-content: space-between;\r\n`;\r\n\r\nexport default FlexRow;\r\n","import React, { FC } from 'react';\r\nimport { Form, Button, Card, InputGroup, OverlayTrigger, Tooltip } from 'react-bootstrap';\r\nimport { FaUser, FaLock, FaInfoCircle } from 'react-icons/fa';\r\nimport useForm from 'react-hook-form';\r\nimport * as yup from 'yup';\r\n\r\nimport AppStores from '../../components/appstores';\r\nimport { TooltipButton } from '../../components/tooltip-button';\r\nimport FlexRow from '../../components/flex-row';\r\n\r\n//import { useWhyDidYouUpdate } from '../../hooks';\r\n/**\r\n * Setup Yup Validation\r\n */\r\nconst validationSchema = yup.object().shape({\r\n email: yup.string().email(),\r\n password: yup\r\n .string()\r\n .required()\r\n .min(3),\r\n});\r\n\r\nexport type LoginFormData = yup.InferType;\r\n\r\ntype Props = {\r\n message?: string;\r\n onSubmit: (v: LoginFormData) => void;\r\n onForgotClick?: () => void;\r\n onNewUserClick?: () => void;\r\n onTemporaryClick?: () => void;\r\n};\r\n\r\nconst LoginForm: FC = ({\r\n message = ' ',\r\n onSubmit,\r\n onForgotClick = () => {},\r\n onNewUserClick = () => {},\r\n onTemporaryClick = () => {},\r\n}) => {\r\n /*-------------------- Body -----------------------------------------------*/\r\n const { register, handleSubmit, formState, errors } = useForm({\r\n validationSchema,\r\n mode: 'onSubmit',\r\n });\r\n const canSubmit = formState.dirty && formState.isValid;\r\n // useWhyDidYouUpdate('[LoginForm]', { formState, errors });\r\n /*-------------------- Handlers -------------------------------------------*/\r\n\r\n /*-------------------- Render ---------------------------------------------*/\r\n return (\r\n \r\n \r\n \r\n Καλώς ήρθατε στο Ecopoint!\r\n \r\n \r\n

\r\n Συνδεθείτε τώρα για να καταχωρήσετε αίτημα παραλαβής ελαστικών\r\n \r\n τέλους κύκλου ζωής, να αποκτήσετε πρόσβαση στα στοιχεία και στο προφίλ σας\r\n \r\n \r\n

    \r\n
  1. \r\n Κάντε την αίτηση για την συλλογή των ελαστικών τέλους\r\n κύκλου ζωής από το κατάστημά σας
    \r\n \r\n Όσο νωρίτερα γίνει η αίτηση, τόσο καλύτερα! Οι αιτήσεις μπαίνουν σε\r\n προτεραιότητα... ακόμα και αν υποβληθούν μέσα στο Σαββατοκύριακο!\r\n \r\n
  2. \r\n
    \r\n
  3. \r\n Κατεβάστε όλα τα στοιχεία που αφορούν το κατάστημά σας!\r\n
    \r\n ➢ Παραστατικά διακίνησης
    \r\n ➢ Ιστορικό των παραγγελιών / παραλαβών σας
    \r\n ➢ Ετήσια έκθεση αποβλήτων για το Η.Μ.Α.
    \r\n ➢ Βεβαίωση συνεργασίας
    \r\n ➢ Σύμβαση της μεταξύ μας συνεργασίας
    \r\n
  4. \r\n
    \r\n
  5. \r\n \r\n Προφίλ: Δείτε ή μεταβάλετε τα στοιχεία σας που έχουν αλλάξει (π.χ.\r\n διεύθυνση, email, τηλέφωνο)\r\n \r\n
  6. \r\n
\r\n \r\n }\r\n >\r\n \r\n \r\n \r\n \r\n

\r\n
\r\n

{message}

\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Μη αποδεκτό email\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Μη αποδεκτός κωδικός\r\n \r\n \r\n\r\n \r\n Είσοδος Χρήστη\r\n \r\n \r\n
\r\n \r\n

\r\n \r\n Ξέχασα τον κωδικό πρόσβασης\r\n \r\n

\r\n

\r\n \r\n Αλλαγή Κωδικού Πρόσβασης\r\n \r\n

\r\n

\r\n \r\n Εγγραφή Νέου Χρήστη\r\n \r\n

\r\n
\r\n {/* */}\r\n
\r\n );\r\n};\r\nexport default LoginForm;\r\n","import React, { FC, useEffect } from 'react';\r\nimport { RouteComponentProps } from 'react-router-dom';\r\nimport useAxios from '@use-hooks/axios';\r\nimport { oc } from 'ts-optchain';\r\n\r\nimport { useWhyDidYouUpdate, useSt8 } from '../../hooks';\r\nimport { useRootStore } from '../../store';\r\nimport { CstPoint } from '../../models';\r\nimport LoginForm, { LoginFormData } from './login-form';\r\nimport ModalSpinner from '../../components/modal-spinner';\r\nimport { ROUTES } from '../../routes';\r\n\r\ntype Props = RouteComponentProps & {};\r\n\r\nconst LoginView: FC = props => {\r\n /*-------------------- Body -----------------------------------------------*/\r\n const { appStore } = useRootStore();\r\n const user = useSt8('');\r\n const password = useSt8('');\r\n const message = useSt8('');\r\n\r\n /** ------------- First Login to get the cstPoints --------------------------*/\r\n const url = appStore.webapi + `xLogin.cshtml?` + `User=${user()}&` + `Pass=${password()}`;\r\n\r\n const { response, loading, error, reFetch } = useAxios({ url, method: 'GET' });\r\n const data = oc(response).data(false);\r\n\r\n /**\r\n * Το effect τρεχει οταν αλλάζει το data/error\r\n */\r\n useEffect(() => {\r\n if (error) {\r\n message('Σφάλμα επικοινωνίας με τον Server!');\r\n } else {\r\n if (data !== false) {\r\n const obj = JSON.parse('[' + data + ']');\r\n const points = [...obj] as CstPoint[];\r\n const errMessage = oc(points[0]).ErrMessage('');\r\n const errResult = oc(points[0]).ErrResult(-1);\r\n message(errMessage);\r\n //console.log(points);\r\n if (errResult === 0) {\r\n appStore.login(user(), password(), points);\r\n }\r\n }\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [data, error]);\r\n\r\n // useWhyDidYouUpdate('[LoginView]', { data, loading, error });\r\n /*-------------------- Handlers -------------------------------------------*/\r\n const handleSubmit = (res: LoginFormData) => {\r\n user(res.email);\r\n password(res.password);\r\n message('');\r\n reFetch();\r\n };\r\n /*-------------------- Render ---------------------------------------------*/\r\n return (\r\n
\r\n props.history.push(ROUTES.ForgotPass)}\r\n onTemporaryClick={() => props.history.push(ROUTES.ChangePass)}\r\n onNewUserClick={() => props.history.push(ROUTES.Register)}\r\n />\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default LoginView;\r\n","import React, { FC, useEffect } from 'react';\r\n\r\nimport { useRootStore } from './../../store';\r\nimport { useWhyDidYouUpdate, useLogger } from '../../hooks';\r\n\r\ntype Props = {};\r\n/*-------------------- Body -----------------------------------------------*/\r\nconst LogoutView: FC = props => {\r\n useWhyDidYouUpdate(' LogoutView]', props);\r\n useLogger(' LogoutView]');\r\n const { appStore } = useRootStore();\r\n\r\n useEffect(() => {\r\n appStore.logOut();\r\n }, []);\r\n /*-------------------- Handlers -------------------------------------------*/\r\n /*-------------------- Render ---------------------------------------------*/\r\n return (\r\n
\r\n
\r\n

LogoutView

\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default LogoutView;\r\n","import { useState, useEffect } from 'react';\r\nimport useAxios from '@use-hooks/axios';\r\nimport { oc } from 'ts-optchain';\r\nimport { useRootStore } from '../store';\r\nimport { useWhyDidYouUpdate } from '../hooks';\r\nimport { saveAs } from 'file-saver';\r\nimport { base64StringToBlob } from 'blob-util';\r\nimport { getType } from 'mime/lite';\r\n/*\r\n###\r\nhttp://motion-2012:8085/webapi/YearReportALL.cshtml?CstPointId=10&Year=2017&Type=BLOB&User=h.sarris@gmail.com\r\n###\r\n\r\n###\r\nhttp://motion-2012:8085/webapi/PeriodReportAll.cshtml?CstPointId=10&From=01/01/2014&To=01/01/2017&Type=BLOB&User=h.sarris@gmail.com\r\n###\r\n\r\n###\r\nhttp://motion-2012:8085/webapi/OrderReportALL.cshtml?OrderId=3000&Type=BLOB&User=h.sarris@gmail.com\r\n###\r\n*/\r\n\r\nexport const useReportQuery = (\r\n report: 'Year' | 'Period' | 'Order',\r\n type: 'BLOB' | 'EMAIL',\r\n orderId = 0,\r\n pointId = 0,\r\n year = '',\r\n from = '',\r\n to = '',\r\n) => {\r\n const { appStore } = useRootStore();\r\n const [message, setMessage] = useState('');\r\n const [load, setLoad] = useState(false);\r\n const [finish, setFinish] = useState(false);\r\n\r\n let url = appStore.webapi + `${report}ReportALL.cshtml?`;\r\n if (report === 'Year' || report === 'Period') {\r\n url = url + `CstPointId=${pointId}&`;\r\n }\r\n if (report === 'Year') {\r\n url = url + `Year=${year}&`;\r\n }\r\n if (report === 'Period') {\r\n url = url + `From=${from}&To=${to}&`;\r\n }\r\n if (report === 'Order') {\r\n url = url + `OrderId=${orderId}&`;\r\n }\r\n url = url + `Type=${type}&User=${appStore.user}`;\r\n\r\n console.log(url);\r\n\r\n const { response, loading, error, reFetch } = useAxios({\r\n url,\r\n method: 'GET',\r\n });\r\n const data = oc(response).data();\r\n\r\n /* --Το effect τρεχει οταν αλλάζει το loading/error */\r\n useEffect(() => {\r\n if (loading) {\r\n setLoad(true);\r\n setFinish(false);\r\n }\r\n if (!loading && !!data && load) {\r\n setLoad(false);\r\n setMessage(data.ErrMessage);\r\n if (data.ErrResult === 0) {\r\n if (type === 'BLOB') {\r\n const type = getType('pdf');\r\n const blob = base64StringToBlob(data.Blob, type);\r\n const isWebView =\r\n navigator.userAgent.includes('wv') || navigator.userAgent.includes('EcopointWeb');\r\n if (isWebView) {\r\n window.postMessage('/webapi/PDF/' + data.Filename, '*');\r\n } else {\r\n saveAs(blob, data.Filename);\r\n }\r\n }\r\n }\r\n setFinish(true);\r\n }\r\n }, [loading, load, error, type, data]);\r\n\r\n useWhyDidYouUpdate('[useReportQuery]', { url, loading, data, error, load, finish });\r\n return {\r\n data,\r\n load,\r\n loading,\r\n busy: load || loading,\r\n finish,\r\n error,\r\n reFetch,\r\n };\r\n};\r\n","import { useState, useEffect } from 'react';\r\nimport useAxios from '@use-hooks/axios';\r\nimport { oc } from 'ts-optchain';\r\nimport { useRootStore } from '../store';\r\nimport { useWhyDidYouUpdate } from '../hooks';\r\n\r\n/*\r\n###\r\nGET http://192.168.160.203:8085/webapi/xOrders.cshtml?User=bikenrider@gmail.com&Pass=motion$hellas&CstPointId=2481\r\n###\r\n*/\r\n\r\nexport interface Municipality {\r\n Municipality: string;\r\n District: string;\r\n County: string;\r\n\r\n}\r\n\r\nexport const useMunicipalitiesQuery = () => {\r\n const { appStore } = useRootStore();\r\n const [message, setMessage] = useState('');\r\n const [records, setRecords] = useState([] as any[]);\r\n const url = appStore.webapi +\r\n `xGetMunicipalities.cshtml?` +\r\n `User=${appStore.user}` +\r\n `&Pass=${appStore.password}`;\r\n const { response, loading, error, reFetch } = useAxios({\r\n url: url,\r\n method: 'GET',\r\n trigger: [],\r\n forceDispatchEffect: () => true,\r\n });\r\n const data = oc(response).data();\r\n useEffect(() => {\r\n if (error) {\r\n setMessage('Σφάλμα επικοινωνίας με τον Server!');\r\n setRecords([]);\r\n } else {\r\n if (!loading && !!data) {\r\n const resp = data as any[];\r\n setRecords(resp);\r\n\r\n }\r\n }\r\n }, [response, loading, error, data]);\r\n\r\n useWhyDidYouUpdate('[useMunicipalitiesQuery]', { loading, data, error });\r\n return {\r\n loading,\r\n error,\r\n message,\r\n records,\r\n reFetch,\r\n };\r\n};\r\n","import { useState, useEffect } from 'react';\r\nimport useAxios from '@use-hooks/axios';\r\nimport { oc } from 'ts-optchain';\r\nimport { useRootStore } from '../store';\r\nimport { useWhyDidYouUpdate } from '../hooks';\r\nimport { axios } from '@use-hooks/axios';\r\n\r\nexport const useSubmitAgreementQuery = () => {\r\n const { appStore } = useRootStore();\r\n const [records, setRecords] = useState();\r\n const [finish, setFinish] = useState(false);\r\n\r\n const buildUrl = agreement => {\r\n let url =\r\n appStore.webapi +\r\n `xSubmitAgreement.cshtml?` +\r\n `User=${appStore.user}` +\r\n `&Pass=${appStore.password}` +\r\n `&CstPointId=${appStore.cstPointId}` +\r\n `&AgreementId=${agreement.AgreementId}`;\r\n if (agreement.dataChanged === false) {\r\n url = url + `&DataChanged=false`;\r\n } else {\r\n url =\r\n url +\r\n `&DataChanged=true` +\r\n `&NewAddress=${agreement.Address}` +\r\n `&NewMunicipality=${agreement.Municipality}` +\r\n `&NewZipCode=${agreement.ZipCode}` +\r\n `&NewPhone1=${agreement.Phone1}` +\r\n `&NewPhone2=${agreement.Phone2}` +\r\n `&NewPhone3=${agreement.Phone3}` +\r\n `&NewFax1=${agreement.Fax1}` +\r\n `&NewEmail=${agreement.Email}` +\r\n `&NewContact=${agreement.Contact}` +\r\n `&NewContactPosition=${agreement.ContactPosition}` +\r\n `&NewAddressLongitude=${agreement.AddressLongitude}` +\r\n `&NewAddressLatitude=${agreement.AddressLatitude}`;\r\n }\r\n url =\r\n url +\r\n `&IsTyreImporter=${agreement.IsTyreImporter}` +\r\n `&CertifyNoTyreImport=${agreement.CertifyNoTyreImport}`;\r\n\r\n return url;\r\n };\r\n\r\n /*\r\n const { response, loading, error, reFetch } = useAxios({\r\n url: url,\r\n method: 'GET',\r\n });\r\n const data = oc(response).data();\r\n useEffect(() => {\r\n if (error) {\r\n setMessage('Σφάλμα επικοινωνίας με τον Server!');\r\n } else {\r\n if (!loading && !!data) {\r\n const resp = data as any;\r\n setRecords(resp);\r\n setFinish(true);\r\n }\r\n }\r\n }, [response, loading, error, data]);\r\n */\r\n const reFetch = async agreement => {\r\n if (!agreement || !agreement.AgreementId) {\r\n throw new Error('Λάθος στα στοιχεία.');\r\n }\r\n setFinish(false);\r\n const url = buildUrl(agreement);\r\n const response = await axios.get(url).catch(error => {\r\n setFinish(true);\r\n throw new Error('Λάθος στον Σέρβερ.');\r\n });\r\n\r\n setRecords(response);\r\n setFinish(true);\r\n };\r\n\r\n return {\r\n finish,\r\n records,\r\n reFetch,\r\n };\r\n};\r\n","import { useState, useEffect } from 'react';\r\nimport useAxios from '@use-hooks/axios';\r\nimport { oc } from 'ts-optchain';\r\nimport { useRootStore } from '../store';\r\nimport { useWhyDidYouUpdate } from '../hooks';\r\nimport { saveAs } from 'file-saver';\r\nimport { base64StringToBlob } from 'blob-util';\r\nimport { getType } from 'mime/lite';\r\n/*\r\n###\r\nhttp://motion-2012:8085/webapi/YearReportALL.cshtml?CstPointId=10&Year=2017&Type=BLOB&User=h.sarris@gmail.com\r\n###\r\n\r\n###\r\nhttp://motion-2012:8085/webapi/PeriodReportAll.cshtml?CstPointId=10&From=01/01/2014&To=01/01/2017&Type=BLOB&User=h.sarris@gmail.com\r\n###\r\n\r\n###\r\nhttp://motion-2012:8085/webapi/OrderReportALL.cshtml?OrderId=3000&Type=BLOB&User=h.sarris@gmail.com\r\n###\r\n*/\r\n\r\nexport const useAgreementPDFQuery = (type: 'PDF' | 'EMAIL') => {\r\n const { appStore } = useRootStore();\r\n const [message, setMessage] = useState('');\r\n const [load, setLoad] = useState(false);\r\n const [finish, setFinish] = useState(false);\r\n\r\n let url =\r\n appStore.webapi +\r\n `Agreement.cshtml?` +\r\n `User=${appStore.user}` +\r\n `&Pass=${appStore.password}` +\r\n `&CstPointId=${appStore.cstPointId}` +\r\n `&Type=${type}`;\r\n\r\n console.log(url);\r\n\r\n const { response, loading, error, reFetch } = useAxios({\r\n url,\r\n method: 'GET',\r\n });\r\n const data = oc(response).data();\r\n\r\n /* --Το effect τρεχει οταν αλλάζει το loading/error */\r\n useEffect(() => {\r\n console.log('running effect');\r\n if (loading) {\r\n setLoad(true);\r\n setFinish(false);\r\n }\r\n if (!loading && !!data && load) {\r\n setLoad(false);\r\n if (type === 'PDF') {\r\n const type = getType('pdf');\r\n /* const blob = base64StringToBlob(data.Blob, type); */\r\n const isWebView =\r\n navigator.userAgent.includes('wv') || navigator.userAgent.includes('EcopointWeb');\r\n\r\n\r\n if (isWebView) {\r\n window.postMessage('/webapi/PDF/' + data.Filename, '*');\r\n } else {\r\n saveAs(url, 'Agreement');\r\n }\r\n\r\n }\r\n setFinish(true);\r\n }\r\n }, [loading, load, error, type, data]);\r\n\r\n useWhyDidYouUpdate('[useAgreementPDFQuery]', { url, loading, data, error, load, finish });\r\n return {\r\n data,\r\n load,\r\n loading,\r\n busy: load || loading,\r\n finish,\r\n error,\r\n reFetch,\r\n };\r\n};\r\n","import { useState, useEffect } from 'react';\r\nimport useAxios from '@use-hooks/axios';\r\nimport { oc } from 'ts-optchain';\r\nimport { useRootStore } from '../store';\r\nimport { useWhyDidYouUpdate } from '../hooks';\r\n\r\n/*\r\n###\r\nGET http://192.168.160.203:8085/webapi/xOrders.cshtml?User=bikenrider@gmail.com&Pass=motion$hellas&CstPointId=2481\r\n###\r\n*/\r\n\r\nexport interface ContactPosition {\r\n Id: number;\r\n Name: string;\r\n\r\n}\r\n\r\nexport const useContactPositionsQuery = () => {\r\n const { appStore } = useRootStore();\r\n const [message, setMessage] = useState('');\r\n const [records, setRecords] = useState([] as any[]);\r\n const url = appStore.webapi +\r\n `xGetCstContactPositions.cshtml?` +\r\n `User=${appStore.user}` +\r\n `&Pass=${appStore.password}`;\r\n const { response, loading, error, reFetch } = useAxios({\r\n url: url,\r\n method: 'GET',\r\n trigger: [],\r\n forceDispatchEffect: () => true,\r\n });\r\n const data = oc(response).data();\r\n useEffect(() => {\r\n if (error) {\r\n setMessage('Σφάλμα επικοινωνίας με τον Server!');\r\n setRecords([]);\r\n } else {\r\n if (!loading && !!data) {\r\n const resp = data as any[];\r\n setRecords(resp);\r\n\r\n }\r\n }\r\n }, [response, loading, error, data]);\r\n\r\n useWhyDidYouUpdate('[useContactPositionsQuery]', { loading, data, error });\r\n return {\r\n loading,\r\n error,\r\n message,\r\n records,\r\n reFetch,\r\n };\r\n};\r\n","import { useState, useEffect } from 'react';\r\nimport useAxios from '@use-hooks/axios';\r\nimport { oc } from 'ts-optchain';\r\nimport { useRootStore } from '../store';\r\nimport { useWhyDidYouUpdate } from '../hooks';\r\n\r\n/*\r\n###\r\nGET http://192.168.160.203:8085/webapi/xOrders.cshtml?User=bikenrider@gmail.com&Pass=motion$hellas&CstPointId=2481\r\n###\r\n*/\r\n\r\nexport interface GeocodeReverse {\r\n lat: number;\r\n lng: number\r\n}\r\n\r\nexport const useGeocodeReverseQuery = (variables) => {\r\n const { appStore } = useRootStore();\r\n const [message, setMessage] = useState('');\r\n const [records, setRecords] = useState();\r\n const url = `https://maps.googleapis.com/maps/api/geocode/json?key=AIzaSyDTPYVZ76DV-eairJCtDjYAIyQp5rYcG_w` +\r\n `&latlng=${variables.lat},${variables.lng}`\r\n + `&language=el`;\r\n const { response, loading, error, reFetch } = useAxios({\r\n url: url,\r\n method: 'GET',\r\n });\r\n const data = oc(response).data();\r\n useEffect(() => {\r\n console.log('url=', url);\r\n if (error) {\r\n setMessage('Σφάλμα επικοινωνίας με τον Server!');\r\n } else {\r\n if (!loading && !!data && data.results.length > 0) {\r\n const resp = data.results[0].address_components as any;\r\n let address;\r\n let zipCode;\r\n let streetNumber;\r\n resp.map((row) => {\r\n if (row.types[0] === \"street_number\") streetNumber = row.long_name;\r\n else if (row.types[0] === 'route') address = row.long_name;\r\n else if (row.types[0] === 'postal_code') zipCode = row.long_name;\r\n })\r\n address = address + \" \" + streetNumber;\r\n\r\n setRecords({address: address, zipCode: zipCode});\r\n }\r\n }\r\n }, [response, loading, error, data]);\r\n\r\n useWhyDidYouUpdate('[useGeocodeReverseQuery]', { loading, data, error });\r\n return {\r\n loading,\r\n error,\r\n message,\r\n records,\r\n reFetch,\r\n };\r\n};\r\n","import { useState, useEffect } from 'react';\r\nimport useAxios from '@use-hooks/axios';\r\nimport { oc } from 'ts-optchain';\r\nimport { useRootStore } from '../store';\r\nimport { useWhyDidYouUpdate } from '../hooks';\r\n\r\n/*\r\n###\r\nGET http://192.168.160.203:8085/webapi/xOrders.cshtml?User=bikenrider@gmail.com&Pass=motion$hellas&CstPointId=2481\r\n###\r\n*/\r\n\r\nexport interface Geocode {\r\n lat: number;\r\n lng: number\r\n}\r\n\r\nexport const useGeocodeQuery = (variables) => {\r\n const { appStore } = useRootStore();\r\n const [message, setMessage] = useState('');\r\n const [records, setRecords] = useState();\r\n const url = `https://maps.googleapis.com/maps/api/geocode/json?key=AIzaSyDTPYVZ76DV-eairJCtDjYAIyQp5rYcG_w` +\r\n `&address=${variables.address},${variables.zipCode}`\r\n + `&language=el`;\r\n const { response, loading, error, reFetch } = useAxios({\r\n url: url,\r\n method: 'GET',\r\n });\r\n const data = oc(response).data();\r\n useEffect(() => {\r\n console.log('url=', url);\r\n if (error) {\r\n setMessage('Σφάλμα επικοινωνίας με τον Server!');\r\n } else {\r\n if (!loading && !!data && data.results.length > 0) {\r\n const resp = data.results[0].geometry.location as Geocode;\r\n setRecords(resp);\r\n }\r\n }\r\n }, [response, loading, error, data]);\r\n\r\n useEffect(() => {\r\n reFetch();\r\n }, [])\r\n useWhyDidYouUpdate('[useGeocodeQuery]', { loading, data, error });\r\n return {\r\n loading,\r\n error,\r\n message,\r\n records,\r\n reFetch,\r\n };\r\n};\r\n","import React, { FC, useState } from 'react';\r\nimport { Form, Button, Card } from 'react-bootstrap';\r\n\r\n// import { useWhyDidYouUpdate, useLogger } from '../hooks';\r\n\r\ntype Props = {\r\n buttonText: string;\r\n buttonDisabled?: boolean;\r\n whiteBg?: boolean;\r\n onSubmit: (emailSelected: boolean) => void;\r\n};\r\n\r\nconst ReportFooter: FC = ({\r\n buttonText,\r\n buttonDisabled = false,\r\n whiteBg = false,\r\n onSubmit,\r\n}) => {\r\n const [email, setEmail] = useState(false);\r\n\r\n const handleEmailChange = () => {\r\n setEmail(!email);\r\n };\r\n\r\n const handleClick = _e => {\r\n // e && e.preventDefault();\r\n onSubmit(email);\r\n };\r\n\r\n const styles = whiteBg ? { backgroundColor: 'white' } : {};\r\n\r\n return (\r\n \r\n \r\n {buttonText}\r\n \r\n\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default ReportFooter;\r\n","import React, { FC } from 'react';\r\nimport { Form, Row, Col, Card, Accordion, Table } from 'react-bootstrap';\r\nimport { FaChevronUp, FaChevronDown } from 'react-icons/fa';\r\nimport { oc } from 'ts-optchain';\r\n\r\nimport { useWhyDidYouUpdate } from '../../hooks';\r\n\r\nimport { Order } from '../../api';\r\nimport ReportFooter from '../../components/report-footer';\r\nimport { AppStore } from '../../store/app-store';\r\nimport { useRootStore } from '../../store';\r\n\r\ntype Props = {\r\n keyValue: string;\r\n order: Order;\r\n collapsedId: string;\r\n onClick: (id: string) => void;\r\n onSubmit: (orderId: number, email: boolean) => void;\r\n};\r\n\r\nconst OrderItem: FC = ({ keyValue, order, collapsedId, onClick, onSubmit }) => {\r\n /*-------------------- Body------------------------------------------------*/\r\n const colDate = oc(order).ColDate('?ColDate');\r\n const collectorName = oc(order).CollectorName('?CollectorName');\r\n const notes = oc(order).Notes('?Notes');\r\n const reqDate = oc(order).ReqDate('?ReqDate');\r\n const status = oc(order).Status('?Status');\r\n const tyre1 = oc(order).Tyre1('?Tyre1');\r\n const tyre2 = oc(order).Tyre2('?Tyre2');\r\n const tyre3 = oc(order).Tyre3('?Tyre3');\r\n const tyre4 = oc(order).Tyre4('?Tyre4');\r\n const tyre5 = oc(order).Tyre5('?Tyre5');\r\n const plannedDate = oc(order).PlannedDate('?PlannedDate');\r\n const isPlannedDateConfirmed = oc(order).IsPlannedDateConfirmed(false);\r\n const collectorPhone = oc(order).CollectorPhone('-');\r\n const onWait = status === 'Εκρεμεί η Συλλογή';\r\n\r\n const title = 'Αίτηση ' + reqDate;\r\n let subtitle = 'Σε αναμονή παραλαβής';\r\n let classColor = 'text-danger';\r\n let subsubtitle = '';\r\n\r\n const { appStore } = useRootStore();\r\n\r\n if (onWait && plannedDate !== '') {\r\n if (!isPlannedDateConfirmed) {\r\n if (appStore.isTireShop) subsubtitle = `Εκτιμώμενη ημερομηνία παραλαβής: ${plannedDate}`;\r\n else subsubtitle = undefined;\r\n } else if (!!isPlannedDateConfirmed)\r\n subsubtitle = `Προγραμματισμένη για τις ${plannedDate} απο ${collectorName} τηλ. ${collectorPhone}`;\r\n }\r\n\r\n if (!onWait) {\r\n subtitle = 'Έχει γίνει παραλαβή ' + colDate;\r\n classColor = 'text-success';\r\n }\r\n /*-------------------- Handlers -------------------------------------------*/\r\n const handleClick = () => {\r\n onClick(keyValue);\r\n };\r\n\r\n const handleSubmit = (email: boolean) => {\r\n console.log(email);\r\n onSubmit(order.OrderId, email);\r\n };\r\n\r\n useWhyDidYouUpdate('[OrderItem]', collapsedId);\r\n /*-------------------- Render ---------------------------------------------*/\r\n return (\r\n \r\n \r\n
\r\n \r\n {title}\r\n {subtitle}\r\n {subsubtitle && {subsubtitle}}\r\n \r\n {collapsedId === keyValue ? : }\r\n
\r\n \r\n\r\n \r\n <>\r\n \r\n \r\n \r\n Μεταφορέας:\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n Ελαστικά Παραλαβής/Αίτησης:\r\n
ΑΒΓΔ1Δ2
{tyre1}{tyre2}{tyre3}{tyre4}{tyre5}
\r\n \r\n
\r\n\r\n {notes !== '' ? (\r\n \r\n \r\n Σημειώσεις:\r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n <>\r\n )}\r\n
\r\n \r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default OrderItem;\r\n","import React, { FC, useState } from 'react';\r\nimport { Button, Card, Accordion } from 'react-bootstrap';\r\nimport { FaSync } from 'react-icons/fa';\r\nimport shortid from 'shortid';\r\n\r\nimport { useWhyDidYouUpdate, useLogger } from '../../hooks';\r\n\r\nimport { Order } from '../../api';\r\nimport OrderItem from './order-item';\r\n\r\ntype Props = {\r\n orders: Order[];\r\n recNo: number;\r\n onClickRefresh: () => void;\r\n onReportRequest: (orderId: number, email: boolean) => void;\r\n};\r\n\r\nconst OrdersCard: FC = ({ orders, recNo, onClickRefresh, onReportRequest }) => {\r\n /*-------------------- Body -----------------------------------------------*/\r\n const [collapsedId, setCollapsedId] = useState('0'); // Collapse handling of Accordion keep the open state\r\n /*-------------------- Handlers -------------------------------------------*/\r\n const handleItemClick = (id: string) => {\r\n setCollapsedId(collapsedId !== id ? id : '0');\r\n };\r\n\r\n const handleRefreshClick = () => {\r\n setCollapsedId('0');\r\n onClickRefresh();\r\n };\r\n\r\n const handleReportRequest = (orderId: number, email: boolean) => {\r\n console.log(orderId, email);\r\n onReportRequest(orderId, email);\r\n };\r\n /*-------------------- Render ---------------------------------------------*/\r\n useLogger('[OrdersCard]');\r\n useWhyDidYouUpdate('[OrdersCard]', { orders, recNo, collapsedId });\r\n return (\r\n <>\r\n \r\n \r\n \r\n Ιστορικό Αιτήσεων\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n {orders.map((item, index) => (\r\n \r\n ))}\r\n \r\n \r\n {'Εγγραφές:' + recNo}\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default OrdersCard;\r\n","import React, { FC, useState } from 'react';\r\nimport { RouteComponentProps } from 'react-router-dom';\r\n\r\nimport { useWhyDidYouUpdate } from '../../hooks';\r\nimport { useOrdersQuery, useReportQuery } from '../../api';\r\nimport ModalSpinner from '../../components/modal-spinner';\r\nimport ModalDialog from '../../components/modal-dialog';\r\nimport OrdersCard from './orders-card';\r\n\r\ntype Props = RouteComponentProps & {};\r\n\r\nconst OrdersView: FC = props => {\r\n /*-------------------- Body -----------------------------------------------*/\r\n const [orderId, setOrderId] = useState(0);\r\n const [emailChecked, setEmailChecked] = useState(false);\r\n\r\n // -- For report QUERY hook\r\n const type = emailChecked ? 'EMAIL' : 'BLOB';\r\n const { busy, finish, reFetch: reFetchReport } = useReportQuery('Order', type, orderId);\r\n const { loading, error, records, reFetch } = useOrdersQuery();\r\n const recordsNo = records.length > 0 ? parseInt(records[0].RecNo) : 0;\r\n\r\n /*-------------------- Handlers -------------------------------------------*/\r\n const handleRefresh = () => {\r\n reFetch();\r\n };\r\n\r\n const handleReportRequest = (_orderId: number, _email: boolean) => {\r\n setOrderId(_orderId);\r\n setEmailChecked(_email);\r\n reFetchReport();\r\n };\r\n useWhyDidYouUpdate('[OrdersView]', { records, loading, error });\r\n /*-------------------- Render ---------------------------------------------*/\r\n return (\r\n <>\r\n {recordsNo > 0 && (\r\n \r\n )}\r\n \r\n {}} />\r\n \r\n );\r\n};\r\nexport default OrdersView;\r\n","import { useState, useEffect } from 'react';\r\nimport useAxios from '@use-hooks/axios';\r\nimport { oc } from 'ts-optchain';\r\nimport { useRootStore } from '../store';\r\nimport { useWhyDidYouUpdate } from '../hooks';\r\n\r\n/*\r\n###\r\nGET http://192.168.160.203:8085/webapi/xOrders.cshtml?User=bikenrider@gmail.com&Pass=motion$hellas&CstPointId=2481\r\n###\r\n*/\r\n\r\nexport interface Order {\r\n ColDate: string;\r\n Col_DocId: string;\r\n CollectorName: string;\r\n CstPointId: string;\r\n ErrMessage: string;\r\n ErrResult: number;\r\n Notes: string;\r\n OrderId: number;\r\n RecNo: string;\r\n ReqDate: string;\r\n Status: string;\r\n Tyre1: string;\r\n Tyre2: string;\r\n Tyre3: string;\r\n Tyre4: string;\r\n Tyre5: string;\r\n PlannedDate: string;\r\n IsPlannedDateConfirmed: boolean;\r\n CollectorPhone: string;\r\n}\r\n\r\nexport const useOrdersQuery = () => {\r\n const { appStore } = useRootStore();\r\n const [message, setMessage] = useState('');\r\n const [records, setRecords] = useState([] as Order[]);\r\n const { response, loading, error, reFetch } = useAxios({\r\n url:\r\n appStore.webapi +\r\n `xOrders.cshtml?` +\r\n `User=${appStore.user}&` +\r\n `Pass=${appStore.password}&` +\r\n `CstPointId=${appStore.cstPointId}`,\r\n method: 'GET',\r\n trigger: [],\r\n forceDispatchEffect: () => true,\r\n });\r\n const data = oc(response).data();\r\n useEffect(() => {\r\n if (error) {\r\n setMessage('Σφάλμα επικοινωνίας με τον Server!');\r\n setRecords([]);\r\n } else {\r\n if (!loading && !!data) {\r\n const resp = data as Order[];\r\n setMessage(resp[0].ErrMessage);\r\n if (resp[0].ErrResult === 0) {\r\n setRecords(resp);\r\n } else {\r\n setRecords([]);\r\n }\r\n }\r\n }\r\n }, [response, loading, error, data]);\r\n useWhyDidYouUpdate('[useOrdersQuery]', { loading, data, error });\r\n return {\r\n loading,\r\n error,\r\n message,\r\n records,\r\n reFetch,\r\n };\r\n};\r\n","import React, { FC } from 'react';\r\nimport { Form, Col, Card, Accordion } from 'react-bootstrap';\r\nimport { FaChevronUp, FaChevronDown } from 'react-icons/fa';\r\nimport { oc } from 'ts-optchain';\r\n\r\nimport { useWhyDidYouUpdate } from '../../hooks';\r\n\r\nimport { OrderW } from '../../api';\r\nimport ReportFooter from '../../components/report-footer';\r\n\r\ntype Props = {\r\n keyValue: string;\r\n order: OrderW;\r\n collapsedId: string;\r\n onClick: (id: string) => void;\r\n onSubmit: (orderId: number, email: boolean) => void;\r\n};\r\n\r\nconst OrderWItem: FC = ({ keyValue, order, collapsedId, onClick, onSubmit }) => {\r\n /*-------------------- Body------------------------------------------------*/\r\n const colDate = oc(order).ColDate('?ColDate');\r\n const collectorName = oc(order).CollectorName('?CollectorName');\r\n const notes = oc(order).Notes('?Notes');\r\n const reqDate = oc(order).ReqDate('?ReqDate');\r\n const status = oc(order).Status('?Status');\r\n const weight = oc(order).Weight('?Weight');\r\n const onWait = status === 'Εκρεμεί η Συλλογή';\r\n\r\n const title = 'Αίτηση ' + reqDate;\r\n let subtitle = 'Σε αναμονή παραλαβής';\r\n let classColor = 'text-danger';\r\n\r\n if (!onWait) {\r\n subtitle = 'Έχει γίνει παραλαβή ' + colDate;\r\n classColor = 'text-success';\r\n }\r\n /*-------------------- Handlers -------------------------------------------*/\r\n const handleClick = () => {\r\n onClick(keyValue);\r\n };\r\n\r\n const handleSubmit = (email: boolean) => {\r\n console.log(email);\r\n onSubmit(order.OrderId, email);\r\n };\r\n\r\n useWhyDidYouUpdate('[OrderWItem]', collapsedId);\r\n /*-------------------- Render ---------------------------------------------*/\r\n return (\r\n \r\n \r\n
\r\n \r\n {title}\r\n {subtitle}\r\n \r\n {collapsedId === keyValue ? : }\r\n
\r\n \r\n\r\n \r\n <>\r\n \r\n \r\n \r\n Μεταφορέας:\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Βάρος Ελαστικών:\r\n \r\n \r\n \r\n \r\n \r\n\r\n {notes !== '' ? (\r\n \r\n \r\n Σημειώσεις:\r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n <>\r\n )}\r\n \r\n \r\n \r\n \r\n
\r\n );\r\n};\r\n\r\nexport default OrderWItem;\r\n","import React, { FC, useState } from 'react';\r\nimport { Button, Card, Accordion } from 'react-bootstrap';\r\nimport { FaSync } from 'react-icons/fa';\r\nimport shortid from 'shortid';\r\n\r\nimport { useWhyDidYouUpdate } from '../../hooks';\r\n\r\nimport { OrderW } from '../../api';\r\nimport OrderWItem from './order-item';\r\n\r\ntype Props = {\r\n orders: OrderW[];\r\n recNo: number;\r\n onClickRefresh: () => void;\r\n onReportRequest: (orderId: number, email: boolean) => void;\r\n};\r\n\r\nconst OrdersWCard: FC = ({ orders, recNo, onClickRefresh, onReportRequest }) => {\r\n /*-------------------- Body -----------------------------------------------*/\r\n /** collapsedId: Collapse handling of Accordion keep the open state */\r\n const [collapsedId, setCollapsedId] = useState('0');\r\n /*-------------------- Handlers -------------------------------------------*/\r\n const handleItemClick = (id: string) => {\r\n setCollapsedId(collapsedId !== id ? id : '0');\r\n };\r\n\r\n const handleRefreshClick = () => {\r\n setCollapsedId('0');\r\n onClickRefresh();\r\n };\r\n\r\n const handleReportRequest = (orderId: number, email: boolean) => {\r\n console.log(orderId, email);\r\n onReportRequest(orderId, email);\r\n };\r\n /*-------------------- Render ---------------------------------------------*/\r\n useWhyDidYouUpdate('[OrdersWCard]', { orders, recNo, collapsedId });\r\n return (\r\n <>\r\n \r\n \r\n \r\n Ιστορικό Αιτήσεων\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n {orders.map((item, index) => (\r\n \r\n ))}\r\n \r\n \r\n {false && {'Εγγραφές:' + recNo}}\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default OrdersWCard;\r\n","import React, { FC, useState } from 'react';\r\nimport { RouteComponentProps } from 'react-router-dom';\r\n\r\nimport { useWhyDidYouUpdate } from '../../hooks';\r\nimport { useOrders2Query, useReportQuery } from '../../api';\r\nimport ModalSpinner from '../../components/modal-spinner';\r\nimport ModalDialog from '../../components/modal-dialog';\r\nimport OrdersWCard from './orders-card';\r\n\r\ntype Props = RouteComponentProps & {};\r\n\r\nconst OrdersView2: FC = props => {\r\n /*-------------------- Body -----------------------------------------------*/\r\n const [orderId, setOrderId] = useState(0);\r\n const [emailChecked, setEmailChecked] = useState(false);\r\n\r\n // -- For report QUERY hook\r\n const type = emailChecked ? 'EMAIL' : 'BLOB';\r\n const { busy, finish, reFetch: reFetchReport } = useReportQuery('Order', type, orderId);\r\n const { loading, error, records, reFetch } = useOrders2Query();\r\n const recordsNo = records.length > 0 ? parseInt(records[0].RecNo) : 0;\r\n\r\n /*-------------------- Handlers -------------------------------------------*/\r\n const handleRefresh = () => {\r\n reFetch();\r\n };\r\n\r\n const handleReportRequest = (_orderId: number, _email: boolean) => {\r\n setOrderId(_orderId);\r\n setEmailChecked(_email);\r\n reFetchReport();\r\n };\r\n useWhyDidYouUpdate('[OrdersView2]', { records, loading, error, reFetch });\r\n /*-------------------- Render ---------------------------------------------*/\r\n return (\r\n <>\r\n {records.length > 0 && (\r\n \r\n )}\r\n \r\n {}} />\r\n \r\n );\r\n};\r\n\r\nexport default OrdersView2;\r\n","import { useState, useEffect } from 'react';\r\nimport useAxios from '@use-hooks/axios';\r\nimport { oc } from 'ts-optchain';\r\nimport { useRootStore } from '../store';\r\nimport { useWhyDidYouUpdate } from '../hooks';\r\n\r\n/*\r\n###\r\nGET http://motion-2012:8085/webapi/xOrders2.cshtml?User=gtseliou@anamet.gr&Pass=motion$hellas&CstPointId=1\r\n###\r\n*/\r\n\r\nexport interface OrderW {\r\n ColDate: string;\r\n Col_DocId: string;\r\n CollectorName: string;\r\n CstPointId: string;\r\n ErrMessage: string;\r\n ErrResult: number;\r\n Notes: string;\r\n OrderId: number;\r\n RecNo: string;\r\n ReqDate: string;\r\n Status: string;\r\n Weight: string;\r\n}\r\n\r\nexport const useOrders2Query = () => {\r\n const { appStore } = useRootStore();\r\n const [message, setMessage] = useState('');\r\n const [records, setRecords] = useState([] as OrderW[]);\r\n const { response, loading, error, reFetch } = useAxios({\r\n url:\r\n appStore.webapi +\r\n `xOrders2.cshtml?` +\r\n `User=${appStore.user}&` +\r\n `Pass=${appStore.password}&` +\r\n `CstPointId=${appStore.cstPointId}`,\r\n method: 'GET',\r\n trigger: [],\r\n forceDispatchEffect: () => true,\r\n });\r\n const data = oc(response).data();\r\n useEffect(() => {\r\n if (error) {\r\n setMessage('Σφάλμα επικοινωνίας με τον Server!');\r\n setRecords([]);\r\n } else {\r\n if (!loading && !!data) {\r\n const resp = data as OrderW[];\r\n setMessage(resp[0].ErrMessage);\r\n if (resp[0].ErrResult === 0) {\r\n setRecords(resp);\r\n } else {\r\n setRecords([]);\r\n }\r\n }\r\n }\r\n }, [response, loading, error, data]);\r\n useWhyDidYouUpdate('[useOrders2Query]', { loading, data, error });\r\n return {\r\n loading,\r\n error,\r\n message,\r\n records,\r\n reFetch,\r\n };\r\n};\r\n","import React, { FC, useState } from 'react';\r\nimport { Form, Row, Col, Card } from 'react-bootstrap';\r\nimport DatePicker from 'react-datepicker';\r\nimport { format, subDays } from 'date-fns';\r\n\r\n// import { useWhyDidYouUpdate, useLogger } from '../../hooks';\r\nimport ReportFooter from '../../components/report-footer';\r\n\r\ntype Props = {\r\n onSubmit: (fromDate: Date, toDate: Date, email: boolean) => void;\r\n};\r\n\r\nconst PeriodReportCard: FC = ({ onSubmit }) => {\r\n /*-------------------- Body -----------------------------------------------*/\r\n const [from, setFrom] = useState(subDays(new Date(), 1));\r\n const [to, setTo] = useState(new Date());\r\n const [isOpenFrom, setIsOpenFrom] = useState(false);\r\n const [isOpenTo, setIsOpenTo] = useState(false);\r\n\r\n /*-------------------- Functions -------------------------------------------*/\r\n const toggleCalendarFrom = () => {\r\n setIsOpenFrom(!isOpenFrom);\r\n };\r\n\r\n const toggleCalendarTo = () => {\r\n setIsOpenTo(!isOpenTo);\r\n };\r\n\r\n /*-------------------- Handlers -------------------------------------------*/\r\n const handleFromChange = (date: Date) => {\r\n setFrom(date);\r\n toggleCalendarFrom();\r\n };\r\n\r\n const handleToChange = (date: any) => {\r\n setTo(date);\r\n toggleCalendarTo();\r\n };\r\n\r\n const handleSubmit = (email: boolean) => {\r\n onSubmit(from, to, email);\r\n };\r\n\r\n /*-------------------- Render ---------------------------------------------*/\r\n return (\r\n <>\r\n \r\n \r\n Ενημερωτικό Δελτίο\r\n \r\n\r\n
\r\n \r\n \r\n \r\n Περίοδος Αναφοράς:\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n Aπό :\r\n \r\n \r\n {}}\r\n />\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n Μέχρι :\r\n \r\n \r\n {}}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n {isOpenFrom && (\r\n \r\n )}\r\n {isOpenTo && (\r\n \r\n )}\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default PeriodReportCard;\r\n","import React, { FC, useState } from 'react';\r\nimport { RouteComponentProps } from 'react-router-dom';\r\nimport { format } from 'date-fns';\r\n\r\nimport { useWhyDidYouUpdate } from '../../hooks';\r\nimport { useReportQuery } from '../../api';\r\nimport { useRootStore } from '../../store';\r\n\r\nimport PeriodReportCard from './period-report-card';\r\nimport ModalReturn from '../../components/modal-dialog';\r\nimport ModalSpinner from '../../components/modal-spinner';\r\n\r\ntype Props = RouteComponentProps & {};\r\n\r\nconst PeriodReportView: FC = props => {\r\n /*-------------------- Body -----------------------------------------------*/\r\n const { appStore } = useRootStore();\r\n const [fromDate, setFromDate] = useState(new Date());\r\n const [toDate, setToDate] = useState(new Date());\r\n const [emailChecked, setEmailChecked] = useState('');\r\n\r\n // local variables\r\n const cstPointId = appStore.cstPointId;\r\n const strFromDate = format(fromDate, 'dd.MM.yyyy');\r\n const strToDate = format(toDate, 'dd.MM.yyyy');\r\n const type = emailChecked ? 'EMAIL' : 'BLOB';\r\n const { busy, finish, reFetch: reFetchReport } = useReportQuery(\r\n 'Period',\r\n type,\r\n 0,\r\n cstPointId,\r\n '',\r\n strFromDate,\r\n strToDate,\r\n );\r\n\r\n /*-------------------- Handlers -------------------------------------------*/\r\n const handleSubmit = (_fromDate, _toDate, _email) => {\r\n console.log('Submit YEAR:', ' Email', _email);\r\n setFromDate(_fromDate);\r\n setToDate(_toDate);\r\n setEmailChecked(_email);\r\n reFetchReport();\r\n };\r\n\r\n useWhyDidYouUpdate('[PeriodReportView]', {\r\n fromDate,\r\n toDate,\r\n email: emailChecked,\r\n busy,\r\n });\r\n\r\n /*-------------------- Render ---------------------------------------------*/\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default PeriodReportView;\r\n","import React, { FC } from 'react';\r\nimport { Form, Button, Card, InputGroup } from 'react-bootstrap';\r\nimport { FaUser, FaLock } from 'react-icons/fa';\r\nimport useForm from 'react-hook-form';\r\nimport * as yup from 'yup';\r\n\r\nimport { useWhyDidYouUpdate } from '../../hooks';\r\n/**\r\n * Setup Yup Validation\r\n */\r\nconst validationSchema = yup.object().shape({\r\n email: yup\r\n .string()\r\n .email()\r\n .required(),\r\n password: yup\r\n .string()\r\n .required()\r\n .min(3),\r\n});\r\n\r\nexport type NewUserFormData = yup.InferType;\r\n\r\ntype Props = {\r\n onSubmit: (v: NewUserFormData) => void;\r\n};\r\n\r\nconst NewUserForm: FC = ({ onSubmit }) => {\r\n /*-------------------- Body -----------------------------------------------*/\r\n const { register, handleSubmit, formState } = useForm({\r\n validationSchema: validationSchema,\r\n });\r\n const canSubmit = formState.dirty && formState.isValid;\r\n // useWhyDidYouUpdate('[NewUserForm]', formState);\r\n /*-------------------- Handlers -------------------------------------------*/\r\n\r\n /*-------------------- Render ---------------------------------------------*/\r\n return (\r\n \r\n \r\n \r\n \r\n Εισαγωγή Νέου Χρήστη\r\n \r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Εγγραφή\r\n \r\n \r\n
\r\n
\r\n );\r\n};\r\nexport default NewUserForm;\r\n","import React, { FC, useEffect } from 'react';\r\nimport { RouteComponentProps } from 'react-router-dom';\r\nimport useAxios from '@use-hooks/axios';\r\nimport { oc } from 'ts-optchain';\r\n\r\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\r\nimport { useWhyDidYouUpdate, useSt8 } from '../../hooks';\r\nimport { useRootStore } from '../../store';\r\nimport NewUserForm, { NewUserFormData } from './new-user-form';\r\nimport ModalSpinner from '../../components/modal-spinner';\r\nimport { ROUTES } from '../../routes';\r\nimport ModalDialog from '../../components/modal-dialog';\r\n\r\ntype Props = RouteComponentProps & {};\r\n\r\nconst NewUserView: FC = props => {\r\n /*-------------------- Body -----------------------------------------------*/\r\n const { appStore } = useRootStore();\r\n const user = useSt8('');\r\n const password = useSt8('');\r\n const message = useSt8('');\r\n\r\n const url = appStore.webapi + `xRegister.cshtml?User=${user()}&Pass=${password()}`;\r\n\r\n const { response, loading, error, reFetch } = useAxios({ url, method: 'GET' });\r\n const data = oc(response).data(false);\r\n\r\n /* --Το effect τρεχει οταν αλλάζει το data */\r\n\r\n useEffect(() => {\r\n if (error) {\r\n message('Σφάλμα επικοινωνίας με τον Server!');\r\n } else {\r\n if (data !== false) {\r\n const res = JSON.parse(data);\r\n // const errResult: string = oc(res).ErrResult('');\r\n const errMessage = oc(res).ErrMessage('Σφάλμα στην απάντηση του Server');\r\n const errResult = oc(res).ErrResult(-1);\r\n message(errMessage);\r\n }\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [data, error]);\r\n\r\n useWhyDidYouUpdate('[NewUserView]', { data, loading, error });\r\n /*-------------------- Handlers -------------------------------------------*/\r\n const handleSubmit = (res: NewUserFormData) => {\r\n user(res.email);\r\n password(res.password);\r\n message('');\r\n reFetch();\r\n };\r\n\r\n const handleDesmiss = () => {\r\n props.history.push(ROUTES.Login);\r\n };\r\n /*-------------------- Render ---------------------------------------------*/\r\n return (\r\n
\r\n \r\n \r\n \r\n
\r\n );\r\n};\r\n\r\nexport default NewUserView;\r\n","import React, { FC, useState } from 'react';\r\nimport { Form, Button, Card, Alert, OverlayTrigger, Tooltip } from 'react-bootstrap';\r\nimport { FaInfoCircle } from 'react-icons/fa';\r\nimport * as yup from 'yup';\r\nimport useForm from 'react-hook-form';\r\n\r\n// import { useWhyDidYouUpdate, useLogger } from '../../hooks';\r\nimport { OrderRequest } from '../../models';\r\nimport { TyreLimits } from './tyre-limits';\r\n\r\nfunction testValue(min: number, max: number): any {\r\n return value => {\r\n let error = '';\r\n if (min && value < min) {\r\n error += `Αποδεκτή ποσότητα >= ${min}`;\r\n }\r\n if (max && value > max) {\r\n error += `Αποδεκτή ποσότητα <= ${max}`;\r\n }\r\n console.log('#####', value, error);\r\n if (error !== '') return false;\r\n else return true;\r\n };\r\n}\r\n\r\nfunction testMessage(min: number, max: number): any {\r\n return ctx => {\r\n let error = '';\r\n if (min && ctx.value < min) {\r\n error += `Αποδεκτή ποσότητα >= ${min}`;\r\n }\r\n if (max && ctx.value > max) {\r\n error += `Αποδεκτή ποσότητα <= ${max}`;\r\n }\r\n if (error !== '') return error;\r\n else return undefined;\r\n };\r\n}\r\n\r\nexport type OrderFormData = {\r\n OrderId: number;\r\n Tyre1: string;\r\n Tyre2: string;\r\n Tyre3: string;\r\n Tyre4: string;\r\n Tyre5: string;\r\n Notes: string;\r\n};\r\n\r\ntype Props = {\r\n order: OrderRequest;\r\n onSubmit: (data: OrderFormData) => void;\r\n notQ4?: boolean;\r\n notQ1235?: boolean;\r\n tyreLimits: TyreLimits;\r\n};\r\n\r\n//--------------------------------------------------------------------------------------------\r\n// Component\r\n//--------------------------------------------------------------------------------------------\r\nconst RequestCard: FC = ({\r\n order,\r\n onSubmit,\r\n notQ4 = false,\r\n notQ1235 = false,\r\n tyreLimits,\r\n}) => {\r\n //useLogger('[RequestCard]', order.CstPointStatus, order.OrderId);\r\n\r\n /**\r\n * Setup Yup Validation & Type\r\n */\r\n const validationSchema = yup.object().shape({\r\n OrderId: yup.number(),\r\n Tyre1: yup.number().test({\r\n test: testValue(0, tyreLimits.max1),\r\n message: testMessage(0, tyreLimits.max1),\r\n }),\r\n Tyre2: yup\r\n .number()\r\n .test({ test: testValue(0, tyreLimits.max2), message: testMessage(0, tyreLimits.max2) }),\r\n Tyre3: yup\r\n .number()\r\n .test({ test: testValue(0, tyreLimits.max3), message: testMessage(0, tyreLimits.max3) }),\r\n Tyre4: yup\r\n .number()\r\n .test({ test: testValue(0, tyreLimits.max4), message: testMessage(0, tyreLimits.max4) }),\r\n Tyre5: yup\r\n .number()\r\n .test({ test: testValue(0, tyreLimits.max5), message: testMessage(0, tyreLimits.max5) }),\r\n Notes: yup.string(),\r\n });\r\n\r\n /*-------------------- Body -----------------------------------------------*/\r\n const newOrder = order.CstPointStatus > 0 || order.OrderId === 0;\r\n const [showAlert, setShowAlert] = useState(true);\r\n\r\n const initialValues = {\r\n OrderId: newOrder ? 0 : order.OrderId,\r\n Tyre1: newOrder ? '0' : order.Tyre1,\r\n Tyre2: newOrder ? '0' : order.Tyre2,\r\n Tyre3: newOrder ? '0' : order.Tyre3,\r\n Tyre4: newOrder ? '0' : order.Tyre4,\r\n Tyre5: newOrder ? '0' : order.Tyre5,\r\n Notes: newOrder ? '' : order.Notes,\r\n };\r\n console.log('$$$ order', order, initialValues);\r\n\r\n const textButton = newOrder ? 'ΑΠΟΣΤΟΛΗ ΑΙΤΗΣΗΣ' : 'ΔΙΟΡΘΩΣΗ ΑΙΤΗΣΗΣ';\r\n const alertHeader = newOrder ? 'Nέα Αίτηση' : 'Αίτηση σε αναμονή';\r\n const alertBody = newOrder\r\n ? 'Προχωρήστε στην αποστολή νέας αίτησης'\r\n : `Υπάρχει αίτηση σε αναμονή από ${order.Dates}, τροποποιήστε την αίτηση με νέες ποσότητες`;\r\n const alertColor = newOrder ? 'success' : 'danger';\r\n\r\n const { register, handleSubmit, formState, errors, watch } = useForm({\r\n defaultValues: initialValues,\r\n validationSchema: validationSchema,\r\n mode: 'onBlur',\r\n });\r\n\r\n const watch1 = watch('Tyre1');\r\n const watch2 = watch('Tyre2');\r\n const watch3 = watch('Tyre3');\r\n const watch4 = watch('Tyre4');\r\n const watch5 = watch('Tyre5');\r\n const reqMinimum =\r\n (tyreLimits.min1 > 0 && parseInt(watch1) >= tyreLimits.min1) ||\r\n (tyreLimits.min2 > 0 && parseInt(watch2) >= tyreLimits.min2) ||\r\n (tyreLimits.min3 > 0 && parseInt(watch3) >= tyreLimits.min3) ||\r\n (tyreLimits.min4 > 0 && parseInt(watch4) >= tyreLimits.min4) ||\r\n (tyreLimits.min5 > 0 && parseInt(watch5) >= tyreLimits.min5);\r\n\r\n const canSubmit = formState.dirty && formState.isValid && reqMinimum;\r\n console.log('$$$ formstate', formState, order);\r\n\r\n const canEdit1235 = (newOrder && !notQ1235) || (!newOrder && order.Tyre4 === '0');\r\n const canEdit4 = (newOrder && !notQ4) || (!newOrder && order.Tyre4 !== '0');\r\n console.log(reqMinimum);\r\n /*-------------------- Handlers -------------------------------------------*/\r\n const handleOnSubmit = (data: OrderFormData) => {\r\n console.log('$$$ Submit:', data, order);\r\n onSubmit({ ...data, OrderId: order.OrderId });\r\n };\r\n\r\n const handleAlertDesmiss = () => {\r\n setShowAlert(false);\r\n };\r\n\r\n /*-------------------- Render ---------------------------------------------*/\r\n // useWhyDidYouUpdate('[RequestCard]', { order, formState, errors, sum });\r\n return (\r\n \r\n \r\n Αίτηση Συλλογής Ελαστικών\r\n \r\n\r\n
\r\n \r\n {showAlert && (\r\n \r\n {alertHeader}\r\n

{alertBody}

\r\n
\r\n )}\r\n
\r\n {!reqMinimum && formState.dirty && (\r\n
\r\n ΠΡΟΣΟΧΗ:\r\n Τουλάχιστον μια κατηγορία θα πρέπει να περιέχει τον ελάχιστο απαιτούμενο αριθμό\r\n ελαστικών\r\n
\r\n )}\r\n
\r\n {/* Κατηγορία A ********************************************************************* */}\r\n \r\n \r\n \r\n Κατηγορία A (Μέσο Βάρος 8 kg)\r\n
    \r\n
  • Εξωτερική διάμετρος έως 1400mm
  • \r\n
  • Ελαστικά επιβατικών αυτοκινήτων (επιβατικά λάστιχα και λάστιχα 4X4).
  • \r\n
  • \r\n Ελαστικά εμπορικών οχημάτων με ονομαστική (εσωτερική) διάμετρο ζάντας\r\n μικρότερη από 17,5 ίντσες.\r\n
  • \r\n
  • \r\n Ελαστικά αγροτικών τρακτέρ συμβατικά (diagonal) για μπροστινούς τροχούς.\r\n
  • \r\n
  • \r\n Ελαστικά βιομηχανικών και ανυψωτικών οχημάτων (πνευματικά) με ονομαστική\r\n (εσωτερική) διάμετρο ζάντας μικρότερη ή ίση με 12 ίντσες.\r\n
  • \r\n
\r\n ελάχιστη ποσότητα: {tyreLimits.min1}\r\n \r\n }\r\n >\r\n \r\n \r\n Κατηγορία Α\r\n
\r\n\r\n \r\n\r\n \r\n {errors && errors['Tyre1'] ? errors['Tyre1'].message : ''}\r\n {/* {'Αποδεκτή ποσότητα <= 999'} */}\r\n \r\n \r\n\r\n {/* Κατηγορία Β ********************************************************************* */}\r\n \r\n \r\n \r\n Κατηγορία B (Μέσο Βάρος 50 kg)\r\n
    \r\n
  • Εξωτερική διάμετρος έως 1400mm
  • \r\n
  • \r\n Ελαστικά εμπορικών οχημάτων με ονομαστική (εσωτερική) διάμετρο ζάντας\r\n μεγαλύτερη ή ίση με 17,5 ίντσες.\r\n
  • \r\n
  • \r\n Ελαστικά αγροτικών τρακτέρ για οπίσθιους τροχούς κίνησης με εξωτερική\r\n διάμετρο έως 1400mm.\r\n
  • \r\n
  • \r\n Ελαστικά βιομηχανικών οχημάτων (πνευματικά-industrial) με ονομαστική\r\n (εσωτερική) διάμετρο ζάντας μεγαλύτερη από 12 ίντσες και με εξωτερική\r\n διάμετρο έως 1400mm.\r\n
  • \r\n
\r\n ελάχιστη ποσότητα: {tyreLimits.min2}\r\n \r\n }\r\n >\r\n \r\n \r\n Κατηγορία Β\r\n
\r\n \r\n \r\n {errors && errors['Tyre2'] ? errors['Tyre2'].message : ''}\r\n {/* {'Αποδεκτή ποσότητα <=500'} */}\r\n \r\n \r\n\r\n {/* Κατηγορία Γ ********************************************************************* */}\r\n \r\n \r\n \r\n Κατηγορία Γ (Μέσο Βάρος 4 kg)\r\n
    \r\n
  • Εξωτερική διάμετρος έως 1400mm
  • \r\n
  • Ελαστικά moto.
  • \r\n
\r\n ελάχιστη ποσότητα: {tyreLimits.min3}\r\n \r\n }\r\n >\r\n \r\n \r\n Κατηγορία Γ\r\n
\r\n \r\n \r\n {errors && errors['Tyre3'] ? errors['Tyre3'].message : ''}\r\n {/* {'Αποδεκτή ποσότητα <=500'} */}\r\n \r\n \r\n\r\n {/* Κατηγορία Δ1 - 4 ********************************************************************* */}\r\n\r\n \r\n \r\n \r\n Κατηγορία Δ1 (Μέσο Βάρος 150 kg)\r\n
    \r\n
  • Εξωτερική διάμετρος έως 1600mm
  • \r\n
  • \r\n Ελαστικά χωματουργικών οχημάτων και οχημάτων έργου (Grader, Loader, RDT,\r\n ADT, Crane, Mechanical Handling)\r\n
  • \r\n
\r\n {tyreLimits.min4 > 0 && ελάχιστη ποσότητα: {tyreLimits.min4}}\r\n \r\n }\r\n >\r\n \r\n \r\n Κατηγορία Δ1\r\n
\r\n \r\n \r\n {errors && errors['Tyre4'] ? errors['Tyre4'].message : ''}\r\n {/* {'Αποδεκτή ποσότητα <=500'} */}\r\n \r\n \r\n\r\n {/* Κατηγορία Δ2 - 5 ********************************************************************* */}\r\n \r\n \r\n \r\n Κατηγορία Δ2 (Μέσο Βάρος 100 kg)\r\n
    \r\n
  • Εξωτερική διάμετρος από 1400mm έως 1600mm
  • \r\n
  • \r\n Ελαστικά αγροτικών οχημάτων με εξωτερική διάμετρο από 1400mm έως 1600mm.\r\n
  • \r\n
  • \r\n Ελαστικά βιομηχανικών οχημάτων (πνευματικά-industrial) με εξωτερική διάμετρο\r\n από 1400mm έως 1600mm.\r\n
  • \r\n
\r\n {tyreLimits.min5 > 0 && ελάχιστη ποσότητα: {tyreLimits.min5}}\r\n \r\n }\r\n >\r\n \r\n \r\n Κατηγορία Δ2\r\n
\r\n \r\n \r\n {errors && errors['Tyre5'] ? errors['Tyre5'].message : ''}\r\n {/* {'Αποδεκτή ποσότητα <=500'} */}\r\n \r\n \r\n\r\n \r\n Σημειώσεις\r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default RequestCard;\r\n","import React, { FC, useState, useEffect } from 'react';\r\nimport { Modal, Button } from 'react-bootstrap';\r\n\r\n// import { useWhyDidYouUpdate } from '../hooks';\r\n\r\ntype Props = {\r\n title: string;\r\n text: string;\r\n onClick?: () => void;\r\n};\r\n\r\nconst ModalDialogFull: FC = ({ title, text, onClick = () => {} }) => {\r\n /*-------------------- Body -----------------------------------------------*/\r\n const [show, setShow] = useState(true);\r\n\r\n /* useEffect(() => {\r\n if (trigger) {\r\n setShow(true);\r\n }\r\n }, [trigger]); */\r\n\r\n const handleClick = () => {\r\n setShow(false);\r\n onClick();\r\n };\r\n /*-------------------- Render ---------------------------------------------*/\r\n return (\r\n \r\n \r\n {title}\r\n \r\n {text}\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default ModalDialogFull;\r\n","export type TyreLimits = {\r\n min1: number;\r\n min2: number;\r\n min3: number;\r\n min4: number;\r\n min5: number;\r\n max1: number;\r\n max2: number;\r\n max3: number;\r\n max4: number;\r\n max5: number;\r\n show1: boolean;\r\n show2: boolean;\r\n show3: boolean;\r\n show4: boolean;\r\n show5: boolean;\r\n};\r\n\r\n// Καταστήματα & Default\r\nexport const shopsTyreLimits: TyreLimits = {\r\n min1: 60,\r\n min2: 10,\r\n min3: 45,\r\n min4: 1,\r\n min5: 1,\r\n max1: 999,\r\n max2: 500,\r\n max3: 500,\r\n max4: 500,\r\n max5: 500,\r\n show1: true,\r\n show2: true,\r\n show3: true,\r\n show4: true,\r\n show5: true,\r\n};\r\n\r\n// Στόλος\r\nexport const stolosTyreLimits: TyreLimits = {\r\n min1: 200,\r\n min2: 50,\r\n min3: 150,\r\n min4: 1,\r\n min5: 1,\r\n max1: 999,\r\n max2: 500,\r\n max3: 500,\r\n max4: 500,\r\n max5: 500,\r\n show1: true,\r\n show2: true,\r\n show3: true,\r\n show4: true,\r\n show5: true,\r\n};\r\n\r\n// ΚΔΑΥ\r\nconst kdayTyreLimits: TyreLimits = {\r\n min1: 60,\r\n min2: 0,\r\n min3: 45,\r\n min4: 0,\r\n min5: 0,\r\n max1: 999,\r\n max2: 0,\r\n max3: 500,\r\n max4: 0,\r\n max5: 0,\r\n show1: true,\r\n show2: false,\r\n show3: true,\r\n show4: false,\r\n show5: false,\r\n};\r\n\r\n// Ανεξέλεγκτη Διάθεση\r\nexport const anekselegtiTyreLimits: TyreLimits = {\r\n min1: 1,\r\n min2: 1,\r\n min3: 1,\r\n min4: 1,\r\n min5: 1,\r\n max1: 250,\r\n max2: 40,\r\n max3: 500,\r\n max4: 500,\r\n max5: 500,\r\n show1: true,\r\n show2: true,\r\n show3: true,\r\n show4: true,\r\n show5: true,\r\n};\r\n\r\n// ΑΝΑΓΟΜΩΣΗ\r\nconst anagomosiTyreLimits: TyreLimits = {\r\n min1: 0,\r\n min2: 50,\r\n min3: 0,\r\n min4: 20,\r\n min5: 20,\r\n max1: 0,\r\n max2: 500,\r\n max3: 0,\r\n max4: 500,\r\n max5: 500,\r\n show1: false,\r\n show2: true,\r\n show3: false,\r\n show4: true,\r\n show5: true,\r\n};\r\n\r\n// ΜΕΤΑΧΕΙΡΙΣΜΕΝΑ\r\nconst metaxeirismenaTyreLimits: TyreLimits = {\r\n min1: 200,\r\n min2: 50,\r\n min3: 150,\r\n min4: 1,\r\n min5: 1,\r\n max1: 999,\r\n max2: 500,\r\n max3: 500,\r\n max4: 500,\r\n max5: 500,\r\n show1: true,\r\n show2: true,\r\n show3: true,\r\n show4: true,\r\n show5: true,\r\n};\r\n\r\nexport function getTyreLimits(inUseAgreementId: number): TyreLimits {\r\n if (inUseAgreementId === 5) {\r\n return stolosTyreLimits;\r\n } else if (inUseAgreementId === 6) {\r\n return kdayTyreLimits;\r\n } else if (inUseAgreementId === 7) {\r\n return anekselegtiTyreLimits;\r\n } else if (inUseAgreementId === 9) {\r\n return anagomosiTyreLimits;\r\n } else if (inUseAgreementId === 10) {\r\n return metaxeirismenaTyreLimits;\r\n } else return shopsTyreLimits;\r\n}\r\n","import React, { FC, useEffect, useState } from 'react';\r\nimport { RouteComponentProps } from 'react-router-dom';\r\nimport useAxios from '@use-hooks/axios';\r\nimport { oc } from 'ts-optchain';\r\n\r\nimport { useWhyDidYouUpdate, useSt8 } from '../../hooks';\r\nimport { useRootStore } from '../../store';\r\n\r\nimport { OrderRequest } from '../../models';\r\n\r\nimport RequestCard, { OrderFormData } from './request-card';\r\nimport ModalSpinner from '../../components/modal-spinner';\r\nimport ModalReturn from '../../components/modal-dialog';\r\nimport ModalDialogFull from '../../components/modal-dialog-full';\r\nimport { ROUTES } from '../../routes';\r\nimport { getTyreLimits, shopsTyreLimits } from './tyre-limits';\r\n\r\n/*\r\n\r\n Νέα Αίτηση για Καταστήματα\r\n\r\n*/\r\n\r\ntype Props = RouteComponentProps & {};\r\nconst RequestView: FC = props => {\r\n /*-------------------- Body -----------------------------------------------*/\r\n const { appStore } = useRootStore();\r\n\r\n const [isActive, setIsActive] = useState(true);\r\n const [modalText, setModalText] = useState('Παρακαλώ υπογράψτε τους όρους συνεργασίας');\r\n const [finishPre, setFinishPre] = useState(false);\r\n const [finish, setFinish] = useState(false);\r\n const [order, setOrder] = useState();\r\n const [order1235, setOrder1235] = useState();\r\n const [order4, setOrder4] = useState();\r\n const [message, setMessage] = useState('');\r\n const [orderFormData, setOrderFormData] = useState({\r\n OrderId: 0,\r\n Tyre1: '0',\r\n Tyre2: '0',\r\n Tyre3: '0',\r\n Tyre4: '0',\r\n Tyre5: '0',\r\n Notes: '',\r\n });\r\n\r\n const cstPointId = appStore.cstPointId;\r\n const user = appStore.user;\r\n const password = appStore.password;\r\n\r\n // --- preRequest Hook\r\n const urlPre =\r\n appStore.webapi +\r\n `xPreRequest_v2.cshtml?User=${user}` +\r\n `&Pass=${password}` +\r\n `&CstPointId=${cstPointId}`;\r\n\r\n const { response: responsePre, loading: loadingPre, error: errorPre } = useAxios({\r\n url: urlPre,\r\n method: 'GET',\r\n trigger: [],\r\n });\r\n const dataPre = oc(responsePre).data(false);\r\n\r\n useEffect(() => {\r\n console.log('Effect');\r\n if (errorPre) {\r\n setMessage('Σφάλμα επικοινωνίας με τον Server!');\r\n } else {\r\n if (dataPre !== false) {\r\n const isInJSON = dataPre.ErrResult !== undefined;\r\n const orderObj = isInJSON ? dataPre : JSON.parse(dataPre);\r\n // console.log('$$$', orderObj);\r\n switch (orderObj.ErrResult) {\r\n case 0: // Normal order -- Υπάρχουσα Εγγραφή\r\n //setOrder(orderObj.order4); // $$$ remove\r\n\r\n if (orderObj.order1235 !== null) setOrder1235(orderObj.order1235);\r\n else setOrder1235({ ...orderObj, OrderId: 0 }); // Νεα Εγγραφή\r\n\r\n if (orderObj.order4 !== null) setOrder4(orderObj.order4);\r\n else setOrder4({ ...orderObj, OrderId: 0 }); // Νεα Εγγραφή\r\n\r\n setFinishPre(true);\r\n break;\r\n case 4: // No orders\r\n setOrder({ ...orderObj, OrderId: 0 }); // Νεα Εγγραφή\r\n setFinishPre(true);\r\n break;\r\n case 3: // CstPoint not active\r\n setIsActive(false);\r\n setModalText(\r\n appStore.hasConsented\r\n ? 'Παρακαλώ επικοινωνήστε με ECOELASTIKA (κος Τατσιόπουλος 210 61.28.260) για την ενεργοποίηση του λογαριασμού σας'\r\n : 'Παρακαλώ υπογράψτε τους όρους συνεργασίας και επικοινωνήστε με ECOELASTIKA (κος Τατσιόπουλος 210 61.28.260) για την ενεργοποίηση του λογαριασμού σας',\r\n );\r\n setFinishPre(true);\r\n break;\r\n default:\r\n console.log(orderObj.ErrMessage);\r\n }\r\n }\r\n }\r\n }, [appStore.hasConsented, dataPre, errorPre]);\r\n\r\n useWhyDidYouUpdate('[RequestView:1]', {\r\n dataPre,\r\n loadingPre,\r\n errorPre,\r\n finishPre,\r\n order,\r\n message,\r\n });\r\n\r\n // --- Request Edit/New Order Hook\r\n const url =\r\n appStore.webapi +\r\n `xRequest_v2.cshtml?User=${user}` +\r\n `&Pass=${password}` +\r\n `&CstPointId=${cstPointId}` +\r\n `&CollectionIID=${orderFormData.OrderId}` +\r\n `&ReqQty1=${orderFormData.Tyre1}` +\r\n `&ReqQty2=${orderFormData.Tyre2}` +\r\n `&ReqQty3=${orderFormData.Tyre3}` +\r\n `&ReqQty4=${orderFormData.Tyre4}` +\r\n `&ReqQty5=${orderFormData.Tyre5}` +\r\n `&Notes=${orderFormData.Notes}`;\r\n const { response, loading, error, reFetch } = useAxios({ url, method: 'GET' });\r\n const data = oc(response).data(false);\r\n\r\n useEffect(() => {\r\n if (data !== false) {\r\n console.log(JSON.parse(data));\r\n setFinish(true);\r\n }\r\n }, [data]);\r\n\r\n useWhyDidYouUpdate('[RequestView:2]', { data, loading, error, orderFormData });\r\n\r\n /*-------------------- Handlers -------------------------------------------*/\r\n const handleSubmit = (formData: OrderFormData) => {\r\n setOrderFormData(formData);\r\n reFetch();\r\n };\r\n\r\n const handleEndClick = () => {\r\n props.history.push(ROUTES.Orders);\r\n };\r\n\r\n /*-------------------- Render ---------------------------------------------*/\r\n return (\r\n <>\r\n {(!isActive || (!appStore.hasConsented && appStore.cstPointTypeId === 0)) && finishPre && (\r\n props.history.push(ROUTES.CstPoint)}\r\n />\r\n )}\r\n {appStore.firstMustConsent && (\r\n props.history.push(ROUTES.Agreement)}\r\n />\r\n )}\r\n {finishPre &&\r\n isActive &&\r\n (appStore.hasConsented || appStore.cstPointTypeId !== 0) &&\r\n (order ? (\r\n \r\n ) : (\r\n
\r\n \r\n \r\n
\r\n ))}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default RequestView;\r\n","import React, { FC, useState } from 'react';\r\nimport { Form, Button, Card, Alert } from 'react-bootstrap';\r\nimport * as yup from 'yup';\r\nimport useForm from 'react-hook-form';\r\nimport { useWhyDidYouUpdate } from '../../hooks';\r\nimport { OrderWRequest } from '../../models';\r\n\r\n/**------------------------ ΣΗΜΕΙΩΣΕΙΣ ----------------------------------------\r\n *\r\n * Η φόρμα όταν ανοίγει θα πρέπει να υπάρχουν ήδη οι αρχικές τιμές, αν αλλάξουν\r\n * μετά, δεν λαμβάνονται υπόψη αυτόματα. Θα πρέπει να κανω setvalue χειροκίνητα\r\n *\r\n */\r\n\r\n/**\r\n * Setup Yup Validation & Type\r\n */\r\nconst validationSchema = yup.object().shape({\r\n Weight: yup.number().test({ test: value => value >= 5000 && value <= 12000 }),\r\n Notes: yup.string(),\r\n});\r\n\r\nexport type OrderWFormData = {\r\n Weight: string;\r\n Notes: string;\r\n};\r\n\r\ntype Props = {\r\n order: OrderWRequest;\r\n onSubmit: (data: OrderWFormData) => void;\r\n};\r\n\r\nconst RequestWCard: FC = ({ order, onSubmit }) => {\r\n /*-------------------- Body -----------------------------------------------*/\r\n const newOrder = order.Status === 'Εχει Ολοκληρωθεί η Συλλογή' || order.OrderId === 0;\r\n const [showAlert, setShowAlert] = useState(true);\r\n const initialValues: OrderWFormData = {\r\n Weight: newOrder ? '0' : order.Weight,\r\n Notes: newOrder ? '' : order.Notes,\r\n };\r\n\r\n const textButton = newOrder ? 'ΑΠΟΣΤΟΛΗ ΑΙΤΗΣΗΣ' : 'ΔΙΟΡΘΩΣΗ ΑΙΤΗΣΗΣ';\r\n const alertHeader = newOrder ? 'Nέα Αίτηση' : 'Αίτηση σε αναμονή';\r\n const alertBody = newOrder\r\n ? 'Προχωρήστε στην αποστολή νέας αίτησης'\r\n : `Υπάρχει αίτηση σε αναμονή από ${order.Dates}, τροποποιήστε την αίτηση με νέες ποσότητες`;\r\n const alertColor = newOrder ? 'success' : 'danger';\r\n\r\n const { register, handleSubmit, formState, errors } = useForm({\r\n defaultValues: initialValues,\r\n validationSchema: validationSchema,\r\n mode: 'onBlur',\r\n });\r\n\r\n const canSubmit = formState.dirty && formState.isValid;\r\n\r\n /*-------------------- Handlers -------------------------------------------*/\r\n const handleOnSubmit = (data: OrderWFormData) => {\r\n console.log('Submit:', data);\r\n onSubmit(data);\r\n };\r\n\r\n const handleAlertDesmiss = () => {\r\n setShowAlert(false);\r\n };\r\n\r\n /*-------------------- Render ---------------------------------------------*/\r\n //useWhyDidYouUpdate('[RequestWCard]', { order, errors, formState });\r\n return (\r\n \r\n \r\n Αίτηση Συλλογής Ελαστικών\r\n \r\n\r\n
\r\n \r\n {showAlert && (\r\n \r\n {alertHeader}\r\n

{alertBody}

\r\n
\r\n )}\r\n\r\n \r\n Βάρος Ελαστικών (kg)\r\n \r\n \r\n Αποδεκτή ποσότητα 5000-12000 Kg\r\n \r\n \r\n \r\n Σημειώσεις\r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default RequestWCard;\r\n","import React, { FC, useEffect, useState } from 'react';\r\nimport { RouteComponentProps } from 'react-router-dom';\r\nimport useAxios from '@use-hooks/axios';\r\nimport { oc } from 'ts-optchain';\r\n\r\nimport { useWhyDidYouUpdate, useSt8 } from '../../hooks';\r\nimport { useRootStore } from '../../store';\r\n\r\nimport { OrderWRequest } from '../../models';\r\n\r\nimport RequestWCard, { OrderWFormData } from './request-card';\r\nimport ModalSpinner from '../../components/modal-spinner';\r\nimport ModalReturn from '../../components/modal-dialog';\r\nimport { ROUTES } from '../../routes';\r\nimport ModalDialogFull from '../../components/modal-dialog-full';\r\n\r\n/*\r\n\r\n Νέα Αίτηση για Κατόχους και Διαλυτήρια\r\n\r\n*/\r\ntype Props = RouteComponentProps & {};\r\nconst RequestWView: FC = props => {\r\n /*-------------------- Body -----------------------------------------------*/\r\n const { appStore } = useRootStore();\r\n const [isActive, setIsActive] = useState(true);\r\n const [modalText, setModalText] = useState('Παρακαλώ υπογράψτε τους όρους συνεργασίας');\r\n const finishPre = useSt8(false);\r\n const finish = useSt8(false);\r\n const order = useSt8(({} as any) as OrderWRequest);\r\n const orderFormData = useSt8(({\r\n Weight: '0',\r\n Notes: '',\r\n } as any) as OrderWFormData);\r\n\r\n const cstPointId = appStore.cstPointId;\r\n const user = appStore.user;\r\n const password = appStore.password;\r\n\r\n // --------------------------- preRequest Hook\r\n const urlPre =\r\n appStore.webapi +\r\n `xPreRequest2.cshtml?User=${user}` +\r\n `&Pass=${password}` +\r\n `&CstPointId=${cstPointId}`;\r\n\r\n const { response: responsePre, loading: loadingPre, error: errorPre } = useAxios({\r\n url: urlPre,\r\n method: 'GET',\r\n trigger: [],\r\n });\r\n const dataPre = oc(responsePre).data(false);\r\n\r\n useEffect(() => {\r\n if (errorPre) {\r\n console.log('Error!');\r\n } else {\r\n if (dataPre !== false) {\r\n console.log(JSON.parse(dataPre));\r\n const orderObj: OrderWRequest = JSON.parse(dataPre);\r\n switch (orderObj.ErrResult) {\r\n case 0: // Normal order\r\n order(orderObj);\r\n finishPre(true);\r\n break;\r\n case 4: // No orders\r\n order({ ...orderObj, OrderId: 0 });\r\n finishPre(true);\r\n break;\r\n case 3: // CstPoint not active\r\n setIsActive(false);\r\n setModalText(\r\n appStore.hasConsented\r\n ? 'Παρακαλώ επικοινωνήστε με ECOELASTIKA (κος Τατσιόπουλος 210 61.28.260) για την ενεργοποίηση του λογαριασμού σας'\r\n : 'Παρακαλώ υπογράψτε τους όρους συνεργασίας και επικοινωνήστε με ECOELASTIKA (κος Τατσιόπουλος 210 61.28.260) για την ενεργοποίηση του λογαριασμού σας',\r\n );\r\n finishPre(true);\r\n break;\r\n default:\r\n console.log(orderObj.ErrMessage);\r\n }\r\n }\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [dataPre, errorPre]);\r\n\r\n useWhyDidYouUpdate('[RequestWView:1]', { dataPre, loadingPre, errorPre, finishPre, order });\r\n\r\n // --------------------- Request Edit/New Order Hook\r\n const url =\r\n appStore.webapi +\r\n `xRequest2.cshtml?User=${user}` +\r\n `&Pass=${password}` +\r\n `&CstPointId=${cstPointId}` +\r\n `&ReqWeight=${orderFormData().Weight}` +\r\n `&ReqNotes=${orderFormData().Notes}`;\r\n\r\n const { response, loading, error, reFetch } = useAxios({ url, method: 'GET' });\r\n const data = oc(response).data(false);\r\n\r\n useEffect(() => {\r\n if (data !== false) {\r\n console.log(JSON.parse(data));\r\n finish(true);\r\n }\r\n }, [data, finish]);\r\n\r\n useWhyDidYouUpdate('[RequestWView:2]', { data, loading, error });\r\n\r\n /*-------------------- Handlers -------------------------------------------*/\r\n const handleSubmit = formData => {\r\n orderFormData(formData);\r\n reFetch();\r\n };\r\n\r\n const handleEndClick = () => {\r\n props.history.push(ROUTES.Orders2);\r\n };\r\n\r\n /*-------------------- Render ---------------------------------------------*/\r\n return (\r\n <>\r\n {finishPre() && (\r\n <>\r\n {!isActive /* || !appStore.hasConsented */ ? (\r\n props.history.push(ROUTES.CstPoint)}\r\n />\r\n ) : (\r\n <>\r\n {appStore.firstMustConsent && (\r\n props.history.push(ROUTES.Agreement)}\r\n />\r\n )}\r\n \r\n \r\n )}\r\n \r\n )}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default RequestWView;\r\n","import React, { FC } from 'react';\r\nimport { Card, Button } from 'react-bootstrap';\r\nimport shortid from 'shortid';\r\nimport { RouteComponentProps } from 'react-router-dom';\r\n\r\nimport { useWhyDidYouUpdate } from '../../hooks';\r\nimport { useRootStore } from '../../store';\r\n\r\ntype Props = RouteComponentProps & {};\r\nconst SelectPointView: FC = props => {\r\n /*-------------------- Body -----------------------------------------------*/\r\n const { appStore } = useRootStore();\r\n\r\n /*-------------------- Handlers -------------------------------------------*/\r\n const handleClick = (data: number) => {\r\n appStore.selectPoint(data);\r\n };\r\n\r\n useWhyDidYouUpdate('[SelectPointView]', props);\r\n /*-------------------- Render ---------------------------------------------*/\r\n return (\r\n \r\n \r\n Επιλογή Σημείου Συλλογής\r\n \r\n \r\n {appStore.cstPoints.map(item => (\r\n handleClick(item.CstPointId)}\r\n >\r\n \r\n \r\n \r\n {item.CstPointName}\r\n\r\n
{item.CstPointAddress}
\r\n\r\n \r\n {item.GroupName}\r\n \r\n
\r\n
\r\n
\r\n \r\n ))}\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default SelectPointView;\r\n","import React, { FC, useState } from 'react';\r\nimport { Form, Row, Col, Card } from 'react-bootstrap';\r\n\r\n// import { useWhyDidYouUpdate, useLogger } from '../../hooks';\r\nimport ReportFooter from '../../components/report-footer';\r\n\r\nfunction lastYears(): string[] {\r\n let ret: string[] = [] as string[];\r\n\r\n const lastyear = new Date().getFullYear() - 1;\r\n\r\n for (let i = lastyear; i >= 2012; i--) {\r\n ret.push(i.toString());\r\n }\r\n return ret;\r\n}\r\n\r\ntype Props = {\r\n onSubmit: (year: string, email: boolean) => void;\r\n};\r\n\r\nconst YearReportCard: FC = ({ onSubmit }) => {\r\n /*-------------------- Body -----------------------------------------------*/\r\n const years = lastYears();\r\n const [year, setYear] = useState(years[0]);\r\n\r\n /*-------------------- Handlers -------------------------------------------*/\r\n const handleYearChange = event => {\r\n setYear(event.target.value);\r\n };\r\n const handleSubmit = (email: boolean) => {\r\n onSubmit(year, email);\r\n };\r\n // useWhyDidYouUpdate('[YearReportCard]', { loading, onSubmit, year, email });\r\n\r\n /*-------------------- Render ---------------------------------------------*/\r\n return (\r\n \r\n \r\n Ετήσια Έκθεση Αποβλήτων\r\n \r\n\r\n
\r\n \r\n \r\n \r\n Επιλογή Επιθυμητού Έτους :\r\n \r\n \r\n \r\n {years.map(item => (\r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n );\r\n};\r\n\r\nexport default YearReportCard;\r\n","import React, { FC, useState } from 'react';\r\nimport { RouteComponentProps } from 'react-router-dom';\r\n\r\nimport { useWhyDidYouUpdate } from '../../hooks';\r\nimport { useReportQuery } from '../../api';\r\nimport { useRootStore } from '../../store';\r\n\r\nimport YearReportCard from './year-report-card';\r\nimport ModalDialog from '../../components/modal-dialog';\r\nimport ModalSpinner from '../../components/modal-spinner';\r\n\r\ntype Props = RouteComponentProps & {};\r\n\r\nconst YearReportView: FC = props => {\r\n /*-------------------- Body -----------------------------------------------*/\r\n const { appStore } = useRootStore();\r\n const [year, setYear] = useState('');\r\n const [emailChecked, setEmailChecked] = useState('');\r\n\r\n // local variables\r\n const cstPointId = appStore.cstPointId;\r\n const type = emailChecked ? 'EMAIL' : 'BLOB';\r\n const { busy, finish, reFetch: reFetchReport } = useReportQuery(\r\n 'Year',\r\n type,\r\n 0,\r\n cstPointId,\r\n year,\r\n );\r\n /*-------------------- Handlers -------------------------------------------*/\r\n const handleSubmit = (_year: string, _email) => {\r\n console.log('Submit YEAR:', _year, ' Email', _email);\r\n setYear(_year);\r\n setEmailChecked(_email);\r\n reFetchReport();\r\n };\r\n\r\n useWhyDidYouUpdate('[YearReportView]', { year, emailChecked, busy });\r\n\r\n /*-------------------- Render ---------------------------------------------*/\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default YearReportView;\r\n","import { useState, useEffect } from 'react';\r\nimport useAxios from '@use-hooks/axios';\r\nimport { oc } from 'ts-optchain';\r\nimport { useRootStore } from '../store';\r\nimport { useWhyDidYouUpdate } from '../hooks';\r\n\r\n/*\r\n###\r\nGET http://192.168.160.203:8085/webapi/xOrders.cshtml?User=bikenrider@gmail.com&Pass=motion$hellas&CstPointId=2481\r\n###\r\n*/\r\n\r\nexport interface Agreement {\r\n IID: number;\r\n Name: string;\r\n TextContent: string;\r\n InUseFromDT: string;\r\n CstPointTypeId: number;\r\n CstPountGroupId: number;\r\n}\r\n\r\nexport const useAgreementContentQuery = ({ id }) => {\r\n const { appStore } = useRootStore();\r\n const [message, setMessage] = useState('');\r\n const [record, setRecord] = useState();\r\n const url = id\r\n ? appStore.webapi +\r\n `xGetAgreementContent.cshtml?` +\r\n `User=${appStore.user}` +\r\n `&Pass=${appStore.password}` +\r\n `&Id=${id}`\r\n : '';\r\n const { response, loading, error, reFetch } = useAxios({\r\n url: url,\r\n method: 'GET',\r\n });\r\n const data = oc(response).data();\r\n useEffect(() => {\r\n if (error) {\r\n setMessage('Σφάλμα επικοινωνίας με τον Server!');\r\n } else {\r\n if (!loading && !!data) {\r\n const resp = data as Agreement;\r\n setRecord(resp);\r\n }\r\n }\r\n }, [response, loading, error, data]);\r\n\r\n useEffect(() => {\r\n reFetch();\r\n }, []);\r\n useWhyDidYouUpdate('[useAgreementQuery]', { loading, data, error });\r\n return {\r\n loading,\r\n error,\r\n message,\r\n record,\r\n reFetch,\r\n };\r\n};\r\n","import React from 'react';\r\nimport { useAgreementContentQuery } from '../../api/agreement-content';\r\n\r\nexport const TermsAndConditions = ({ agreementId, pdfFileLink }) => {\r\n //fetch terms\r\n const { loading, error, record, reFetch } = useAgreementContentQuery({\r\n id: agreementId,\r\n });\r\n\r\n return (\r\n
\r\n {/* pdf embedded\r\n\r\n
\r\n \r\n

\r\n Please press here to open the file!\r\n

\r\n
\r\n */}\r\n\r\n {/* \r\n

\r\n Please press here to open the file!\r\n

\r\n */}\r\n\r\n \r\n \r\n );\r\n};\r\n","import React, { useState } from 'react';\r\nimport { Form } from 'react-bootstrap';\r\nimport { useRootStore } from '../../store';\r\nimport { AgreementsIds } from '../../common/constants';\r\n\r\nconst iCertifyString0 =\r\n 'Βεβαιώνω ότι η παραπάνω εταιρεία δεν είναι υπόχρεος Παραγωγός κατά την έννοια της νομοθεσίας (άρθρο 2 παρ. 4 ΚΥΑ ΥΠΕΝ/ΔΔ Α/36464/547, ΦΕΚ Β 2217/6.4.2023) δηλαδή δεν είναι α) εισαγωγέας ελαστικών ως αυτοτελή προϊόντα β) εισαγωγέας ελαστικών που αποτελούν μέρος οχημάτων γ) εισαγωγέας μεταχειρισμένων ελαστικών δ) εισαγωγέας μεταχειρισμένων οχημάτων. Σε περίπτωση που στο μέλλον η εκπροσωπούμενη από εμένα εταιρεία ασκήσει οποιαδήποτε από τις παραπάνω αναφερόμενες δραστηριότητες (α έως δ) υποχρεούται να απευθύνει σχετική ενημέρωση στο ΣΣΕΔ ECOELASTIKA και να συνάψει σύμβαση συνεργασίας υπόχρεου Παραγωγού.';\r\nconst iCertifyString1 =\r\n 'Βεβαιώνω ότι η παραπάνω εταιρεία δεν πραγματοποιεί εισαγωγές οχημάτων ή μερών οχημάτων τέλους κύκλου ζωής για διάλυση. Σε περίπτωση που η εκπροσωπούμενη από εμένα εταιρεία ασκήσει στο μέλλον οποιαδήποτε από τις παραπάνω αναφερόμενες δραστηριότητες, υποχρεούται να παραδώσει τα ελαστικά τέλους κύκλου ζωής που θα προκύψουν από την διάλυση των οχημάτων σε αδειοδοτημένους τελικούς αποδέκτες με δικά της μέσα και έξοδα.';\r\n\r\nconst iTyreImporterText = `Κάνω εισαγωγές ελαστικών, νέων ή/και μεταχειρισμένων (είτε πρόκειται για αυτοτελή προϊόντα\r\n είτε για μέρη οχημάτων που διατίθενται για πρώτη φορά στην Ελληνική αγορά).`;\r\n\r\nexport const IsTyreImporter = ({\r\n setFieldValue,\r\n getFieldsValues,\r\n setCanConsent,\r\n setConsented,\r\n register,\r\n tyreImporterText = iTyreImporterText,\r\n}) => {\r\n const { appStore } = useRootStore();\r\n const [isTyreImporter, setIsTyreImporter] = useState();\r\n\r\n const calcCanConsent = (vIsTyreImporter: boolean, vCertifyNoTyreImport: boolean) => {\r\n let value = false;\r\n if (vIsTyreImporter) value = true;\r\n else {\r\n if (vCertifyNoTyreImport) value = true;\r\n else value = false;\r\n }\r\n\r\n setCanConsent(value);\r\n if (!value) setConsented(false);\r\n };\r\n const handleIsTyreImporterChange = e => {\r\n e.persist();\r\n\r\n const valueIsTyreImporter = e.target.value === 'true' ? true : false;\r\n setIsTyreImporter(valueIsTyreImporter);\r\n setFieldValue('IsTyreImporter', valueIsTyreImporter);\r\n\r\n const values = getFieldsValues();\r\n calcCanConsent(valueIsTyreImporter, values.CertifyNoTyreImport);\r\n };\r\n\r\n return (\r\n
\r\n \r\n {tyreImporterText}\r\n \r\n \r\n \r\n\r\n \r\n {\r\n e.persist();\r\n const valueCertifyNoTyreImport = e.target.checked ? true : false;\r\n setFieldValue('CertifyNoTyreImport', valueCertifyNoTyreImport);\r\n\r\n const values = getFieldsValues();\r\n const valueIsTyreImporter = values.CertifyNoTyreImport === 'true' ? true : false;\r\n calcCanConsent(valueIsTyreImporter, valueCertifyNoTyreImport);\r\n }}\r\n />\r\n \r\n
\r\n );\r\n};\r\n","import React, { FC, useState, useEffect, useRef } from 'react';\r\nimport { Form, Button, Card, Alert, Col, Row } from 'react-bootstrap';\r\nimport * as yup from 'yup';\r\nimport useForm from 'react-hook-form';\r\n\r\n// import { useWhyDidYouUpdate, useLogger } from '../../hooks';\r\nimport { Agreement } from '../../models';\r\nimport { useWhyDidYouUpdate } from '../../hooks';\r\nimport { useRootStore } from '../../store';\r\nimport { GoogleMap, Marker, useLoadScript } from '@react-google-maps/api';\r\nimport { useGeocodeReverseQuery, useGeocodeQuery } from '../../api';\r\nimport { IsTyreImporter } from '../agreement-new/isTyreImporter';\r\nimport { AgreementsIds } from '../../common/constants';\r\nimport { AppStore } from '../../store/app-store';\r\n\r\ndeclare const google;\r\n/**\r\n * Setup Yup Validation & Type\r\n */\r\nconst validationSchema = yup.object().shape({\r\n Address: yup.string().required(),\r\n ZipCode: yup.string().required(),\r\n Phone1: yup.string().required(),\r\n Phone2: yup.string(),\r\n Phone3: yup.string(),\r\n Fax1: yup.string(),\r\n Email: yup.string().required(),\r\n Contact: yup.string().required(),\r\n ContactPosition: yup.string(),\r\n Municipality: yup.string().required(),\r\n});\r\n\r\nexport type AgreementFormData = {\r\n Address: string;\r\n ZipCode: string;\r\n Phone1: string;\r\n Phone2: string;\r\n Phone3: string;\r\n Fax1: string;\r\n Email: string;\r\n Contact: string;\r\n ContactPosition: string;\r\n Municipality: string;\r\n AddressLongitude: number;\r\n AddressLatitude: number;\r\n dataChanged: boolean;\r\n};\r\n\r\ntype Props = {\r\n agreement: Agreement;\r\n consented: boolean;\r\n onSubmit: (data: AgreementFormData) => void;\r\n recordsMun: any;\r\n recordsPos: any;\r\n setConsented: any;\r\n};\r\n\r\nconst CstPointFields: FC = ({\r\n agreement,\r\n consented,\r\n onSubmit,\r\n recordsMun,\r\n recordsPos,\r\n setConsented,\r\n}) => {\r\n /*-------------------- Body -----------------------------------------------*/\r\n const { appStore } = useRootStore();\r\n const isFirstRun = useRef(true);\r\n const isFirstRun2 = useRef(true);\r\n const initialValues = {\r\n Address: !agreement.Address ? '' : agreement.Address,\r\n ZipCode: !agreement.ZipCode ? '' : agreement.ZipCode,\r\n Phone1: !agreement.Phone1 ? '' : agreement.Phone1,\r\n Phone2: !agreement.Phone2 ? '' : agreement.Phone2,\r\n Phone3: !agreement.Phone3 ? '' : agreement.Phone3,\r\n Fax1: !agreement.Fax1 ? '' : agreement.Fax1,\r\n Email: !agreement.Email ? '' : agreement.Email,\r\n Contact: !agreement.Contact ? '' : agreement.Contact,\r\n ContactPosition: !agreement.ContactPosition ? '' : agreement.ContactPosition,\r\n Municipality: !agreement.Municipality ? '' : agreement.Municipality,\r\n ContactPositionNew:\r\n agreement.ContactPosition !== 'Ιδιοκτήτης' &&\r\n agreement.ContactPosition !== 'Νόμιμος Εκπρόσωπος' &&\r\n agreement.ContactPosition !== 'Υπάλληλος' &&\r\n agreement.ContactPosition !== 'Υπεύθυνος καταστήματος'\r\n ? agreement.ContactPosition\r\n : '',\r\n };\r\n\r\n const dontShowImporterText = [\r\n AgreementsIds.Municipalities,\r\n AgreementsIds.Kdai,\r\n AgreementsIds.Apovlita,\r\n ].includes(appStore.inUseAgreementId);\r\n const [canConsent, setCanConsent] = useState(dontShowImporterText);\r\n\r\n const tyreImporterText = () => {\r\n if (appStore.inUseAgreementId === AgreementsIds.Stolos)\r\n return `Κάνω εισαγωγές ελαστικών, νέων ή/και μεταχειρισμένων (είτε πρόκειται για αυτοτελή προϊόντα είτε για μέρη οχημάτων που διατίθενται για πρώτη φορά στην Ελληνική αγορά).`;\r\n else if (appStore.inUseAgreementId === AgreementsIds.UsedTires)\r\n return `Κάνω εισαγωγές ελαστικών, νέων ή/και μεταχειρισμένων (είτε πρόκειται για αυτοτελή προϊόντα είτε για μέρη οχημάτων που διατίθενται για πρώτη φορά στην Ελληνική αγορά).`;\r\n else if (appStore.inUseAgreementId === AgreementsIds.Anagomosi)\r\n return `Κάνω εισαγωγές σκελετών ελαστικών για αναγόμωση.`;\r\n else if (appStore.inUseAgreementId === AgreementsIds.Dialitiria)\r\n return `Κάνω εισαγωγές Οχημάτων ή μερών Οχημάτων τέλους κύκλου ζωής για διάλυση.`;\r\n else return undefined;\r\n };\r\n\r\n const [showAlert, setShowAlert] = useState(false);\r\n\r\n const { register, handleSubmit, formState, errors, setValue, getValues } = useForm({\r\n defaultValues: initialValues,\r\n validationSchema: validationSchema,\r\n mode: 'onBlur',\r\n });\r\n const [dataChanged, setDataChanged] = useState(false);\r\n const [position, setPosition] = useState({\r\n lat: agreement.AddressLatitude,\r\n lng: agreement.AddressLongitude,\r\n });\r\n const [newOption, setNewOption] = useState(false);\r\n const [address, setAddress] = useState(agreement.Address);\r\n const [zipCode, setZipCode] = useState(agreement.ZipCode);\r\n const [lat, setLat] = useState(agreement.AddressLatitude);\r\n const [lng, setLng] = useState(agreement.AddressLongitude);\r\n const { records, reFetch: fetchGeo } = useGeocodeQuery({\r\n address: address,\r\n zipCode: zipCode,\r\n });\r\n\r\n const { records: addressRecords, reFetch: fetchGeoReverse } = useGeocodeReverseQuery({\r\n lat: lat,\r\n lng: lng,\r\n });\r\n\r\n /*-------------------- Handlers -------------------------------------------*/\r\n const processedData = (data: any) => {\r\n const newData = {\r\n Address: data.Address.toUpperCase(),\r\n ZipCode: data.ZipCode,\r\n Phone1: data.Phone1,\r\n Phone2: data.Phone2,\r\n Phone3: data.Phone3,\r\n Fax1: data.Fax1,\r\n Email: data.Email.toUpperCase(),\r\n Contact: data.Contact.toUpperCase(),\r\n ContactPosition:\r\n data.ContactPosition === 'Άλλη Ιδιότητα' || data.ContactPosition === ''\r\n ? data.ContactPositionNew\r\n : data.ContactPosition,\r\n Municipality: data.Municipality,\r\n AddressLongitude: position.lng,\r\n AddressLatitude: position.lat,\r\n dataChanged: data.dataChanged,\r\n IsTyreImporter: data.IsTyreImporter === 'true' ? true : false,\r\n CertifyNoTyreImport: data.CertifyNoTyreImport,\r\n };\r\n\r\n return newData;\r\n };\r\n\r\n const handleOnSubmit = (data: any) => {\r\n if (\r\n data.Municipality === '' ||\r\n ((data.ContactPosition === 'Άλλη Ιδιότητα' && data.ContactPositionNew === '') ||\r\n (data.ContactPosition === '' && data.ContactPositionNew === ''))\r\n ) {\r\n setShowAlert(true);\r\n } else {\r\n console.log('Submit:', data);\r\n onSubmit(processedData(data));\r\n }\r\n };\r\n\r\n const handleAlertDismiss = () => {\r\n setShowAlert(false);\r\n };\r\n\r\n const containerStyle = {\r\n width: '500px',\r\n height: '720px',\r\n };\r\n const [zoom, setZoom] = useState(10);\r\n const [center, setCenter] = useState({\r\n lat: 38.005,\r\n lng: 23.823,\r\n });\r\n\r\n const focusMarker = position => {\r\n setZoom(17);\r\n setCenter(position);\r\n };\r\n\r\n const { isLoaded, loadError } = useLoadScript({\r\n googleMapsApiKey: 'AIzaSyDTPYVZ76DV-eairJCtDjYAIyQp5rYcG_w', // ,\r\n // ...otherOptions\r\n });\r\n\r\n useEffect(() => {\r\n if (zipCode.length > 4 && address.length > 0) {\r\n const timer = setTimeout(() => {\r\n fetchGeo();\r\n }, 2000);\r\n return () => clearTimeout(timer);\r\n }\r\n }, [address, zipCode]);\r\n\r\n useEffect(() => {\r\n if (isFirstRun.current) {\r\n isFirstRun.current = false;\r\n } else {\r\n const timer = setTimeout(() => {\r\n fetchGeoReverse();\r\n }, 500);\r\n return () => clearTimeout(timer);\r\n }\r\n }, [lat, lng]);\r\n\r\n useEffect(() => {\r\n if (isFirstRun2.current) {\r\n isFirstRun2.current = false;\r\n } else {\r\n if (addressRecords.address.length > 0 && addressRecords.zipCode.length > 0) {\r\n setValue('Address', addressRecords.address);\r\n setValue('ZipCode', addressRecords.zipCode);\r\n }\r\n }\r\n }, [addressRecords]);\r\n /*-------------------- Render ---------------------------------------------*/\r\n useWhyDidYouUpdate('[CstPointFields]', { dataChanged, formState, errors });\r\n return (\r\n isLoaded && (\r\n
\r\n \r\n <>\r\n \r\n \r\n \r\n Διεύθυνση\r\n\r\n setAddress((e.target as any).value)}\r\n />\r\n \r\n {'Το πεδίο είναι υποχρεωτικό'}\r\n \r\n \r\n\r\n {dataChanged ? (\r\n \r\n Δήμος\r\n \r\n {recordsMun.map(record => {\r\n return (\r\n \r\n );\r\n })}\r\n \r\n \r\n {'Το πεδίο είναι υποχρεωτικό'}\r\n \r\n \r\n ) : (\r\n \r\n Δήμος\r\n \r\n \r\n {'Το πεδίο είναι υποχρεωτικό'}\r\n \r\n \r\n )}\r\n\r\n \r\n Τ.Κ.\r\n setZipCode((e.target as any).value)}\r\n />\r\n \r\n {'Το πεδίο είναι υποχρεωτικό'}\r\n \r\n \r\n\r\n \r\n Τηλέφωνο\r\n \r\n \r\n {'Το πεδίο είναι υποχρεωτικό'}\r\n \r\n \r\n\r\n \r\n Τηλέφωνο 2\r\n \r\n \r\n\r\n \r\n Κινητό\r\n \r\n \r\n\r\n \r\n Fax\r\n \r\n \r\n\r\n \r\n Email\r\n \r\n \r\n {'Το πεδίο είναι υποχρεωτικό'}\r\n \r\n \r\n\r\n \r\n Εκπρόσωπος\r\n \r\n \r\n {'Το πεδίο είναι υποχρεωτικό'}\r\n \r\n \r\n\r\n {dataChanged ? (\r\n \r\n \r\n \r\n Ιδιότητα Εκπροσώπου\r\n \r\n (e.target as any).value === 'Άλλη Ιδιότητα'\r\n ? setNewOption(true)\r\n : (setNewOption(false), setValue('ContactPositionNew', ''))\r\n }\r\n >\r\n {recordsPos.map(record => {\r\n return (\r\n setNewOption(false)}\r\n >\r\n {record.Name}\r\n \r\n );\r\n })}\r\n setNewOption(true)}\r\n >\r\n {'Άλλη Ιδιότητα'}\r\n \r\n \r\n \r\n {'Το πεδίο είναι υποχρεωτικό'}\r\n \r\n \r\n \r\n \r\n \r\n Άλλη Ιδιότητα\r\n \r\n \r\n \r\n \r\n ) : (\r\n \r\n Ιδιότητα Εκπροσώπου\r\n \r\n \r\n {'Το πεδίο είναι υποχρεωτικό'}\r\n \r\n \r\n )}\r\n\r\n \r\n setDataChanged(e.target.checked)}\r\n />\r\n \r\n \r\n \r\n \r\n {records && (\r\n {\r\n focusMarker(records);\r\n setPosition(records);\r\n }}\r\n //onLoad={() => focusMarker(records)}\r\n position={records}\r\n draggable={dataChanged}\r\n onDragEnd={e => {\r\n setLat(e.latLng.lat());\r\n setLng(e.latLng.lng());\r\n setPosition({ lat: e.latLng.lat(), lng: e.latLng.lng() });\r\n }}\r\n >\r\n )}\r\n \r\n {dataChanged && (\r\n

\r\n Μπορείτε να μετακινήσετε την καρφίτσα αν πιστεύετε ότι είναι λάθος.\r\n

\r\n )}\r\n \r\n
\r\n {showAlert && (\r\n \r\n

{'Πρέπει να επιλέξετε Δήμο και Ιδιότητα Εκπροσώπου!'}

\r\n
\r\n )}\r\n \r\n
\r\n \r\n {!dontShowImporterText && (\r\n \r\n )}\r\n
\r\n \r\n setConsented(e.target.checked)}\r\n />\r\n \r\n
\r\n \r\n
\r\n
\r\n )\r\n );\r\n};\r\n\r\nexport default CstPointFields;\r\n","import React, { FC, useState } from 'react';\r\nimport { Form, Button, Card, Alert, Row, Col } from 'react-bootstrap';\r\nimport * as yup from 'yup';\r\nimport useForm from 'react-hook-form';\r\n\r\n// import { useWhyDidYouUpdate, useLogger } from '../../hooks';\r\nimport { AgreementSubmitted } from '../../models';\r\nimport { useWhyDidYouUpdate } from '../../hooks';\r\nimport { useRootStore } from '../../store';\r\nimport { GoogleMap, Marker, useLoadScript } from '@react-google-maps/api';\r\nimport { useGeocodeQuery } from '../../api/geocode';\r\n\r\n/**\r\n * Setup Yup Validation & Type\r\n */\r\nconst validationSchema = yup.object().shape({\r\n NewAddress: yup.string(),\r\n NewZipCode: yup.string(),\r\n NewPhone1: yup.string(),\r\n NewPhone2: yup.string(),\r\n NewPhone3: yup.string(),\r\n NewNewFax1: yup.string(),\r\n Email: yup.string(),\r\n NewContact: yup.string(),\r\n NewContactPosition: yup.string(),\r\n NewMunicipality: yup.string(),\r\n});\r\n\r\nexport type AgreementFormData = {\r\n NewAddress: string;\r\n NewZipCode: string;\r\n NewPhone1: string;\r\n NewPhone2: string;\r\n NewPhone3: string;\r\n NewFax1: string;\r\n NewEmail: string;\r\n NewContact: string;\r\n NewContactPosition: string;\r\n NewMunicipality: string;\r\n NewAddressLongitude: number;\r\n NewAddressLatitude: number;\r\n dataChanged: boolean;\r\n};\r\n\r\ntype Props = {\r\n agreement: AgreementSubmitted;\r\n onPDFSubmit: () => void;\r\n};\r\n\r\nconst CstPointNewFields: FC = ({ agreement, onPDFSubmit }) => {\r\n /*-------------------- Body -----------------------------------------------*/\r\n const { appStore } = useRootStore();\r\n const initialValues = {\r\n NewAddress: !agreement.NewAddress ? '' : agreement.NewAddress,\r\n NewZipCode: !agreement.NewZipCode ? '' : agreement.NewZipCode,\r\n NewPhone1: !agreement.NewPhone1 ? '' : agreement.NewPhone1,\r\n NewPhone2: !agreement.NewPhone2 ? '' : agreement.NewPhone2,\r\n NewPhone3: !agreement.NewPhone3 ? '' : agreement.NewPhone3,\r\n NewFax1: !agreement.NewFax1 ? '' : agreement.NewFax1,\r\n NewEmail: !agreement.NewEmail ? '' : agreement.NewEmail,\r\n NewContact: !agreement.NewContact ? '' : agreement.NewContact,\r\n NewContactPosition: !agreement.NewContactPosition ? '' : agreement.NewContactPosition,\r\n NewMunicipality: !agreement.NewMunicipality ? '' : agreement.NewMunicipality,\r\n };\r\n\r\n const { register, formState, errors } = useForm({\r\n defaultValues: initialValues,\r\n validationSchema: validationSchema,\r\n mode: 'onBlur',\r\n });\r\n\r\n const handleReport = () => {\r\n onPDFSubmit();\r\n console.log('PDF');\r\n };\r\n\r\n const { records } = useGeocodeQuery({\r\n address: agreement.NewAddress,\r\n zipCode: agreement.NewZipCode,\r\n });\r\n\r\n const containerStyle = {\r\n width: '500px',\r\n height: '780px',\r\n };\r\n const [zoom, setZoom] = useState(agreement.NewAddressLatitude ? 17 : 10);\r\n const [center, setCenter] = useState({\r\n lat: agreement.NewAddressLatitude ? agreement.NewAddressLatitude : 38.005,\r\n lng: agreement.NewAddressLongitude ? agreement.NewAddressLongitude : 23.823,\r\n });\r\n\r\n const focusMarker = position => {\r\n setZoom(17);\r\n setCenter(position);\r\n };\r\n\r\n const { isLoaded, loadError } = useLoadScript({\r\n googleMapsApiKey: 'AIzaSyDTPYVZ76DV-eairJCtDjYAIyQp5rYcG_w', // ,\r\n // ...otherOptions\r\n });\r\n\r\n /*-------------------- Render ---------------------------------------------*/\r\n useWhyDidYouUpdate('[CstPointNewFields]', { formState, errors });\r\n return (\r\n isLoaded && (\r\n
\r\n \r\n <>\r\n \r\n \r\n \r\n Διεύθυνση\r\n\r\n \r\n \r\n\r\n \r\n Δήμος\r\n \r\n \r\n\r\n \r\n Τ.Κ.\r\n \r\n \r\n\r\n \r\n Τηλέφωνο\r\n \r\n \r\n\r\n \r\n Τηλέφωνο 2\r\n \r\n \r\n\r\n \r\n Κινητό\r\n \r\n \r\n\r\n \r\n Fax\r\n \r\n \r\n\r\n \r\n Email\r\n \r\n \r\n\r\n \r\n Εκπρόσωπος\r\n \r\n \r\n\r\n \r\n Ιδιότητα Εκπροσώπου\r\n \r\n \r\n \r\n \r\n \r\n focusMarker(records)}\r\n //onLoad={() => focusMarker(records)}\r\n position={\r\n agreement.NewAddressLatitude\r\n ? {\r\n lat: agreement.NewAddressLatitude,\r\n lng: agreement.NewAddressLongitude,\r\n }\r\n : records\r\n }\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n )\r\n );\r\n};\r\n\r\nexport default CstPointNewFields;\r\n","import React from 'react';\r\n\r\nimport { useAgreementsQuery, useAgreementByIdPDFQuery } from '../../api';\r\nimport { Card, Button, Col, Row, Table, Spinner } from 'react-bootstrap';\r\n\r\nexport const AgreementsView = props => {\r\n const { loading, error, records, reFetch } = useAgreementsQuery();\r\n\r\n return (\r\n \r\n \r\n \r\n Ιστορικό Όρων Συνεργασίας\r\n \r\n \r\n \r\n {records && (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {records.map((rec, index) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n );\r\n })}\r\n \r\n
\r\n Υπογεγραμένοι Όροι Συνεργασίας:\r\n
ΗμερομηνίαΣύμβασηΧρήστηςΈχει Τερματιστεί;Ημ/νία ΤερματισμούΕνέργειες
{rec.ConsentDate}{rec.AgreementName}{rec.UserProfile_EMail}{rec.IsTerminated ? 'ΝΑΙ' : 'ΟΧΙ'}\r\n {rec.IsTerminated ? rec.TerminatedDate : ''}\r\n \r\n \r\n
\r\n \r\n
\r\n )}\r\n
\r\n
\r\n );\r\n};\r\n\r\nconst PrintAgreement = ({ agreementIID }) => {\r\n const { busy, finish: finishPdf, reFetch } = useAgreementByIdPDFQuery({\r\n agreementId: agreementIID,\r\n type: 'PDF',\r\n });\r\n\r\n return (\r\n <>\r\n {busy ? : null}\r\n \r\n \r\n );\r\n};\r\n","import { useState, useEffect } from 'react';\r\nimport useAxios from '@use-hooks/axios';\r\nimport { oc } from 'ts-optchain';\r\nimport { useRootStore } from '../store';\r\nimport { useWhyDidYouUpdate } from '../hooks';\r\n\r\n/*\r\n###\r\nGET https://ecopointweb.dyndns.org/webapi/xGetCstPointAgreements.cshtml?User=h.sarris@gmail.com&Pass=motion$hellas&CstPointId=4082\r\n###\r\n*/\r\n\r\nexport interface Agreements {\r\n HasConsented: boolean;\r\n ConsentDate: string;\r\n NewAddress: string;\r\n NewMunicipality: string;\r\n NewNomos: string;\r\n NewDistrict: string;\r\n NewZipCode: string;\r\n NewPhone1: string;\r\n NewPhone2: string;\r\n NewPhone3: string;\r\n NewFax1: string;\r\n NewFax2: string;\r\n NewEmail: string;\r\n NewContact: string;\r\n NewContactPosition: string;\r\n NewAddressLatitude: number;\r\n NewAddressLongitude: number;\r\n DataChanged: boolean;\r\n AgreementId: number;\r\n AgreementName: string;\r\n IsTerminated: boolean;\r\n UserProfile_EMail: string;\r\n TerminatedDate: string;\r\n IID: number;\r\n}\r\n\r\nexport const useAgreementsQuery = () => {\r\n const { appStore } = useRootStore();\r\n const [message, setMessage] = useState('');\r\n const [records, setRecords] = useState<[Agreements]>();\r\n const url =\r\n appStore.webapi +\r\n `xGetCstPointAgreements.cshtml?` +\r\n `User=${appStore.user}` +\r\n `&Pass=${appStore.password}` +\r\n `&CstPointId=${appStore.cstPointId}`;\r\n const { response, loading, error, reFetch } = useAxios({\r\n url: url,\r\n method: 'GET',\r\n });\r\n const data = oc(response).data();\r\n useEffect(() => {\r\n if (error) {\r\n setMessage('Σφάλμα επικοινωνίας με τον Server!');\r\n } else {\r\n if (!loading && !!data) {\r\n const resp = data as [Agreements];\r\n setRecords(resp);\r\n }\r\n }\r\n }, [response, loading, error, data]);\r\n\r\n useEffect(() => {\r\n reFetch();\r\n }, []);\r\n useWhyDidYouUpdate('[useAgreementsQuery]', { loading, data, error });\r\n return {\r\n loading,\r\n error,\r\n message,\r\n records,\r\n reFetch,\r\n };\r\n};\r\n","import { useState, useEffect } from 'react';\r\nimport useAxios from '@use-hooks/axios';\r\nimport { oc } from 'ts-optchain';\r\nimport { useRootStore } from '../store';\r\nimport { useWhyDidYouUpdate } from '../hooks';\r\nimport { saveAs } from 'file-saver';\r\nimport { base64StringToBlob } from 'blob-util';\r\nimport { getType } from 'mime/lite';\r\n/*\r\n###\r\nhttp://motion-2012:8085/webapi/YearReportALL.cshtml?CstPointId=10&Year=2017&Type=BLOB&User=h.sarris@gmail.com\r\n###\r\n\r\n###\r\nhttp://motion-2012:8085/webapi/PeriodReportAll.cshtml?CstPointId=10&From=01/01/2014&To=01/01/2017&Type=BLOB&User=h.sarris@gmail.com\r\n###\r\n\r\n###\r\nhttp://motion-2012:8085/webapi/OrderReportALL.cshtml?OrderId=3000&Type=BLOB&User=h.sarris@gmail.com\r\n###\r\n*/\r\n\r\nexport const useAgreementByIdPDFQuery = ({\r\n agreementId,\r\n type,\r\n}: {\r\n agreementId: number;\r\n type: 'PDF' | 'EMAIL';\r\n}) => {\r\n const { appStore } = useRootStore();\r\n const [message, setMessage] = useState('');\r\n const [load, setLoad] = useState(false);\r\n const [finish, setFinish] = useState(false);\r\n\r\n let url =\r\n appStore.webapi +\r\n `Agreement.cshtml?` +\r\n `User=${appStore.user}` +\r\n `&Pass=${appStore.password}` +\r\n `&CstPointId=${appStore.cstPointId}` +\r\n `&AgreementId=${agreementId}` +\r\n `&Type=${type}`;\r\n\r\n console.log(url);\r\n\r\n const { response, loading, error, reFetch } = useAxios({\r\n url,\r\n method: 'GET',\r\n });\r\n const data = oc(response).data();\r\n\r\n /* --Το effect τρεχει οταν αλλάζει το loading/error */\r\n useEffect(() => {\r\n console.log('running effect');\r\n if (loading) {\r\n setLoad(true);\r\n setFinish(false);\r\n }\r\n if (!loading && !!data && load) {\r\n setLoad(false);\r\n if (type === 'PDF') {\r\n const type = getType('pdf');\r\n /* const blob = base64StringToBlob(data.Blob, type); */\r\n const isWebView =\r\n navigator.userAgent.includes('wv') || navigator.userAgent.includes('EcopointWeb');\r\n if (isWebView) {\r\n window.postMessage('/webapi/PDF/' + data.Filename, '*');\r\n } else {\r\n saveAs(url, 'Agreement');\r\n }\r\n }\r\n setFinish(true);\r\n }\r\n }, [loading, load, error, type, data]);\r\n\r\n useWhyDidYouUpdate('[useAgreementPDFQuery]', { url, loading, data, error, load, finish });\r\n return {\r\n data,\r\n load,\r\n loading,\r\n busy: load || loading,\r\n finish,\r\n error,\r\n reFetch,\r\n };\r\n};\r\n","import React, { FC, useEffect, useState } from 'react';\r\nimport { RouteComponentProps, useHistory } from 'react-router-dom';\r\n\r\nimport { useWhyDidYouUpdate } from '../../hooks';\r\nimport {\r\n useAgreementQuery,\r\n useMunicipalitiesQuery,\r\n useSubmitAgreementQuery,\r\n useAgreementPDFQuery,\r\n useContactPositionsQuery,\r\n} from '../../api';\r\nimport ModalSpinner from '../../components/modal-spinner';\r\nimport { Card, Form, Button } from 'react-bootstrap';\r\nimport { TermsAndConditions } from './termsAndConditions';\r\nimport CstPointFields, { AgreementFormData } from './cstPointFields';\r\nimport { useRootStore } from '../../store';\r\nimport CstPointNewFields from './cstPointNewFields';\r\nimport ModalDialog from '../../components/modal-dialog';\r\nimport { parseISO } from 'date-fns';\r\nimport { AgreementTypes } from '../../common/constants';\r\nimport { AgreementsView } from '../agreements/agreements';\r\nimport { axios } from '@use-hooks/axios';\r\nimport { ROUTES } from '../../routes';\r\n\r\ntype Props = RouteComponentProps & {};\r\n\r\nconst AgreementView: FC = props => {\r\n /*-------------------- Body -----------------------------------------------*/\r\n const { appStore } = useRootStore();\r\n const history = useHistory();\r\n const [agreement, setAgreement] = useState('');\r\n // -- For report QUERY hook\r\n\r\n const { loading, error, records, reFetch } = useAgreementQuery();\r\n const { busy, finish: finishPdf, reFetch: reFetchPDF } = useAgreementPDFQuery('PDF');\r\n const { busy: busyEmail, finish: finishEmail, reFetch: sendEmail } = useAgreementPDFQuery(\r\n 'EMAIL',\r\n );\r\n const {\r\n loading: loadingMun,\r\n error: errorMun,\r\n records: recordsMun,\r\n reFetch: reFetchMun,\r\n } = useMunicipalitiesQuery();\r\n\r\n const {\r\n loading: loadingPos,\r\n error: errorPos,\r\n records: recordsPos,\r\n reFetch: reFetchPos,\r\n } = useContactPositionsQuery();\r\n\r\n const { records: recordsSubmit, reFetch: submit, finish } = useSubmitAgreementQuery();\r\n const [consented, SetConsented] = useState(false);\r\n\r\n const [printOnly, setPrintOnly] = useState(false);\r\n\r\n /*-------------------- Handlers -------------------------------------------*/\r\n\r\n const handleSubmit = (formData: AgreementFormData) => {\r\n const newAgreement = { ...formData, AgreementId: calculateWichAgreementId() };\r\n setAgreement(newAgreement);\r\n appStore.consent();\r\n submit(newAgreement);\r\n };\r\n\r\n // Triggered όταν κάνει Submit\r\n useEffect(() => {\r\n if (finish) {\r\n sendEmail();\r\n }\r\n }, [finish]);\r\n\r\n useEffect(() => {\r\n if (finishEmail) {\r\n reFetchPDF();\r\n }\r\n }, [finishEmail]);\r\n\r\n useEffect(() => {\r\n const asyncEffect = async () => {\r\n console.log(\r\n `$$$ effect finishPdf=${JSON.stringify(finishPdf)} printOnly=${JSON.stringify(printOnly)}`,\r\n );\r\n if (finishPdf && printOnly !== true) {\r\n reFetch(); // Φέρνει το Agreement με Axios\r\n const consentedAgreementId = recordsSubmit;\r\n // like silent relogin\r\n if (consentedAgreementId) {\r\n console.log('$$$ effect finishPdf consentedAgreementId', consentedAgreementId);\r\n appStore.setConsentedAgreementId(consentedAgreementId);\r\n appStore.consent();\r\n // Reread CstPoint (μπορεί να έγινε Active)\r\n const urlPre =\r\n appStore.webapi +\r\n `xGetCstPoint.cshtml?User=${appStore.user}` +\r\n `&Pass=${appStore.password}` +\r\n `&CstPointId=${appStore.cstPointId}`;\r\n const response = await axios.get(urlPre);\r\n const newCstPointRec = response.data;\r\n if (newCstPointRec.IsNotActive === 0) {\r\n appStore.setIsNotActive(false);\r\n console.log('setIsNotActive(false)');\r\n }\r\n appStore.defineBannerParams();\r\n }\r\n // Θέλει refresh για να φύγει το banner\r\n // window.location.reload();\r\n history.push(ROUTES.Agreement);\r\n }\r\n setPrintOnly(false);\r\n };\r\n asyncEffect();\r\n }, [finishPdf]);\r\n\r\n const getFields = record => {\r\n const data = {\r\n Address: record.Address ? record.Address.toUpperCase() : null,\r\n ZipCode: record.ZipCode,\r\n Phone1: record.Phone1,\r\n Phone2: record.Phone2,\r\n Phone3: record.Phone3,\r\n Fax1: record.Fax1,\r\n Email: record.Email ? record.Email.toUpperCase() : null,\r\n Contact: record.Contact ? record.Contact.toUpperCase() : null,\r\n ContactPosition: record.ContactPosition,\r\n Municipality: record.Municipality,\r\n AddressLatitude: record.AddressLatitude,\r\n AddressLongitude: record.AddressLongitude,\r\n IsTyreImporter: record.IsTyreImporter,\r\n CertifyNoTyreImport: record.CertifyNoTyreImport,\r\n };\r\n return data;\r\n };\r\n\r\n const getNewFields = record => {\r\n const data = {\r\n NewAddress: record.NewAddress ? record.NewAddress.toUpperCase() : null,\r\n NewZipCode: record.NewZipCode ? record.NewZipCode.toUpperCase() : null,\r\n NewPhone1: record.NewPhone1,\r\n NewPhone2: record.NewPhone2,\r\n NewPhone3: record.NewPhone3,\r\n NewFax1: record.NewFax1,\r\n NewEmail: record.NewEmail ? record.NewEmail.toUpperCase() : null,\r\n NewContact: record.NewContact ? record.NewContact.toUpperCase() : null,\r\n NewMunicipality: record.NewMunicipality,\r\n NewContactPosition: record.NewContactPosition,\r\n NewAddressLatitude: record.NewAddressLatitude,\r\n NewAddressLongitude: record.NewAddressLongitude,\r\n };\r\n return data;\r\n };\r\n\r\n function calculateWichAgreementId(): number {\r\n if (!records.HasConsented) return appStore.inUseAgreementId;\r\n else return records.AgreementId;\r\n }\r\n\r\n useWhyDidYouUpdate('[AgreementView]', { records, recordsMun, recordsPos, loading, error });\r\n /*-------------------- Render ---------------------------------------------*/\r\n return (\r\n <>\r\n \r\n \r\n \r\n Όροι Συνεργασίας\r\n \r\n \r\n {records && recordsMun && (\r\n \r\n {!records.HasConsented ? (\r\n

\r\n Παρακαλούμε αφού διαβάσετε τους όρους συνεργασίας πατήστε υποβολή στο τέλος\r\n της σελίδας.\r\n

\r\n ) : (\r\n records && (\r\n \r\n {' Οι όροι συνεργασίας είναι υπογεγραμμένοι. Ημερομηνία Υπογραφής: ' +\r\n records.ConsentDate}\r\n \r\n )\r\n )}\r\n\r\n \r\n\r\n {!records.HasConsented ? (\r\n <>\r\n

Στοιχεία Σημείου Συλλογής

\r\n

\r\n Παρακαλούμε ελέγξτε τα στοιχεία σας και εφόσον διαφέρουν πατήστε το{' '}\r\n Μεταβολή Στοιχείων για να τα διορθώσετε\r\n

\r\n
\r\n \r\n
\r\n \r\n ) : records.DataChanged ? (\r\n <>\r\n

\r\n Νέα Στοιχεία Σημείου Συλλογής\r\n

\r\n
\r\n \r\n
\r\n \r\n ) : (\r\n {\r\n setPrintOnly(true);\r\n reFetchPDF();\r\n }}\r\n >\r\n Εκτύπωση Σύμβασης Συνεργασίας\r\n \r\n )}\r\n
\r\n )}\r\n
\r\n \r\n {}}\r\n />\r\n\r\n \r\n \r\n );\r\n};\r\nexport default AgreementView;\r\n","import { useState, useEffect } from 'react';\r\nimport useAxios from '@use-hooks/axios';\r\nimport { oc } from 'ts-optchain';\r\nimport { useRootStore } from '../store';\r\nimport { useWhyDidYouUpdate } from '../hooks';\r\n\r\n/*\r\n###\r\nGET http://192.168.160.203:8085/webapi/xOrders.cshtml?User=bikenrider@gmail.com&Pass=motion$hellas&CstPointId=2481\r\n###\r\n*/\r\n\r\nexport interface Agreement {\r\n HasConsented: boolean;\r\n ConsentDate: string;\r\n NewAddress: string;\r\n NewMunicipality: string;\r\n NewNomos: string;\r\n NewDistrict: string;\r\n NewZipCode: string;\r\n NewPhone1: string;\r\n NewPhone2: string;\r\n NewPhone3: string;\r\n NewFax1: string;\r\n NewFax2: string;\r\n NewEmail: string;\r\n NewContact: string;\r\n NewContactPosition: string;\r\n NewAddressLatitude: number;\r\n NewAddressLongitude: number;\r\n DataChanged: boolean;\r\n AgreementId: number;\r\n PdfFileName: string;\r\n InUsePdfFileName: string;\r\n}\r\n\r\nexport const useAgreementQuery = () => {\r\n const { appStore } = useRootStore();\r\n const [message, setMessage] = useState('');\r\n const [records, setRecords] = useState();\r\n const url =\r\n appStore.webapi +\r\n `xGetAgreement.cshtml?` +\r\n `User=${appStore.user}` +\r\n `&Pass=${appStore.password}` +\r\n `&CstPointId=${appStore.cstPointId}`;\r\n const { response, loading, error, reFetch } = useAxios({\r\n url: url,\r\n method: 'GET',\r\n });\r\n const data = oc(response).data();\r\n useEffect(() => {\r\n if (error) {\r\n setMessage('Σφάλμα επικοινωνίας με τον Server!');\r\n } else {\r\n if (!loading && !!data) {\r\n const resp = data as Agreement;\r\n setRecords(resp);\r\n }\r\n }\r\n }, [response, loading, error, data]);\r\n\r\n useEffect(() => {\r\n reFetch();\r\n }, []);\r\n useWhyDidYouUpdate('[useAgreementQuery]', { loading, data, error });\r\n return {\r\n loading,\r\n error,\r\n message,\r\n records,\r\n reFetch,\r\n };\r\n};\r\n","import React from 'react';\r\nimport { useAgreementContentQuery } from '../../api/agreement-content';\r\nimport { AgreementTypes } from '../../common/constants';\r\n\r\nexport const TermsAndConditions = ({ agreementId }) => {\r\n //fetch terms\r\n const { loading, error, record, reFetch } = useAgreementContentQuery({\r\n id: agreementId,\r\n });\r\n\r\n return
;\r\n};\r\n\r\nexport const TermsAndConditions_test = ({ agreementId }) => {\r\n function TextContent() {\r\n return `\r\n

\r\n ΟΡΟΙ ΣΥΝΕΡΓΑΣΙΑΣ\r\n
\r\n ΣΣΕΔ ECOELASTIKA ME TA ΣΗΜΕΙΑ ΣΥΛΛΟΓΗΣ\r\n
\r\n ΕΛΑΣΤΙΚΩΝ ΤΕΛΟΥΣ ΚΥΚΛΟΥ ΖΩΗΣ\r\n

\r\n\r\n
\r\n ΠΡΟΟΙΜΙΟ\r\n
\r\n

\r\n Η ECOELASTIKA A.E οργανώνει το μοναδικό στην Ελλάδα εγκεκριμένο από τον Ελληνικό Οργανισμό Ανακύκλωσης (Ε.Ο.ΑΝ.) Συλλογικό Σύστημα Εναλλακτικής Διαχείρισης μεταχειρισμένων ελαστικών οχημάτων (στο εξής «ΣΣΕΔ»), που λειτουργεί σύμφωνα με την κείμενη νομοθεσία για την εναλλακτική διαχείριση των ελαστικών τέλους κύκλου ζωής. Η έγκριση του συστήματος χορηγήθηκε, δυνάμει της ΥΑ 106157/7-7-2004 (ΦΕΚ 1145 Τεύχος Β’) και ίσχυσε δυνάμει της ΥΑ 116570/13-2-2009 (ΦΕΚ Β 769) μέχρι την ανανέωση της, η οποία χορηγήθηκε, σύμφωνα με τις διατάξεις των Π.Δ. 99/2008 και 170/2008, με την από 23-11-2011 απόφαση του Διοικητικού Συμβουλίου του Ε.Ο.Ε.Δ.Σ.Α.Π. (Εθνικός Οργανισμός Εναλλακτικής Διαχείρισης Συσκευασιών και Άλλων Προϊόντων), ήδη Ε.Ο.ΑΝ (Ελληνικός Οργανισμός Ανακύκλωσης). Ήδη, με την υπ’ αρ. πρωτ.οικ: 1843/5.7.2019 Απόφαση του Διοικητικού Συμβουλίου του Ελληνικού Οργανισμού Ανακύκλωσης (Ε.Ο.ΑΝ) (ΑΔΑ 66Χ946Ψ8ΟΖ-ΖΥΒ) που ελήφθη κατά τη συνεδρίαση 142η/14.03.2019, όπως τροποποιήθηκε με τις υπ’αρ. πρωτ. 165.1/06.03.2020 (ΑΔΑ 688Ω46Ψ8ΟΖ-ΑΘΔ), 183.1/29.07.2021 (ΑΔΑ Ψ6ΣΖ46Ψ8ΟΖ-ΡΗΤ) και υπ’ αρ. πρωτ. 195.12/26.07.2022 (ΑΔΑ ΡΨ3646Ψ8ΟΖ-ΨΟΦ) αποφάσεις του ίδιου οργάνου η ECOELASTIKA έλαβε νέα ανανέωση της έγκρισης του ΣΣΕΔ Μεταχειρισμένων Ελαστικών Οχημάτων.\r\n

\r\n\r\n

\r\n Το ΣΗΜΕΙΟ ΣΥΛΛΟΓΗΣ αποτελεί σύμφωνα με τη νομοθεσία (αρ. 2 παρ. 7 ΚΥΑ ΥΠΕΝ/ΔΔ Α/36464/547 (ΦΕΚ Β 2217/6.4.2023) «Πρόγραμμα Διευρυμένης Ευθύνης Παραγωγού για τα ελαστικά οχημάτων σε εφαρμογή της παρ. 4 του άρθρου 72 του ν. 4819/2021», η οποία αντικατέστησε το ΠΔ 109/2004) σημείο συλλογής ελαστικών τέλους κύκλου ζωής, ως κατάστημα βουλκανιζατέρ ή συνεργείο αυτοκινήτων, όπου γίνεται η αντικατάσταση, επισκευή και συντήρηση ελαστικών και λόγω της δραστηριότητάς του αυτής είναι κάτοχος ελαστικών τέλους κύκλου ζωής. Σύμφωνα με το άρθρο 5 περ. β’ της άνω ΚΥΑ ΥΠΕΝ/ΔΔ Α/36464/547 οι κάτοχοι ελαστικών τέλους κύκλου ζωής που εκτελούν σε επαγγελματική βάση εργασίες επισκευής ελαστικών ή αναγόμωσης, όπως τα συνεργεία που ασχολούνται με την αντικατάσταση, επισκευή και συντήρηση ελαστικών υποχρεούνται να υπογράψουν σύμβαση συνεργασίας με εγκεκριμένο ΣΕΔ και να παραδίδουν τα απόβλητα σε αυτό.\r\n

\r\n\r\n

\r\n Στο πλαίσιο των υποχρεώσεων που απορρέουν απ' τον Ν. 4819/2021 (ΦΕΚ Α’ 129), ο οποίος κατήργησε τον Ν.2939/2001 και την ΚΥΑ ΥΠΕΝ/ΔΔ Α/36464/547 (ΦΕΚ Β 2217/6.4.2023) «Πρόγραμμα Διευρυμένης Ευθύνης Παραγωγού για τα ελαστικά οχημάτων σε εφαρμογή της παρ. 4 του άρθρου 72 του ν. 4819/2021», η οποία αντικατέστησε το ΠΔ 109/2004 τα ως άνω μέρη επιθυμούν τη συνεργασία τους με τους ακόλουθους ειδικότερους όρους:\r\n

\r\n\r\n
\r\n §1. ΑΝΤΙΚΕΙΜΕΝΟ ΣΥΝΕΡΓΑΣΙΑΣ \r\n
\r\n

\r\n Αντικείμενο της παρούσης συνεργασίας αποτελεί η παράδοση από το ΣΗΜΕΙΟ ΣΥΛΛΟΓΗΣ\r\n στο \r\n ΣΣΕΔ των μεταχειρισμένων ελαστικών επισώτρων, τα οποία προκύπτουν από την αλλαγή\r\n των παλαιών ελαστικών οχημάτων με νέα. Το ΣΗΜΕΙΟ ΣΥΛΛΟΓΗΣ θα παραδίδει στο\r\n ΣΣΕΔ τα μεταχειρισμένα ελαστικά που αποσύρονται στην εγκατάστασή του, σύμφωνα με\r\n τους ειδικότερους όρους και συμφωνίες της παρούσας.\r\n

\r\n\r\n
\r\n §2. ΔΙΑΡΚΕΙΑ ΣΥΝΕΡΓΑΣΙΑΣ \r\n
\r\n\r\n

\r\n H συνεργασία μεταξύ ΣΣΕΔ και ΣΗΜΕΙΟΥ ΣΥΛΛΟΓΗΣ είναι αορίστου χρόνου. Ως χρόνος έναρξης της συνεργασίας ορίζεται η ημερομηνία αποδοχής των όρων συνεργασίας από το ΣΗΜΕΙΟ ΣΥΛΛΟΓΗΣ, η οποία πραγματοποιείται μέσω του ηλεκτρονικού συστήματος του ΣΣΕΔ.\r\n

\r\n\r\n

\r\n Το ΣΗΜΕΙΟ ΣΥΛΛΟΓΗΣ καθ’ όλη τη διάρκεια της συνεργασίας με το ΣΣΕΔ θα\r\n καταχωρείται στο site του ΣΣΕΔ (\r\n \r\n www.ecoelastika.gr\r\n \r\n ) ως σημείο συλλογής ECOELASTIKA για την αναγκαία πληροφόρηση των καταναλωτών ότι τα ελαστικά τέλους κύκλου ζωής που αποσύρονται στο σημείο αυτό παραλαμβάνονται για ανακύκλωση σύμφωνα με τους όρους της κείμενης νομοθεσίας.\r\n

\r\n\r\n
\r\n §3. ΥΛΙΚΟ \r\n
\r\n

\r\n Στο ΣΣΕΔ θα διατίθενται τα απόβλητα ελαστικά («απόβλητα μη προδιαγραφόμενα άλλως»,\r\n σύμφωνα με τον Ευρωπαϊκό Κατάλογο Αποβλήτων της Απόφασης 2001/118/ΕΚ κωδικός 16 01 03) και\r\n δη μόνο ολόκληρα ελαστικά τέλους κύκλου ζωής των κατηγοριών που περιγράφονται στο άρθρο 4 των παρόντων όρων.\r\n

\r\n\r\n
\r\n §4. ΠΟΙΟΤΙΚΑ ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ ΕΛΑΣΤΙΚΩΝ ΤΕΛΟΥΣ ΚΥΚΛΟΥ ΖΩΗΣ \r\n
\r\n

\r\n Τα ελαστικά τέλους κύκλου ζωής που θα διατίθενται στο ΣΣΕΔ από το\r\n ΣΗΜΕΙΟ ΣΥΛΛΟΓΗΣ  θα πρέπει υποχρεωτικά να ανήκουν στις εξής κατηγορίες:\r\n

\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n A\r\n \r\n \r\n Εξωτερική διάμετρος έως 140mm\r\n \r\n \r\n 8\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Β\r\n \r\n \r\n 50\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Δ2\r\n \r\n \r\n Εξωτερική διάμετρος από 1400mm έως 1600mm\r\n \r\n \r\n 100\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n Κατηγορία\r\n \r\n  \r\n \r\n Μέσο Βάρος (kg)\r\n \r\n Περιγραφή\r\n
\r\n Εξωτερική διάμετρος έως 1400mm 8 Ελαστικά επιβατικών αυτοκινήτων (επιβατικά λάστιχα\r\n και λάστιχα 4X4)\r\n
\r\n Ελαστικά εμπορικών οχημάτων με ονομαστική (εσωτερική) διάμετρο ζάντας μικρότερη από\r\n 17,5 ίντσες.\r\n
\r\n Ελαστικά αγροτικών τρακτέρ συμβατικά (diagonal) για μπροστινούς τροχούς\r\n
\r\n Ελαστικά βιομηχανικών και ανυψωτικών οχημάτων (πνευματικά) με ονομαστική (εσωτερική)\r\n διάμετρο ζάντας μικρότερη ή ίση με 12 ίντσες\r\n
\r\n Ελαστικά εμπορικών οχημάτων με ονομαστική (εσωτερική) διάμετρο ζάντας μεγαλύτερη ή\r\n ίση με 17,5 ίντσες.\r\n
\r\n Ελαστικά αγροτικών τρακτέρ για οπίσθιους τροχούς κίνησης με εξωτερική διάμετρο έως\r\n και 1400mm\r\n
\r\n Ελαστικά βιομηχανικών οχημάτων (πνευματικά-industrial) με ονομαστική (εσωτερική)\r\n διάμετρο ζάντας μεγαλύτερη από 12 ίντσες και με εξωτερική διάμετρο έως 1400mm\r\n
Γ4\r\n Ελαστικά moto\r\n
Δ1\r\n 150\r\n \r\n Ελαστικά χωματουργικών οχημάτων και οχημάτων έργου* (Grader, Loader, RDT, ADT,\r\n Crane, Mechanical Handling) έως 1600mm\r\n
\r\n Ελαστικά αγροτικών οχημάτων με εξωτερική διάμετρο μεγαλύτερη από 1400mm έως 1600mm\r\n
\r\n Ελαστικά βιομηχανικών οχημάτων (πνευματικά-industrial) με εξωτερική διάμετρο από\r\n 1400mm έως 1600mm\r\n
\r\n\r\n

\r\n *Στην κατηγορία Δ1 συμπεριλαμβάνονται όλα τα ελαστικά χωματουργικών οχημάτων και οχημάτων\r\n έργου με εξωτερική διάμετρο έως 1600mm.\r\n

\r\n

\r\n Ελαστικά τέλους κύκλου ζωής οποιασδήποτε κατηγορίας με \r\n \r\n   εξωτερική διάμετρο μεγαλύτερη ή ίση με 1600mm καθώς και τα συμπαγή ελαστικά\r\n βιομηχανικών οχημάτων εξαιρούνται από τις παραπάνω κατηγορίες.\r\n \r\n

\r\n

\r\n Τα ελαστικά τέλους κύκλου ζωής θα παραδίδονται πάντοτε ολόκληρα και καθαρά, δε θα\r\n περιέχουν νερά και θα είναι απαλλαγμένα ξένων υλών (όπως π.χ. ζάντες, σαμπρέλες, ξύλα,\r\n πλαστικά, πέτρες, νερό και γενικά διάφορα άλλα απορρίμματα)\r\n

\r\n

\r\n Το ΣΗΜΕΙΟ ΣΥΛΛΟΓΗΣ έχει αποκλειστική ευθύνη για την τήρηση των ανωτέρω ποιοτικών\r\n χαρακτηριστικών. Η απομάκρυνση των τυχόν ξένων σωμάτων από τα μεταχειρισμένα ελαστικά που\r\n έχουν συλλεχθεί, θα γίνεται με μέριμνα του ΣΗΜΕΙΟΥ ΣΥΛΛΟΓΗΣ.\r\n

\r\n

\r\n Τα ελαστικά τέλους κύκλου ζωής θα πρέπει να βρίσκονται συγκεντρωμένα στα σημεία συλλογής σε\r\n ντάνες ανά κατηγορία και σε εύκολο σημείο πρόσβασης του φορτηγού του εξουσιοδοτημένου από\r\n το \r\n ΣΣΕΔ συλλέκτη. Σε κάθε περίπτωση η απόσταση του σημείου συγκέντρωσης των ελαστικών\r\n δε θα πρέπει να υπερβαίνει τα 5 μέτρα από το σημείο, στο οποίο μπορεί να σταθμεύσει το\r\n όχημα μεταφοράς. H αποθήκευση των ελαστικών δεν γίνεται σε κάδους συλλογής - αποθήκευσης\r\n αδρανών υλικών.\r\n

\r\n

\r\n Κατά την παράδοση των ελαστικών τέλους κύκλου ζωής στο συλλέκτη μεταφορέα του \r\n ΣΣΕΔ πραγματοποιείται επιτόπιος έλεγχος για τη διαπίστωση της τήρησης των ποιοτικών\r\n χαρακτηριστικών των μεταχειρισμένων ελαστικών του ΣΗΜΕΙΟΥ ΣΥΛΛΟΓΗΣ. Σε περίπτωση\r\n που διαπιστωθεί από τον συλλέκτη ότι δεν τηρούνται τα ποιοτικά χαρακτηριστικά ο συλλέκτης\r\n θα πρέπει να προβαίνει στις ακόλουθες ενέργειες α) άμεση ειδοποίηση του ΣΣΕΔ και\r\n αποστολή αποδεικτικού υλικού (φωτογραφιών φορτίων) β) παραλαβή μόνο των ελαστικών που\r\n πληρούν τα ποιοτικά χαρακτηριστικά. Σε περίπτωση που η κατά τα ανωτέρω μερική παραλαβή του\r\n φορτίου είναι ανέφικτη ο συλλέκτης μεταφορέας έχει δικαίωμα να μη δεχθεί την\r\n παραλαβή του φορτίου.\r\n

\r\n\r\n
\r\n §5. ΚΟΣΤΟΣ ΔΙΑΧΕΙΡΙΣΗΣ \r\n
\r\n

\r\n Το σύνολο του κόστους διαχείρισης (συλλογή, μεταφορά, διαχείριση στις μονάδες αξιοποίησης)\r\n των ελαστικών τέλους κύκλου ζωής βαρύνει το ΣΣΕΔ, εφόσον πληρούνται οι όροι του § 6.\r\n

\r\n

Σε περίπτωση που δεν πληρούνται οι όροι του § 6 το ΣΗΜΕΙΟ ΣΥΛΛΟΓΗΣ είναι υποχρεωμένο να παραδίδει τα ελαστικά τέλους κύκλου ζωής σε νόμιμο συλλέκτη, αναλαμβάνοντας το σύνολο των εξόδων συλλογής – μεταφοράς και αξιοποίησης. Επικαιροποιημένος κατάλογος των νομίμων συλλεκτών με σύμβαση συνεργασίας με το ΣΣΕΔ ECOELASTIKA βρίσκεται αναρτημένος στο link\r\nhttps://www.ecoelastika.gr/syllektes-metaforeis/.\r\n

\r\n\r\n
\r\n §6. ΟΡΟΙ ΔΩΡΕΑΝ ΠΑΡΑΛΑΒΗΣ ΜΕΤΑΧΕΙΡΙΣΜΕΝΩΝ ΕΛΑΣΤΙΚΩΝ ΑΠΌ ΤΟ ΣΣΕΔ \r\n
\r\n

\r\n Το ΣΣΕΔ διαχειρίζεται μόνο ελαστικά, τα οποία πληρούν τις προϋποθέσεις της κείμενης\r\n νομοθεσίας, δηλαδή έχουν δηλωθεί από τους εισαγωγείς τους στο ΣΣΕΔ και έχουν καταβληθεί οι\r\n αντίστοιχες χρηματικές εισφορές. Προϋπόθεση για τη συλλογή ελαστικών τέλους κύκλου ζωής από\r\n το \r\n ΣΗΜΕΙΟ ΣΥΛΛΟΓΗΣ είναι να συντρέχουν οι εξής προϋποθέσεις:\r\n

\r\n

\r\n 1) Το ΣΗΜΕΙΟ ΣΥΛΛΟΓΗΣ θα πρέπει να προμηθεύεται ελαστικά από:\r\n

\r\n
    \r\n

    \r\n α) Εταιρίες εισαγωγής που είναι συμβεβλημένες με το ΣΣΕΔ (υπάρχουν στο site:\r\n \r\n www.ecoelastika.gr\r\n \r\n ), διαθέτουν Αριθμό Μητρώου Παραγωγού (ΑΜΠ), που αναγράφεται στα τιμολόγια αγοράς, στα\r\n οποία η χρηματική εισφορά χρεώνεται σε ξεχωριστή γραμμή\r\n

    \r\n

    \r\n β) Εμπόρους ελαστικών, οι οποίοι δεν είναι απαραίτητα εισαγωγείς, αλλά προμηθεύονται\r\n ελαστικά από εταιρίες εισαγωγής που είναι συμβεβλημένες με το ΣΣΕΔ, σύμφωνα με τα\r\n παραπάνω. Στα τιμολόγια αγοράς των ελαστικών αυτών θα πρέπει απαραιτήτως να φαίνεται η χρέωση σε ξεχωριστή γραμμή της χρηματικής εισφοράς άρθρου 8 ΚΥΑ ΥΠΕΝ/ΔΔ Α/36464/547, ΦΕΚ Β 2217/6.4.2023.\r\n

    \r\n
\r\n

\r\n2) Εάν το ΣΗΜΕΙΟ ΣΥΛΛΟΓΗΣ έχει την ιδιότητα του «παραγωγού» κατά την έννοια του άρθρου 2 παρ. 4 της ΚΥΑ ΥΠΕΝ/ΔΔ Α/36464/547 (ΦΕΚ Β 2217/6.4.2023) (έστω και άπαξ ή περιστασιακά) θα πρέπει να συνάψει σύμβαση υπόχρεου με το ΣΣΕΔ πριν προβεί σε οιαδήποτε πράξη διακίνησης στην ελληνική αγορά.\r\n

\r\n\r\n

\r\n 3) Ο αριθμός των ελαστικών τέλους κύκλου ζωής που συλλέγονται από το ΣΣΕΔ από\r\n το \r\n ΣΗΜΕΙΟ ΣΥΛΛΟΓΗΣ σε περίοδο ενός ημερολογιακού έτους, δε θα πρέπει να ξεπερνά\r\n αριθμητικά, ανά κατηγορία ελαστικού (Α,Β,Γ,Δ1,Δ2), τον αντίστοιχο αριθμό των νέων\r\n ελαστικών που το ΣΗΜΕΙΟ ΣΥΛΛΟΓΗΣ προμηθεύτηκε με έναν από τους παραπάνω τρόπους από\r\n την αγορά για το ίδιο χρονικό διάστημα. Η συνολική ποσότητα ελαστικών τέλους κύκλου ζωής που συλλέγεται ετησίως από το ΣΣΕΔ ενδέχεται να υπόκειται σε περιορισμούς σύμφωνα με τον ποσοτικό στόχο ανάκτησης 90% που προβλέπεται από το άρθρο 7 της ΚΥΑ ΥΠΕΝ/ΔΔ Α/36464/547.\r\n

\r\n

\r\n Σε περίπτωση που, μετά από τον κατά το § 8 έλεγχο, διαπιστωθεί ότι:\r\n

    \r\n
  1. \r\n Δεν τηρούνται οι παραπάνω προϋποθέσεις, το ΣΣΕΔ δεν υποχρεούται να παραλαμβάνει δωρεάν από το ΣΗΜΕΙΟ ΣΥΛΛΟΓΗΣ μεγαλύτερο αριθμό ελαστικών τέλους κύκλου ζωής από τον αριθμό ελαστικών, τον οποίο έχει προμηθευτεί με έναν από τους τρόπους (α) και/ή (β) του σημείου 1.\r\n

  2. \r\n\r\n
  3. \r\n

    \r\n Το ΣΗΜΕΙΟ ΣΥΛΛΟΓΗΣ έχει την ιδιότητα του «παραγωγού» κατά την έννοια του άρθρου 2 παρ. 4 της ΚΥΑ ΥΠΕΝ/ΔΔ Α/36464/547 (ΦΕΚ Β 2217/6.4.2023) αλλά δεν έχει υπογράψει σύμβαση συνεργασίας με το ΣΣΕΔ, τότε το ΣΣΕΔ δεν υποχρεούται να συλλέγει ελαστικά τέλους κύκλου ζωής από το σημείο.\r\n

    \r\n
  4. \r\n\r\n
\r\n\r\n

\r\n\r\n
\r\n §7. ΕΛΑΧΙΣΤΗ ΠΟΣΟΤΗΤΑ ΠΑΡΑΓΓΕΛΙΑΣ- ΔΙΑΔΙΚΑΣΙΑ \r\n
\r\n

\r\n Η ελάχιστη ποσότητα μεταχειρισμένων ελαστικών που παραδίδει το ΣΗΜΕΙΟ ΣΥΛΛΟΓΗΣ\r\n στο \r\n ΣΣΕΔ είναι:\r\n

\r\n
    \r\n
  • \r\n 60 μεταχειρισμένα ελαστικά της Α κατηγορίας ή\r\n
  • \r\n
  • \r\n 10 μεταχειρισμένα ελαστικά της Β κατηγορίας ή/και\r\n
  • \r\n
  • \r\n 45 μεταχειρισμένα ελαστικά της Γ κατηγορίας\r\n
  • \r\n
\r\n

\r\n Το ΣΗΜΕΙΟ ΣΥΛΛΟΓΗΣ εφόσον έχει διαθέσιμη την παραπάνω ελάχιστη ποσότητα ή και\r\n μεγαλύτερη στο χώρο του, οφείλει να καταχωρεί το σχετικό αίτημα μέσω της ιστοσελίδας του\r\n ΣΣΕΔ (\r\n \r\n www.ecoelastika.gr/dealers/\r\n \r\n   ) ή του τηλεφωνικού κέντρου για την ακριβή ποσότητα σε τεμάχια μεταχειρισμένων\r\n ελαστικών ανά κατηγορία. Το ΣΣΕΔ αναθέτει σε εξουσιοδοτημένο μεταφορέα τη συλλογή των ελαστικών τέλους κύκλου ζωής από το ΣΗΜΕΙΟ ΣΥΛΛΟΓΗΣ. Το ΣΗΜΕΙΟ ΣΥΛΛΟΓΗΣ υποχρεούται να παραδίδει τα ελαστικά τέλους κύκλου ζωής μόνο στον εξουσιοδοτημένο μεταφορέα του ΣΣΕΔ. Η φόρτωση των ελαστικών τέλους κύκλου ζωής πραγματοποιείται με μέσα (προσωπικό και/ή μηχανολογικό εξοπλισμό), δαπάνες και ευθύνη του ΣΣΕΔ.\r\n

\r\n

\r\n Η παραλαβή των μεταχειρισμένων ελαστικών από το ΣΗΜΕΙΟ ΣΥΛΛΟΓΗΣ θα γίνεται εντός\r\n ευλόγου διαστήματος από την καταχώρηση της παραγγελίας σύμφωνα με την προηγούμενη\r\n παράγραφο. Θα καταβάλλεται προσπάθεια για την παραλαβή εντός 3 εργάσιμων ημερών από\r\n τα \r\n ΣΗΜΕΙΑ ΣΥΛΛΟΓΗΣ όλων των Νομών, με εξαίρεση τις νησιωτικές και δύσβατες περιοχές.\r\n

\r\n

\r\n Η παραλαβή των ελαστικών τέλους κύκλου ζωής από το σημείο συλλογής γίνεται με επίδειξη της\r\n κάρτας μέλους η οποία αποστέλλεται ταχυδρομικώς στο ΣΗΜΕΙΟ ΣΥΛΛΟΓΗΣ.\r\n

\r\n

\r\n Με την ολοκλήρωση της φόρτωσης των ελαστικών τέλους κύκλου ζωής θα πρέπει:\r\n

\r\n

\r\n \r\n   α) Να επιδεικνύεται η κάρτα μέλους του ΣΗΜΕΙΟΥ ΣΥΛΛΟΓΗΣ στον\r\n συλλέκτη \r\n \r\n  \r\n
\r\n  \r\n \r\n   β) Να γίνεται επιβεβαίωση των στοιχείων του ΣΗΜΕΙΟΥ ΣΥΛΛΟΓΗΣ στο tablet\r\n του συλλέκτη \r\n \r\n
γ) Να υπογράφεται ηλεκτρονικά το αποδεικτικό παράδοσης παραλαβής\r\n

\r\n

\r\n Το ΣΗΜΕΙΟ ΣΥΛΛΟΓΗΣ φέρει ευθύνη για την ορθή αναγραφή των παραδιδόμενων ελαστικών τέλους κύκλου ζωής, ανά κατηγορία, στον ηλεκτρονικό εξοπλισμό του εξουσιοδοτημένου\r\n μεταφορέα. Το ΣΣΕΔ έχει δικαίωμα να διενεργεί ελέγχους για τη σωστή αναγραφή των\r\n ποσοτήτων. Τα στοιχεία μπορούν να κοινοποιούνται από το ΣΣΕΔ στις αρμόδιες δημόσιες\r\n αρχές, εφόσον ζητούνται στο πλαίσιο της διαδικασίας αδειοδότησης ή απαιτούνται για την\r\n εκπλήρωση έννομων υποχρεώσεων.\r\n

\r\n\r\n\r\n
\r\n §8. ΕΛΕΓΧΟΣ \r\n
\r\n

\r\n Το ΣΣΕΔ, δεδομένου ότι αναλαμβάνει το συνολικό κόστος για τη διαχείριση των\r\n παραλαμβανόμενων ελαστικών τέλους κύκλου ζωής, έχει δικαίωμα να ελέγχει την τήρηση των όρων\r\n του άρθρου 6 από το ΣΗΜΕΙΟ ΣΥΛΛΟΓΗΣ. Ο έλεγχος θα πραγματοποιείται από\r\n εξουσιοδοτημένο Ορκωτό Ελεγκτή, με έξοδα του ΣΣΕΔ. Το ΣΗΜΕΙΟ ΣΥΛΛΟΓΗΣ\r\n υποχρεούται να δέχεται τον έλεγχο και να συνδράμει την ελεγκτική διαδικασία,\r\n επιδεικνύοντας στον εξουσιοδοτημένο Ορκωτό Ελεγκτή όλα τα λογιστικά βιβλία και στοιχεία\r\n που του ζητούνται. Θα καταβάλλεται μέριμνα ώστε η διαδικασία του ελέγχου να μην παρακωλύει\r\n την εύρυθμη λειτουργία του \r\n ΣΗΜΕΙΟΥ ΣΥΛΛΟΓΗΣ.\r\n

\r\n\r\n\r\n\r\n
\r\n §9. ΕΜΠΙΣΤΕΥΤΙΚΟΤΗΤΑ ΣΤΟΙΧΕΙΩΝ \r\n
\r\n

\r\n Το κάθε συμβαλλόμενο μέρος (ΣΣΕΔ και ΣΗΜΕΙΟ ΣΥΛΛΟΓΗΣ) αντιμετωπίζει ως\r\n απολύτως απόρρητες όλες τις εμπιστευτικές πληροφορίες που τυχόν έρχονται εις γνώση του\r\n σχετικά με το άλλο συμβαλλόμενο μέρος, στα πλαίσια της παρούσας συνεργασίας. Η υποχρέωση\r\n εμπιστευτικότητας αφορά ιδίως σε εμπορικά και οικονομικά στοιχεία, καθώς και\r\n επιχειρηματικά ή /και στρατηγικά σχέδια.\r\n

\r\n

\r\n Ειδικώς το ΣΣΕΔ έχει υποχρέωση να αντιμετωπίζει ως απολύτως εμπιστευτική κάθε\r\n πληροφορία σχετικά με το ΣΗΜΕΙΟ ΣΥΛΛΟΓΗΣ, η οποία περιέρχεται εις γνώση του \r\n ΣΣΕΔ στο πλαίσιο εφαρμογής της παρούσας σύμβασης, η οποία αφορά σε πωλήσεις,\r\n πελατολόγιο, τιμοκαταλόγους, εκπτώσεις, έσοδα, εμπορικό απόρρητο, εν γένει οικονομικά και\r\n λογιστικά στοιχεία αυτού, καθώς και σε επιχειρηματικά ή/ και στρατηγικά σχέδια, know-how,\r\n εμπορικές μεθόδους και πρακτικές. Το ΣΣΕΔ απέχει απ’ την αποκάλυψη των πληροφοριών\r\n αυτών σε οιοδήποτε τρίτο πρόσωπο, για οιοδήποτε λόγο και αιτία, εκτός εάν υφίσταται\r\n υποχρέωσή του επιβαλλόμενη από διάταξη Νόμου ή απόφαση Δικαστικής ή Διοικητικής Αρχής. Οι\r\n παραπάνω υποχρεώσεις βαρύνουν όλα τα πρόσωπα που παρέχουν υπηρεσίες στο ΣΣΕΔ, είτε\r\n βάσει σύμβασης εξαρτημένης εργασίας είτε ανεξαρτήτων υπηρεσιών.\r\n

\r\n\r\n
\r\n § 10. ΔΙΑΚΟΠΗ ΣΥΝΕΡΓΑΣΙΑΣ \r\n
\r\n

\r\n Το ΣΣΕΔ και το ΣΗΜΕΙΟ ΣΥΛΛΟΓΗΣ έχουν δικαίωμα να διακόψουν τη συνεργασία\r\n τους σε περίπτωση παραβίασης οιουδήποτε όρου της, οι οποίοι συμφωνούνται όλοι ως\r\n ουσιώδεις, καθώς και σε περίπτωση σπουδαίου λόγου.\r\n

\r\n

\r\n Σε περίπτωση που το ΣΣΕΔ για οποιονδήποτε λόγο (π.χ. ανάκληση της άδειας για\r\n συλλογικό σύστημα εναλλακτικής διαχείρισης μεταχειρισμένων ελαστικών) σταματήσει την\r\n οργάνωση του συστήματος συλλογής και διαχείρισης μεταχειρισμένων ελαστικών έχει δικαίωμα\r\n να διακόψει τη συνεργασία με του με το ΣΗΜΕΙΟ ΣΥΛΛΟΓΗΣ αζημίως. Το ίδιο δικαίωμα\r\n έχει και το ΣΗΜΕΙΟ ΣΥΛΛΟΓΗΣ.\r\n

\r\n

\r\n Εάν το ΣΗΜΕΙΟ ΣΥΛΛΟΓΗΣ δεν καταχωρήσει αίτημα παραλαβής μεταχειρισμένων ελαστικών,\r\n σύμφωνα με το άρθρο 7, για χρονικό διάστημα μεγαλύτερο των δύο (2) ετών, θα καθίσταται\r\n ανενεργό σημείο συλλογής και θα διακόπτεται η συνεργασία του με το ΣΣΕΔ. Για την\r\n εξυπηρέτησή του πρέπει να επανεγγραφεί εκ νέου ως σημείο συλλογής του ΣΣΕΔ.\r\n

\r\n

\r\n Το ΣΗΜΕΙΟ ΣΥΛΛΟΓΗΣ σε περίπτωση που διακόψει τη δραστηριότητά του ως κατάστημα\r\n βουλκανιζατέρ ή συνεργείο, ενημερώνει σχετικά το ΣΣΕΔ και θα διακόπτεται η\r\n συνεργασία.\r\n

\r\n

\r\n Η διακοπή της συνεργασίας και η διαγραφή του ΣΗΜΕΙΟΥ ΣΥΛΛΟΓΗΣ διενεργείται με\r\n έγγραφη δήλωση, η οποία πρέπει να κοινοποιηθεί στον αντισυμβαλλόμενο με e-mail και τα\r\n αποτελέσματα αυτής θα επέρχονται από την επόμενη της κοινοποίησής της.\r\n

\r\n\r\n
\r\n § 11. ΑΝΩΤΕΡΑ ΒΙΑ\r\n
\r\n

\r\n Τα συνεργαζόμενα μέρη δεν είναι υπεύθυνα για ζημιές ή καθυστερήσεις σε παράδοση φορτίων\r\n οφειλόμενες σε ανωτέρα βία. Ως ανωτέρα βία εννοείται κάθε περιστατικό ή συμβάν, πέραν από\r\n την ευθύνη της κάθε πλευράς, όπως πόλεμος ή καταστροφές που οφείλονται σε θεομηνία (πχ.\r\n πυρκαγιά, πλημμύρα κλπ.) ή και περιορισμοί που τυχόν επιβληθούν στην ως άνω διαχείριση από\r\n κυβερνητικές αποφάσεις.\r\n

\r\n\r\n
\r\n §12. ΠΡΟΣΩΠΙΚΑ ΔΕΔΟΜΕΝΑ\r\n
\r\n

\r\n Τα συμβαλλόμενα μέρη δύνανται να συλλέγουν προσωπικά δεδομένα κατά το μέτρο που αυτό\r\n απαιτείται για την εκτέλεση της παρούσας σύμβασης και υπό τον όρο ότι λαμβάνουν όλα τα\r\n απαραίτητα μέτρα και φροντίζουν για τη θεμιτή και νόμιμη συλλογή και επεξεργασία των\r\n δεδομένων προσωπικού χαρακτήρα καθώς και για την ασφαλή τήρησή τους, σύμφωνα με τα\r\n προβλεπόμενα στον Γενικό Κανονισμό Προσωπικών Δεδομένων 2016/679 (GDPR), τον Νόμο\r\n 4624/2019 καθώς και στο ειδικότερο ρυθμιστικό πλαίσιο εφαρμογής τους.\r\n

\r\n\r\n
\r\n § 13. ΙΣΧΥΟΝ ΔΙΚΑΙΟ – ΑΡΜΟΔΙΟΤΗΤΑ ΔΙΚΑΣΤΗΡΙΩΝ\r\n
\r\n

\r\n Η συνεργασία θα διέπεται απ’ τη νομοθεσία για την εναλλακτική διαχείριση ελαστικών (ΚΥΑ ΥΠΕΝ/ΔΔ Α/36464/547,ΦΕΚ Β 2217/6.4.2023 «Πρόγραμμα Διευρυμένης Ευθύνης Παραγωγού για τα ελαστικά οχημάτων σε εφαρμογή της παρ. 4 του άρθρου 72 του ν. 4819/2021», η οποία αντικατέστησε το ΠΔ 109/2004 και Ν. 4819/2021 ,ΦΕΚ Α’ 129, ο οποίος κατήργησε τον Ν.2939/2001)) καθώς και τις διατάξεις της εκάστοτε κείμενης νομοθεσίας για τη διαχείριση στερεών αποβλήτων.\r\n

\r\n

\r\n Σε περίπτωση που ανακύψει οιαδήποτε διαφορά σχετική με την παρούσα συνεργασία αρμόδια για\r\n την επίλυσή της θα είναι τα Δικαστήρια των Αθηνών.\r\n

\r\n\r\n
\r\n § 14. ΕΙΔΟΠΟΙΗΣΕΙΣ – ΑΝΑΘΕΩΡΗΣΗ ΟΡΩΝ - ΕΡΜΗΝΕΙΑ\r\n
\r\n

\r\n Ειδοποιήσεις που θα έχουν σχέση με την λειτουργία της παρούσας συνεργασίας θα δίδονται\r\n εγγράφως και εγκαίρως από το ΣΗΜΕΙΟ ΣΥΛΛΟΓΗΣ στο ΣΣΕΔ προς:\r\n

\r\n

\r\n Τον Τατσιόπουλο Νικόλα (τηλέφωνο:2106128260, e-mail: info@ecoelastika.gr\r\n , fax:2106128659).\r\n

\r\n

\r\n Αντίστοιχα, οι ειδοποιήσεις του ΣΣΕΔ προς το ΣΗΜΕΙΟ ΣΥΛΛΟΓΗΣ θα απευθύνονται\r\n στο πρόσωπο που έχει σημειωθεί ως υπεύθυνος επικοινωνίας στην αίτηση.\r\n Κάθε συνεργαζόμενο μέρος έχει υποχρέωση να ειδοποιεί το άλλο συνεργαζόμενο μέρος για τυχόν\r\n αλλαγές στα στοιχεία του υπεύθυνου επικοινωνίας.
\r\n Στην περίπτωση μεταβολής οποιουδήποτε στοιχείου του, το ΣΗΜΕΙΟ ΣΥΛΛΟΓΗΣ (Επωνυμία,\r\n Διεύθυνση, email, στοιχεία υπευθύνου κλπ), πρέπει να ενημερώνει το ΣΣΕΔ μέσω\r\n ηλεκτρονικού ταχυδρομείου.\r\n

\r\n\r\n

\r\nΤο ΣΣΕΔ ECOELASTIKA ενδέχεται να αναθεωρεί τους παρόντες Όρους Συνεργασίας με τα Σημεία Συλλογής ελαστικών τέλους κύκλου ζωής. Η αναθεωρημένη έκδοση των Όρων Συνεργασίας θα δημοσιεύεται στην ιστοσελίδα του ΣΣΕΔ https://www.ecoelastika.gr και τα Σημεία Συλλογής θα ενημερώνονται με αποστολή ηλεκτρονικών μηνυμάτων στις ηλεκτρονικές διευθύνσεις που έχουν δηλώσει. Η αναθεωρημένη έκδοση θα τίθεται σε ισχύ κατά τη στιγμή της δημοσίευσής της, εκτός αν ρυθμίζεται κάτι διαφορετικό σε αυτή. Αν η αναθεώρηση περιλαμβάνει αλλαγές που περιορίζουν ή επηρεάζουν τα δικαιώματα των Σημείων Συλλογής ή αυξάνουν τις ευθύνες ή υποχρεώσεις τους, τότε η αναθεωρημένη έκδοση θα ισχύει δεκαπέντε (15) ημέρες μετά τη δημοσίευση. Αν το ΣΗΜΕΙΟ ΣΥΛΛΟΓΗΣ συνεχίσει να χρησιμοποιεί τις υπηρεσίες του ΣΣΕΔ ECOELASTIKA, μετά την θέση σε ισχύ αναθεωρημένης έκδοσης των Όρων Συνεργασίας, σύμφωνα με τα παραπάνω, τεκμαίρεται η συμφωνία με τις αλλαγές που περιλαμβάνονται στην αναθεωρημένη έκδοση.\r\n

\r\n

\r\n Οι όροι που αναφέρονται στο παρόν είναι δεσμευτικοί για το παραπάνω χρονικό διάστημα που\r\n συμφωνήθηκε και θα ερμηνεύονται βάσει της καλής πίστεως και των συναλλακτικών ηθών.\r\n

\r\n`;\r\n }\r\n\r\n return
;\r\n};\r\n","import React, { FC, useState, useEffect, useRef } from 'react';\r\nimport { Form, Button, Card, Alert, Col, Row } from 'react-bootstrap';\r\nimport * as yup from 'yup';\r\nimport useForm from 'react-hook-form';\r\n\r\n// import { useWhyDidYouUpdate, useLogger } from '../../hooks';\r\nimport { Agreement } from '../../models';\r\nimport { useWhyDidYouUpdate } from '../../hooks';\r\nimport { useRootStore } from '../../store';\r\nimport { GoogleMap, Marker, useLoadScript } from '@react-google-maps/api';\r\nimport { useGeocodeReverseQuery, useGeocodeQuery } from '../../api';\r\nimport { IsTyreImporter } from './isTyreImporter';\r\n\r\ndeclare const google;\r\n/**\r\n * Setup Yup Validation & Type\r\n */\r\nconst validationSchema = yup.object().shape({\r\n Address: yup.string().required(),\r\n ZipCode: yup.string().required(),\r\n Phone1: yup.string().required(),\r\n Phone2: yup.string(),\r\n Phone3: yup.string(),\r\n Fax1: yup.string(),\r\n Email: yup.string().required(),\r\n Contact: yup.string().required(),\r\n ContactPosition: yup.string(),\r\n Municipality: yup.string().required(),\r\n IsTyreImporter: yup.boolean(),\r\n CertifyNoTyreImport: yup.boolean(),\r\n});\r\n\r\nexport type AgreementFormData = {\r\n Address: string;\r\n ZipCode: string;\r\n Phone1: string;\r\n Phone2: string;\r\n Phone3: string;\r\n Fax1: string;\r\n Email: string;\r\n Contact: string;\r\n ContactPosition: string;\r\n Municipality: string;\r\n AddressLongitude: number;\r\n AddressLatitude: number;\r\n dataChanged: boolean;\r\n IsTyreImporter: boolean;\r\n CertifyNoTyreImport: boolean;\r\n};\r\n\r\ntype Props = {\r\n agreement: Agreement;\r\n consented: boolean;\r\n onSubmit: (data: AgreementFormData) => void;\r\n recordsMun: any;\r\n recordsPos: any;\r\n setConsented: any;\r\n};\r\n\r\nconst CstPointFields: FC = ({\r\n agreement,\r\n consented,\r\n onSubmit,\r\n recordsMun,\r\n recordsPos,\r\n setConsented,\r\n}) => {\r\n /*-------------------- Body -----------------------------------------------*/\r\n const { appStore } = useRootStore();\r\n const isFirstRun = useRef(true);\r\n const isFirstRun2 = useRef(true);\r\n const initialValues = {\r\n Address: !agreement.Address ? '' : agreement.Address,\r\n ZipCode: !agreement.ZipCode ? '' : agreement.ZipCode,\r\n Phone1: !agreement.Phone1 ? '' : agreement.Phone1,\r\n Phone2: !agreement.Phone2 ? '' : agreement.Phone2,\r\n Phone3: !agreement.Phone3 ? '' : agreement.Phone3,\r\n Fax1: !agreement.Fax1 ? '' : agreement.Fax1,\r\n Email: !agreement.Email ? '' : agreement.Email,\r\n Contact: !agreement.Contact ? '' : agreement.Contact,\r\n ContactPosition: !agreement.ContactPosition ? '' : agreement.ContactPosition,\r\n Municipality: !agreement.Municipality ? '' : agreement.Municipality,\r\n ContactPositionNew:\r\n agreement.ContactPosition !== 'Ιδιοκτήτης' &&\r\n agreement.ContactPosition !== 'Νόμιμος Εκπρόσωπος' &&\r\n agreement.ContactPosition !== 'Υπάλληλος' &&\r\n agreement.ContactPosition !== 'Υπεύθυνος καταστήματος'\r\n ? agreement.ContactPosition\r\n : '',\r\n IsTyreImporter: agreement.IsTyreImporter ? agreement.IsTyreImporter : (undefined as boolean),\r\n CertifyNoTyreImport: agreement.CertifyNoTyreImport ? agreement.CertifyNoTyreImport : false,\r\n };\r\n\r\n const [canConsent, setCanConsent] = useState(false);\r\n const [showAlert, setShowAlert] = useState(false);\r\n\r\n const { register, handleSubmit, formState, errors, setValue, getValues } = useForm({\r\n defaultValues: initialValues,\r\n validationSchema: validationSchema,\r\n mode: 'onBlur',\r\n });\r\n const [dataChanged, setDataChanged] = useState(false);\r\n const [position, setPosition] = useState({\r\n lat: agreement.AddressLatitude,\r\n lng: agreement.AddressLongitude,\r\n });\r\n const [newOption, setNewOption] = useState(false);\r\n const [address, setAddress] = useState(agreement.Address);\r\n const [zipCode, setZipCode] = useState(agreement.ZipCode);\r\n const [lat, setLat] = useState(agreement.AddressLatitude);\r\n const [lng, setLng] = useState(agreement.AddressLongitude);\r\n const { records, reFetch: fetchGeo } = useGeocodeQuery({\r\n address: address,\r\n zipCode: zipCode,\r\n });\r\n\r\n const { records: addressRecords, reFetch: fetchGeoReverse } = useGeocodeReverseQuery({\r\n lat: lat,\r\n lng: lng,\r\n });\r\n\r\n /*-------------------- Handlers -------------------------------------------*/\r\n const processedData = (data: any) => {\r\n const newData = {\r\n Address: data.Address.toUpperCase(),\r\n ZipCode: data.ZipCode,\r\n Phone1: data.Phone1,\r\n Phone2: data.Phone2,\r\n Phone3: data.Phone3,\r\n Fax1: data.Fax1,\r\n Email: data.Email.toUpperCase(),\r\n Contact: data.Contact.toUpperCase(),\r\n ContactPosition:\r\n data.ContactPosition === 'Άλλη Ιδιότητα' || data.ContactPosition === ''\r\n ? data.ContactPositionNew\r\n : data.ContactPosition,\r\n Municipality: data.Municipality,\r\n AddressLongitude: position.lng,\r\n AddressLatitude: position.lat,\r\n dataChanged: data.dataChanged,\r\n IsTyreImporter: data.IsTyreImporter === 'true' ? true : false,\r\n CertifyNoTyreImport: data.CertifyNoTyreImport,\r\n };\r\n\r\n return newData;\r\n };\r\n\r\n const handleOnSubmit = (data: any) => {\r\n if (\r\n data.Municipality === '' ||\r\n ((data.ContactPosition === 'Άλλη Ιδιότητα' && data.ContactPositionNew === '') ||\r\n (data.ContactPosition === '' && data.ContactPositionNew === ''))\r\n ) {\r\n setShowAlert(true);\r\n } else {\r\n console.log('Submit:', data);\r\n onSubmit(processedData(data));\r\n }\r\n };\r\n\r\n const handleAlertDismiss = () => {\r\n setShowAlert(false);\r\n };\r\n\r\n const containerStyle = {\r\n width: '500px',\r\n height: '720px',\r\n };\r\n const [zoom, setZoom] = useState(10);\r\n const [center, setCenter] = useState({\r\n lat: 38.005,\r\n lng: 23.823,\r\n });\r\n\r\n const focusMarker = position => {\r\n setZoom(17);\r\n setCenter(position);\r\n };\r\n\r\n const { isLoaded, loadError } = useLoadScript({\r\n googleMapsApiKey: 'AIzaSyDTPYVZ76DV-eairJCtDjYAIyQp5rYcG_w', // ,\r\n // ...otherOptions\r\n });\r\n\r\n useEffect(() => {\r\n if (zipCode.length > 4 && address.length > 0) {\r\n const timer = setTimeout(() => {\r\n fetchGeo();\r\n }, 2000);\r\n return () => clearTimeout(timer);\r\n }\r\n }, [address, zipCode]);\r\n\r\n useEffect(() => {\r\n if (isFirstRun.current) {\r\n isFirstRun.current = false;\r\n } else {\r\n const timer = setTimeout(() => {\r\n fetchGeoReverse();\r\n }, 500);\r\n return () => clearTimeout(timer);\r\n }\r\n }, [lat, lng]);\r\n\r\n useEffect(() => {\r\n if (isFirstRun2.current) {\r\n isFirstRun2.current = false;\r\n } else {\r\n if (addressRecords.address.length > 0 && addressRecords.zipCode.length > 0) {\r\n setValue('Address', addressRecords.address);\r\n setValue('ZipCode', addressRecords.zipCode);\r\n }\r\n }\r\n }, [addressRecords]);\r\n /*-------------------- Render ---------------------------------------------*/\r\n useWhyDidYouUpdate('[CstPointFields]', { dataChanged, formState, errors });\r\n return (\r\n isLoaded && (\r\n
\r\n \r\n <>\r\n \r\n \r\n \r\n Διεύθυνση\r\n\r\n setAddress((e.target as any).value)}\r\n />\r\n \r\n {'Το πεδίο είναι υποχρεωτικό'}\r\n \r\n \r\n\r\n {dataChanged ? (\r\n \r\n Δήμος\r\n \r\n {recordsMun.map(record => {\r\n return (\r\n \r\n );\r\n })}\r\n \r\n \r\n {'Το πεδίο είναι υποχρεωτικό'}\r\n \r\n \r\n ) : (\r\n \r\n Δήμος\r\n \r\n \r\n {'Το πεδίο είναι υποχρεωτικό'}\r\n \r\n \r\n )}\r\n\r\n \r\n Τ.Κ.\r\n setZipCode((e.target as any).value)}\r\n />\r\n \r\n {'Το πεδίο είναι υποχρεωτικό'}\r\n \r\n \r\n\r\n \r\n Τηλέφωνο\r\n \r\n \r\n {'Το πεδίο είναι υποχρεωτικό'}\r\n \r\n \r\n\r\n \r\n Τηλέφωνο 2\r\n \r\n \r\n\r\n \r\n Κινητό\r\n \r\n \r\n\r\n \r\n Fax\r\n \r\n \r\n\r\n \r\n Email\r\n \r\n \r\n {'Το πεδίο είναι υποχρεωτικό'}\r\n \r\n \r\n\r\n \r\n Εκπρόσωπος\r\n \r\n \r\n {'Το πεδίο είναι υποχρεωτικό'}\r\n \r\n \r\n\r\n {dataChanged ? (\r\n \r\n \r\n \r\n Ιδιότητα Εκπροσώπου\r\n \r\n (e.target as any).value === 'Άλλη Ιδιότητα'\r\n ? setNewOption(true)\r\n : (setNewOption(false), setValue('ContactPositionNew', ''))\r\n }\r\n >\r\n {recordsPos.map(record => {\r\n return (\r\n setNewOption(false)}\r\n >\r\n {record.Name}\r\n \r\n );\r\n })}\r\n setNewOption(true)}\r\n >\r\n {'Άλλη Ιδιότητα'}\r\n \r\n \r\n \r\n {'Το πεδίο είναι υποχρεωτικό'}\r\n \r\n \r\n \r\n \r\n \r\n Άλλη Ιδιότητα\r\n \r\n \r\n \r\n \r\n ) : (\r\n \r\n Ιδιότητα Εκπροσώπου\r\n \r\n \r\n {'Το πεδίο είναι υποχρεωτικό'}\r\n \r\n \r\n )}\r\n\r\n \r\n setDataChanged(e.target.checked)}\r\n />\r\n \r\n \r\n \r\n \r\n {records && (\r\n {\r\n focusMarker(records);\r\n setPosition(records);\r\n }}\r\n //onLoad={() => focusMarker(records)}\r\n position={records}\r\n draggable={dataChanged}\r\n onDragEnd={e => {\r\n setLat(e.latLng.lat());\r\n setLng(e.latLng.lng());\r\n setPosition({ lat: e.latLng.lat(), lng: e.latLng.lng() });\r\n }}\r\n >\r\n )}\r\n \r\n {dataChanged && (\r\n

\r\n Μπορείτε να μετακινήσετε την καρφίτσα αν πιστεύετε ότι είναι λάθος.\r\n

\r\n )}\r\n \r\n
\r\n {showAlert && (\r\n \r\n

{'Πρέπει να επιλέξετε Δήμο και Ιδιότητα Εκπροσώπου!'}

\r\n
\r\n )}\r\n \r\n
\r\n \r\n \r\n\r\n
\r\n \r\n setConsented(e.target.checked)}\r\n />\r\n \r\n
\r\n \r\n
\r\n
\r\n )\r\n );\r\n};\r\n\r\nexport default CstPointFields;\r\n","import React, { FC, useState } from 'react';\r\nimport { Form, Button, Card, Alert, Row, Col } from 'react-bootstrap';\r\nimport * as yup from 'yup';\r\nimport useForm from 'react-hook-form';\r\n\r\n// import { useWhyDidYouUpdate, useLogger } from '../../hooks';\r\nimport { AgreementSubmitted } from '../../models';\r\nimport { useWhyDidYouUpdate } from '../../hooks';\r\nimport { useRootStore } from '../../store';\r\nimport { GoogleMap, Marker, useLoadScript } from '@react-google-maps/api';\r\nimport { useGeocodeQuery } from '../../api/geocode';\r\n\r\n/**\r\n * Setup Yup Validation & Type\r\n */\r\nconst validationSchema = yup.object().shape({\r\n NewAddress: yup.string(),\r\n NewZipCode: yup.string(),\r\n NewPhone1: yup.string(),\r\n NewPhone2: yup.string(),\r\n NewPhone3: yup.string(),\r\n NewNewFax1: yup.string(),\r\n Email: yup.string(),\r\n NewContact: yup.string(),\r\n NewContactPosition: yup.string(),\r\n NewMunicipality: yup.string(),\r\n});\r\n\r\nexport type AgreementFormData = {\r\n NewAddress: string;\r\n NewZipCode: string;\r\n NewPhone1: string;\r\n NewPhone2: string;\r\n NewPhone3: string;\r\n NewFax1: string;\r\n NewEmail: string;\r\n NewContact: string;\r\n NewContactPosition: string;\r\n NewMunicipality: string;\r\n NewAddressLongitude: number;\r\n NewAddressLatitude: number;\r\n dataChanged: boolean;\r\n};\r\n\r\ntype Props = {\r\n agreement: AgreementSubmitted;\r\n onPDFSubmit: () => void;\r\n};\r\n\r\nconst CstPointNewFields: FC = ({ agreement, onPDFSubmit }) => {\r\n /*-------------------- Body -----------------------------------------------*/\r\n const { appStore } = useRootStore();\r\n const initialValues = {\r\n NewAddress: !agreement.NewAddress ? '' : agreement.NewAddress,\r\n NewZipCode: !agreement.NewZipCode ? '' : agreement.NewZipCode,\r\n NewPhone1: !agreement.NewPhone1 ? '' : agreement.NewPhone1,\r\n NewPhone2: !agreement.NewPhone2 ? '' : agreement.NewPhone2,\r\n NewPhone3: !agreement.NewPhone3 ? '' : agreement.NewPhone3,\r\n NewFax1: !agreement.NewFax1 ? '' : agreement.NewFax1,\r\n NewEmail: !agreement.NewEmail ? '' : agreement.NewEmail,\r\n NewContact: !agreement.NewContact ? '' : agreement.NewContact,\r\n NewContactPosition: !agreement.NewContactPosition ? '' : agreement.NewContactPosition,\r\n NewMunicipality: !agreement.NewMunicipality ? '' : agreement.NewMunicipality,\r\n };\r\n\r\n const { register, formState, errors } = useForm({\r\n defaultValues: initialValues,\r\n validationSchema: validationSchema,\r\n mode: 'onBlur',\r\n });\r\n\r\n const handleReport = () => {\r\n onPDFSubmit();\r\n console.log('PDF');\r\n };\r\n\r\n const { records } = useGeocodeQuery({\r\n address: agreement.NewAddress,\r\n zipCode: agreement.NewZipCode,\r\n });\r\n\r\n const containerStyle = {\r\n width: '500px',\r\n height: '780px',\r\n };\r\n const [zoom, setZoom] = useState(agreement.NewAddressLatitude ? 17 : 10);\r\n const [center, setCenter] = useState({\r\n lat: agreement.NewAddressLatitude ? agreement.NewAddressLatitude : 38.005,\r\n lng: agreement.NewAddressLongitude ? agreement.NewAddressLongitude : 23.823,\r\n });\r\n\r\n const focusMarker = position => {\r\n setZoom(17);\r\n setCenter(position);\r\n };\r\n\r\n const { isLoaded, loadError } = useLoadScript({\r\n googleMapsApiKey: 'AIzaSyDTPYVZ76DV-eairJCtDjYAIyQp5rYcG_w', // ,\r\n // ...otherOptions\r\n });\r\n\r\n /*-------------------- Render ---------------------------------------------*/\r\n useWhyDidYouUpdate('[CstPointNewFields]', { formState, errors });\r\n return (\r\n isLoaded && (\r\n
\r\n \r\n <>\r\n \r\n \r\n \r\n Διεύθυνση\r\n\r\n \r\n \r\n\r\n \r\n Δήμος\r\n \r\n \r\n\r\n \r\n Τ.Κ.\r\n \r\n \r\n\r\n \r\n Τηλέφωνο\r\n \r\n \r\n\r\n \r\n Τηλέφωνο 2\r\n \r\n \r\n\r\n \r\n Κινητό\r\n \r\n \r\n\r\n \r\n Fax\r\n \r\n \r\n\r\n \r\n Email\r\n \r\n \r\n\r\n \r\n Εκπρόσωπος\r\n \r\n \r\n\r\n \r\n Ιδιότητα Εκπροσώπου\r\n \r\n \r\n \r\n \r\n \r\n focusMarker(records)}\r\n //onLoad={() => focusMarker(records)}\r\n position={\r\n agreement.NewAddressLatitude\r\n ? {\r\n lat: agreement.NewAddressLatitude,\r\n lng: agreement.NewAddressLongitude,\r\n }\r\n : records\r\n }\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n )\r\n );\r\n};\r\n\r\nexport default CstPointNewFields;\r\n","import React, { FC, useEffect, useState } from 'react';\r\nimport { RouteComponentProps } from 'react-router-dom';\r\n\r\nimport { useWhyDidYouUpdate } from '../../hooks';\r\nimport {\r\n useAgreementQuery,\r\n useMunicipalitiesQuery,\r\n useSubmitAgreementQuery,\r\n useAgreementPDFQuery,\r\n useContactPositionsQuery,\r\n} from '../../api';\r\nimport ModalSpinner from '../../components/modal-spinner';\r\nimport { Card, Form, Button } from 'react-bootstrap';\r\nimport { TermsAndConditions } from './termsAndConditions';\r\nimport CstPointFields, { AgreementFormData } from './cstPointFields';\r\nimport { useRootStore } from '../../store';\r\nimport CstPointNewFields from './cstPointNewFields';\r\nimport ModalDialog from '../../components/modal-dialog';\r\nimport { parseISO } from 'date-fns';\r\nimport { AgreementTypes } from '../../common/constants';\r\nimport { useAgreementByAgreementIdQuery } from '../../api/agreement-by-agreementid';\r\nimport { ROUTES } from '../../routes';\r\nimport { AgreementsView } from '../agreements/agreements';\r\n\r\ntype Props = RouteComponentProps & {};\r\n\r\nconst NewAgreementView: FC = props => {\r\n /*-------------------- Body -----------------------------------------------*/\r\n const { appStore } = useRootStore();\r\n const [agreement, setAgreement] = useState('');\r\n // -- For report QUERY hook\r\n\r\n const { loading, error, records, reFetch } = useAgreementByAgreementIdQuery({\r\n agreementId: AgreementTypes.Shops_Sept_2023,\r\n });\r\n const { busy, finish: finishPdf, reFetch: reFetchPDF } = useAgreementPDFQuery('PDF');\r\n const { busy: busyEmail, finish: finishEmail, reFetch: sendEmail } = useAgreementPDFQuery(\r\n 'EMAIL',\r\n );\r\n const {\r\n loading: loadingMun,\r\n error: errorMun,\r\n records: recordsMun,\r\n reFetch: reFetchMun,\r\n } = useMunicipalitiesQuery();\r\n\r\n const {\r\n loading: loadingPos,\r\n error: errorPos,\r\n records: recordsPos,\r\n reFetch: reFetchPos,\r\n } = useContactPositionsQuery();\r\n\r\n const { reFetch: submit, finish } = useSubmitAgreementQuery();\r\n const [consented, SetConsented] = useState(false);\r\n /*-------------------- Handlers -------------------------------------------*/\r\n\r\n const handleSubmit = (formData: AgreementFormData) => {\r\n const newAgreement = { ...formData, AgreementId: AgreementTypes.Shops_Sept_2023 };\r\n setAgreement(newAgreement);\r\n submit(newAgreement); // ie reFetch useSubmitAgreementQuery\r\n };\r\n\r\n useEffect(() => {\r\n if (finish) {\r\n sendEmail();\r\n }\r\n }, [finish]);\r\n\r\n useEffect(() => {\r\n if (finishEmail) {\r\n reFetchPDF();\r\n }\r\n }, [finishEmail]);\r\n\r\n useEffect(() => {\r\n if (finishPdf) {\r\n // reFetch();\r\n appStore.consent();\r\n appStore.setConsentedAgreementId(AgreementTypes.Shops_Sept_2023);\r\n appStore.defineBannerParams();\r\n // Goto Agreement Terms\r\n props.history.push(ROUTES.Agreement);\r\n }\r\n }, [finishPdf]);\r\n\r\n const getFields = record => {\r\n const data = {\r\n Address: record.Address ? record.Address.toUpperCase() : null,\r\n ZipCode: record.ZipCode,\r\n Phone1: record.Phone1,\r\n Phone2: record.Phone2,\r\n Phone3: record.Phone3,\r\n Fax1: record.Fax1,\r\n Email: record.Email ? record.Email.toUpperCase() : null,\r\n Contact: record.Contact ? record.Contact.toUpperCase() : null,\r\n ContactPosition: record.ContactPosition,\r\n Municipality: record.Municipality,\r\n AddressLatitude: record.AddressLatitude,\r\n AddressLongitude: record.AddressLongitude,\r\n IsTyreImporter: record.IsTyreImporter,\r\n CertifyNoTyreImport: record.CertifyNoTyreImport,\r\n };\r\n return data;\r\n };\r\n\r\n const getNewFields = record => {\r\n const data = {\r\n NewAddress: record.NewAddress ? record.NewAddress.toUpperCase() : null,\r\n NewZipCode: record.NewZipCode ? record.NewZipCode.toUpperCase() : null,\r\n NewPhone1: record.NewPhone1,\r\n NewPhone2: record.NewPhone2,\r\n NewPhone3: record.NewPhone3,\r\n NewFax1: record.NewFax1,\r\n NewEmail: record.NewEmail ? record.NewEmail.toUpperCase() : null,\r\n NewContact: record.NewContact ? record.NewContact.toUpperCase() : null,\r\n NewMunicipality: record.NewMunicipality,\r\n NewContactPosition: record.NewContactPosition,\r\n NewAddressLatitude: record.NewAddressLatitude,\r\n NewAddressLongitude: record.NewAddressLongitude,\r\n };\r\n return data;\r\n };\r\n\r\n useWhyDidYouUpdate('[AgreementView]', { records, recordsMun, recordsPos, loading, error });\r\n /*-------------------- Render ---------------------------------------------*/\r\n return (\r\n <>\r\n \r\n \r\n \r\n Όροι Συνεργασίας\r\n \r\n \r\n {records && recordsMun && (\r\n \r\n

\r\n Παρακαλούμε αφού διαβάσετε τους όρους συνεργασίας πατήστε υποβολή στο τέλος της\r\n σελίδας.\r\n

\r\n\r\n \r\n\r\n {!records.HasConsented ? (\r\n <>\r\n

Στοιχεία Σημείου Συλλογής

\r\n

\r\n Παρακαλούμε ελέγξτε τα στοιχεία σας και εφόσον διαφέρουν πατήστε το{' '}\r\n Μεταβολή Στοιχείων για να τα διορθώσετε\r\n

\r\n
\r\n \r\n
\r\n \r\n ) : records.DataChanged ? (\r\n <>\r\n

\r\n Νέα Στοιχεία Σημείου Συλλογής\r\n

\r\n
\r\n \r\n
\r\n \r\n ) : (\r\n \r\n )}\r\n
\r\n )}\r\n
\r\n \r\n {}}\r\n />\r\n\r\n \r\n \r\n );\r\n};\r\nexport default NewAgreementView;\r\n","import { useState, useEffect } from 'react';\r\nimport useAxios from '@use-hooks/axios';\r\nimport { oc } from 'ts-optchain';\r\nimport { useRootStore } from '../store';\r\nimport { useWhyDidYouUpdate } from '../hooks';\r\n\r\n/*\r\n###\r\nGET http://192.168.160.203:8085/webapi/xOrders.cshtml?User=bikenrider@gmail.com&Pass=motion$hellas&CstPointId=2481\r\n###\r\n*/\r\n\r\nexport interface Agreement {\r\n HasConsented: boolean;\r\n ConsentDate: string;\r\n NewAddress: string;\r\n NewMunicipality: string;\r\n NewNomos: string;\r\n NewDistrict: string;\r\n NewZipCode: string;\r\n NewPhone1: string;\r\n NewPhone2: string;\r\n NewPhone3: string;\r\n NewFax1: string;\r\n NewFax2: string;\r\n NewEmail: string;\r\n NewContact: string;\r\n NewContactPosition: string;\r\n NewAddressLatitude: number;\r\n NewAddressLongitude: number;\r\n DataChanged: boolean;\r\n AgreementId: number;\r\n}\r\n\r\nexport const useAgreementByAgreementIdQuery = ({ agreementId }) => {\r\n const { appStore } = useRootStore();\r\n const [message, setMessage] = useState('');\r\n const [records, setRecords] = useState();\r\n const url =\r\n appStore.webapi +\r\n `xGetAgreementByAgreementId.cshtml?` +\r\n `User=${appStore.user}` +\r\n `&Pass=${appStore.password}` +\r\n `&CstPointId=${appStore.cstPointId}` +\r\n `&AgreementId=${agreementId}`;\r\n const { response, loading, error, reFetch } = useAxios({\r\n url: url,\r\n method: 'GET',\r\n });\r\n const data = oc(response).data();\r\n useEffect(() => {\r\n if (error) {\r\n setMessage('Σφάλμα επικοινωνίας με τον Server!');\r\n } else {\r\n if (!loading && !!data) {\r\n const resp = data as Agreement;\r\n setRecords(resp);\r\n }\r\n }\r\n }, [response, loading, error, data]);\r\n\r\n useEffect(() => {\r\n reFetch();\r\n }, []);\r\n useWhyDidYouUpdate('[useAgreementQuery]', { loading, data, error });\r\n return {\r\n loading,\r\n error,\r\n message,\r\n records,\r\n reFetch,\r\n };\r\n};\r\n","import React, { FC, useState } from 'react';\r\nimport { Form, Row, Col, Card } from 'react-bootstrap';\r\nimport DatePicker from 'react-datepicker';\r\nimport { format, subDays } from 'date-fns';\r\n\r\n// import { useWhyDidYouUpdate, useLogger } from '../../hooks';\r\nimport ReportFooter from '../../components/report-footer';\r\n\r\ntype Props = {\r\n onSubmit: (email: boolean) => void;\r\n};\r\n\r\nconst CertificateCard: FC = ({ onSubmit }) => {\r\n /*-------------------- Body -----------------------------------------------*/\r\n\r\n /*-------------------- Handlers -------------------------------------------*/\r\n\r\n const handleSubmit = (email: boolean) => {\r\n onSubmit(email);\r\n };\r\n\r\n /*-------------------- Render ---------------------------------------------*/\r\n return (\r\n <>\r\n \r\n \r\n \r\n Βεβαίωση Αποκομιδής Ελαστικών τέλους κύκλου ζωής για Ανακύκλωση\r\n \r\n \r\n\r\n
\r\n \r\n \r\n
\r\n \r\n );\r\n};\r\n\r\nexport default CertificateCard;\r\n","import React, { FC, useEffect, useState } from 'react';\r\nimport { RouteComponentProps } from 'react-router-dom';\r\nimport { format } from 'date-fns';\r\n\r\nimport { useSt8, useWhyDidYouUpdate } from '../../hooks';\r\nimport { useReportQuery } from '../../api';\r\nimport { useRootStore } from '../../store';\r\n\r\nimport ModalReturn from '../../components/modal-dialog';\r\nimport ModalSpinner from '../../components/modal-spinner';\r\nimport { useCertificateQuery } from '../../api/certificate';\r\nimport CertificateCard from './certificate-card';\r\nimport { oc } from 'ts-optchain';\r\nimport useAxios from '@use-hooks/axios';\r\nimport ModalDialogFull from '../../components/modal-dialog-full';\r\nimport { ROUTES } from '../../routes';\r\n\r\ntype Props = RouteComponentProps & {};\r\n\r\nconst CertificateView: FC = props => {\r\n /*-------------------- Body -----------------------------------------------*/\r\n const { appStore } = useRootStore();\r\n const [emailChecked, setEmailChecked] = useState('');\r\n\r\n // local variables\r\n const cstPointId = appStore.cstPointId;\r\n const type = emailChecked ? 'EMAIL' : 'BLOB';\r\n const { busy, finish, reFetch: reFetchReport } = useCertificateQuery(type, cstPointId);\r\n const [isActive, setIsActive] = useState(true);\r\n const [modalText, setModalText] = useState('Παρακαλώ υπογράψτε τους όρους συνεργασίας');\r\n const finishPre = useSt8(false);\r\n\r\n const user = appStore.user;\r\n const password = appStore.password;\r\n // --------------------------- preRequest Hook\r\n const urlPre =\r\n appStore.webapi +\r\n `xPreRequest2.cshtml?User=${user}` +\r\n `&Pass=${password}` +\r\n `&CstPointId=${cstPointId}`;\r\n\r\n const { response: responsePre, loading: loadingPre, error: errorPre } = useAxios({\r\n url: urlPre,\r\n method: 'GET',\r\n trigger: [],\r\n });\r\n const dataPre = oc(responsePre).data(false);\r\n\r\n useEffect(() => {\r\n if (errorPre) {\r\n console.log('Error!');\r\n } else {\r\n if (dataPre !== false) {\r\n console.log(JSON.parse(dataPre));\r\n const orderObj = JSON.parse(dataPre);\r\n switch (orderObj.ErrResult) {\r\n case 0: // Normal order\r\n finishPre(true);\r\n break;\r\n case 4: // No orders\r\n finishPre(true);\r\n break;\r\n case 3: // CstPoint not active\r\n setIsActive(false);\r\n setModalText(\r\n appStore.hasConsented\r\n ? 'Παρακαλώ επικοινωνήστε με ECOELASTIKA (κος Τατσιόπουλος 210 61.28.260) για την ενεργοποίηση του λογαριασμού σας'\r\n : 'Παρακαλώ υπογράψτε τους όρους συνεργασίας και επικοινωνήστε με ECOELASTIKA (κος Τατσιόπουλος 210 61.28.260) για την ενεργοποίηση του λογαριασμού σας',\r\n );\r\n finishPre(true);\r\n break;\r\n default:\r\n console.log(orderObj.ErrMessage);\r\n }\r\n }\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [dataPre, errorPre]);\r\n // -------------------------------------------------------------------\r\n\r\n /*-------------------- Handlers -------------------------------------------*/\r\n const handleSubmit = _email => {\r\n console.log('Submit YEAR:', ' Email', _email);\r\n setEmailChecked(_email);\r\n reFetchReport();\r\n };\r\n\r\n useWhyDidYouUpdate('[CertificateView]', {\r\n email: emailChecked,\r\n busy,\r\n });\r\n\r\n /*-------------------- Render ---------------------------------------------*/\r\n return (\r\n <>\r\n {finishPre() && (\r\n <>\r\n {!isActive || (appStore.inUseAgreementId !== null && !appStore.hasConsented) ? (\r\n props.history.push(ROUTES.CstPoint)}\r\n />\r\n ) : (\r\n \r\n )}\r\n \r\n )}\r\n\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default CertificateView;\r\n","import { useState, useEffect } from 'react';\r\nimport useAxios from '@use-hooks/axios';\r\nimport { oc } from 'ts-optchain';\r\nimport { useRootStore } from '../store';\r\nimport { useSt8, useWhyDidYouUpdate } from '../hooks';\r\nimport { saveAs } from 'file-saver';\r\nimport { base64StringToBlob } from 'blob-util';\r\nimport { getType } from 'mime/lite';\r\n/*\r\n###\r\nhttp://motion-2012:8085/webapi/YearCertificateALL.cshtml?CstPointId=10&Year=2017&Type=BLOB&User=h.sarris@gmail.com\r\n###\r\n\r\n###\r\nhttp://motion-2012:8085/webapi/PeriodCertificateAll.cshtml?CstPointId=10&From=01/01/2014&To=01/01/2017&Type=BLOB&User=h.sarris@gmail.com\r\n###\r\n\r\n###\r\nhttp://motion-2012:8085/webapi/OrderCertificateALL.cshtml?OrderId=3000&Type=BLOB&User=h.sarris@gmail.com\r\n###\r\n*/\r\n\r\nexport const useCertificateQuery = (type: 'BLOB' | 'EMAIL', pointId = 0) => {\r\n const { appStore } = useRootStore();\r\n const [message, setMessage] = useState('');\r\n const [load, setLoad] = useState(false);\r\n const [finish, setFinish] = useState(false);\r\n\r\n let url = appStore.webapi + `Certificate.cshtml?`;\r\n\r\n url = url + `CstPointId=${pointId}&`;\r\n\r\n url = url + `Type=${type}&User=${appStore.user}`;\r\n\r\n console.log(url);\r\n\r\n const { response, loading, error, reFetch } = useAxios({\r\n url,\r\n method: 'GET',\r\n });\r\n const data = oc(response).data();\r\n\r\n /* --Το effect τρεχει οταν αλλάζει το loading/error */\r\n useEffect(() => {\r\n if (loading) {\r\n setLoad(true);\r\n setFinish(false);\r\n }\r\n if (!loading && !!data && load) {\r\n setLoad(false);\r\n setMessage(data.ErrMessage);\r\n if (data.ErrResult === 0) {\r\n if (type === 'BLOB') {\r\n const type = getType('pdf');\r\n const blob = base64StringToBlob(data.Blob, type);\r\n const isWebView =\r\n navigator.userAgent.includes('wv') || navigator.userAgent.includes('EcopointWeb');\r\n if (isWebView) {\r\n window.postMessage('/webapi/PDF/' + data.Filename, '*');\r\n } else {\r\n saveAs(blob, data.Filename);\r\n }\r\n }\r\n }\r\n setFinish(true);\r\n }\r\n }, [loading, load, error, type, data]);\r\n\r\n useWhyDidYouUpdate('[useCertificateQuery]', { url, loading, data, error, load, finish });\r\n return {\r\n data,\r\n load,\r\n loading,\r\n busy: load || loading,\r\n finish,\r\n error,\r\n reFetch,\r\n };\r\n};\r\n","import React, { FC, useEffect, useState } from 'react';\r\nimport { Form, Button, Card, Alert, OverlayTrigger, Tooltip, Row } from 'react-bootstrap';\r\nimport { FaInfoCircle } from 'react-icons/fa';\r\nimport * as yup from 'yup';\r\nimport useForm from 'react-hook-form';\r\nimport { oc } from 'ts-optchain';\r\n\r\n// import { useWhyDidYouUpdate, useLogger } from '../../hooks';\r\nimport { OrderRequest, CstPointForm } from '../../models';\r\nimport { useEffectOnce, useLogger } from '../../hooks';\r\nimport FlexRow from '../../components/flex-row';\r\n\r\n/**\r\n * Setup Yup Validation & Type\r\n */\r\nconst validationSchema = yup.object().shape({\r\n Address: yup.string().required(),\r\n Municipality: yup.string().required(),\r\n ZipCode: yup.string().required(),\r\n VAT: yup.string(),\r\n IRS: yup.string(),\r\n ima: yup.string().matches(/^[0-9-]*$/, ''),\r\n Phone1: yup.string().required(),\r\n Phone2: yup.string(),\r\n Phone3: yup.string(),\r\n Fax1: yup.string(),\r\n Email: yup.string().required(),\r\n Contact: yup.string().required(),\r\n});\r\n\r\nexport type CstPointFormData = {\r\n Address: string;\r\n Municipality: string;\r\n ZipCode: string;\r\n VAT: string;\r\n IRS: string;\r\n ima: string;\r\n Phone1: string;\r\n Phone2: string;\r\n Phone3: string;\r\n Fax1: string;\r\n Email: string;\r\n Contact: string;\r\n};\r\n\r\ntype Props = {\r\n cstPoint: CstPointForm;\r\n onSubmit: (data: CstPointFormData) => void;\r\n recordsMun: any;\r\n};\r\n\r\nconst CstPointCard: FC = ({ cstPoint, onSubmit, recordsMun }) => {\r\n //useLogger('[RequestCard]', order.CstPointStatus, order.OrderId);\r\n /*-------------------- Body -----------------------------------------------*/\r\n\r\n const [showAlert, setShowAlert] = useState(true);\r\n\r\n const initialValues = {\r\n Address: cstPoint.Address,\r\n Municipality: cstPoint.Municipality,\r\n ZipCode: cstPoint.ZipCode,\r\n VAT: cstPoint.VAT,\r\n IRS: cstPoint.IRS,\r\n ima: cstPoint.ima,\r\n Phone1: cstPoint.Phone1,\r\n Phone2: cstPoint.Phone2,\r\n Phone3: cstPoint.Phone3,\r\n Fax1: cstPoint.Fax1,\r\n Email: cstPoint.Email,\r\n Contact: cstPoint.Contact,\r\n };\r\n\r\n const { register, handleSubmit, formState, errors, reset, getValues, setValue } = useForm<\r\n CstPointFormData\r\n >({\r\n defaultValues: initialValues,\r\n validationSchema: validationSchema,\r\n mode: 'onBlur',\r\n });\r\n\r\n const canSubmit = formState.dirty && formState.isValid;\r\n\r\n /*-------------------- Handlers -------------------------------------------*/\r\n const handleOnSubmit = (data: CstPointFormData) => {\r\n console.log('Submit:', data);\r\n\r\n onSubmit(data);\r\n };\r\n\r\n const handleAlertDesmiss = () => {\r\n setShowAlert(false);\r\n };\r\n\r\n /*-------------------- Render ---------------------------------------------*/\r\n // useWhyDidYouUpdate('[RequestCard]', { order, formState, errors, sum });\r\n return (\r\n \r\n \r\n Προφίλ Σημείου Συλλογής\r\n \r\n\r\n
\r\n \r\n \r\n Διεύθυνση\r\n \r\n \r\n {'Το πεδίο είναι υποχρεωτικό'}\r\n \r\n \r\n\r\n {/* \r\n Δήμος\r\n \r\n {recordsMun.map(record => {\r\n return (\r\n \r\n );\r\n })}\r\n \r\n \r\n {'Το πεδίο είναι υποχρεωτικό'}\r\n \r\n */}\r\n {recordsMun && (\r\n \r\n )}\r\n\r\n \r\n T.K.\r\n \r\n \r\n {'Το πεδίο είναι υποχρεωτικό'}\r\n \r\n \r\n\r\n \r\n ΑΦΜ\r\n \r\n \r\n\r\n \r\n ΔΟΥ\r\n \r\n \r\n\r\n \r\n Η.Μ.Α.\r\n \r\n \r\n {`Το πεδίο μπορεί να λάβει μόνο αριθμούς και το σύμβολο \" - \"`}\r\n \r\n \r\n\r\n \r\n Τηλέφωνο\r\n \r\n \r\n {'Το πεδίο είναι υποχρεωτικό'}\r\n \r\n \r\n\r\n \r\n Τηλέφωνο 2\r\n \r\n \r\n\r\n \r\n Κινητό\r\n \r\n \r\n\r\n \r\n Fax\r\n \r\n \r\n\r\n \r\n Email\r\n \r\n \r\n {'Το πεδίο είναι υποχρεωτικό'}\r\n \r\n \r\n\r\n \r\n Εκπρόσωπος\r\n \r\n \r\n {'Το πεδίο είναι υποχρεωτικό'}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n reset(initialValues);\r\n }}\r\n disabled={!canSubmit}\r\n >\r\n {'Ακύρωση'}\r\n \r\n \r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nconst SelectMunicipality = ({ recordsMun, register, errors }) => {\r\n const [options, setOptions] = useState();\r\n\r\n useEffectOnce(() => {\r\n let values: any = [];\r\n for (let index = 0; index < recordsMun.length; index++) {\r\n const record = recordsMun[index];\r\n\r\n values.push(\r\n ,\r\n );\r\n }\r\n setOptions(values);\r\n });\r\n\r\n if (!options) return <>...;\r\n else\r\n return (\r\n \r\n Δήμος\r\n \r\n {options}\r\n \r\n\r\n {'Το πεδίο είναι υποχρεωτικό'}\r\n \r\n );\r\n};\r\n\r\nexport default CstPointCard;\r\n","import React, { FC, useEffect, useState } from 'react';\r\nimport { RouteComponentProps } from 'react-router-dom';\r\nimport useAxios from '@use-hooks/axios';\r\nimport { oc } from 'ts-optchain';\r\n\r\nimport { useWhyDidYouUpdate, useSt8 } from '../../hooks';\r\nimport { useRootStore } from '../../store';\r\n\r\nimport { CstPointForm, CstPointDb } from '../../models';\r\n\r\nimport CstPointCard, { CstPointFormData } from './cstpoint-card';\r\nimport ModalSpinner from '../../components/modal-spinner';\r\nimport ModalReturn from '../../components/modal-dialog';\r\nimport ModalDialogFull from '../../components/modal-dialog-full';\r\nimport { ROUTES } from '../../routes';\r\nimport { useMunicipalitiesQuery } from '../../api';\r\n\r\ntype Props = RouteComponentProps & {};\r\nconst CstPointView: FC = props => {\r\n /*-------------------- Body -----------------------------------------------*/\r\n const { appStore } = useRootStore();\r\n\r\n const [isActive, setIsActive] = useState(true);\r\n const [finishPre, setFinishPre] = useState(false);\r\n const [finish, setFinish] = useState(false);\r\n const [key, setKey] = useState(1);\r\n const [cstPoint, setCstPoint] = useState();\r\n const [message, setMessage] = useState('');\r\n const [cstPointFormData, setCstPointFormData] = useState({\r\n Address: '',\r\n Municipality: '',\r\n ZipCode: '',\r\n VAT: '',\r\n IRS: '',\r\n ima: '',\r\n Phone1: '',\r\n Phone2: '',\r\n Phone3: '',\r\n Fax1: '',\r\n Email: '',\r\n Contact: '',\r\n });\r\n\r\n if (!appStore.hasConsented && !appStore.isAlerted && appStore.cstPointTypeId === 0) {\r\n setTimeout(function() {\r\n appStore.alert();\r\n props.history.push(ROUTES.Agreement);\r\n }, 500);\r\n }\r\n\r\n const cstPointId = appStore.cstPointId;\r\n const user = appStore.user;\r\n const password = appStore.password;\r\n\r\n // --- Municipalities Query\r\n const {\r\n loading: loadingMun,\r\n error: errorMun,\r\n records: recordsMun,\r\n reFetch: reFetchMun,\r\n } = useMunicipalitiesQuery();\r\n\r\n // --- preCstPoint Hook\r\n const urlPre =\r\n appStore.webapi +\r\n `xGetCstPoint.cshtml?User=${user}` +\r\n `&Pass=${password}` +\r\n `&CstPointId=${cstPointId}`;\r\n\r\n const {\r\n response: responsePre,\r\n loading: loadingPre,\r\n error: errorPre,\r\n reFetch: refetchCstPoint,\r\n } = useAxios({\r\n url: urlPre,\r\n method: 'GET',\r\n trigger: [],\r\n });\r\n const dataPre = oc(responsePre).data(false);\r\n\r\n useEffect(() => {\r\n console.log('Effect');\r\n if (errorPre) {\r\n setMessage('Σφάλμα επικοινωνίας με τον Server!');\r\n } else {\r\n if (dataPre !== false) {\r\n // console.log(JSON.parse(dataPre));\r\n\r\n const cstPointObj: CstPointDb = dataPre;\r\n setCstPoint(cstPointObj);\r\n console.log('done= ', cstPointObj);\r\n setFinishPre(true);\r\n setKey(key + 1);\r\n }\r\n }\r\n }, [dataPre, errorPre]);\r\n\r\n useWhyDidYouUpdate('[CstPointView:1]', {\r\n dataPre,\r\n loadingPre,\r\n errorPre,\r\n finishPre,\r\n cstPoint,\r\n message,\r\n });\r\n\r\n // --- CstPoint Edit/New Order Hook\r\n const url =\r\n appStore.webapi +\r\n `xUpdateCstPoint.cshtml?User=${user}` +\r\n `&Pass=${password}` +\r\n `&CstPointId=${cstPointId}` +\r\n `&NewContact=${cstPointFormData.Contact}` +\r\n `&NewAddress=${cstPointFormData.Address}` +\r\n `&NewMunicipality=${cstPointFormData.Municipality}` +\r\n `&NewZipCode=${cstPointFormData.ZipCode}` +\r\n `&NewPhone1=${cstPointFormData.Phone1}` +\r\n `&NewPhone2=${cstPointFormData.Phone2}` +\r\n `&NewPhone3=${cstPointFormData.Phone3}` +\r\n `&NewFax1=${cstPointFormData.Fax1}` +\r\n `&NewEmail=${cstPointFormData.Email}` +\r\n `&NewIma=${cstPointFormData.ima}`;\r\n const { response, loading, error, reFetch } = useAxios({ url, method: 'GET' });\r\n const data = oc(response).data(false);\r\n\r\n useEffect(() => {\r\n if (data !== false) {\r\n console.log(data);\r\n setFinish(true);\r\n }\r\n }, [data]);\r\n\r\n useWhyDidYouUpdate('[CstPointView:2]', { data, loading, error, cstPointFormData });\r\n\r\n /*-------------------- Handlers -------------------------------------------*/\r\n const handleSubmit = (formData: CstPointFormData) => {\r\n setCstPointFormData(formData);\r\n reFetch();\r\n };\r\n\r\n const handleEndClick = () => {\r\n //props.history.push(ROUTES.Orders);\r\n refetchCstPoint();\r\n setFinish(false);\r\n };\r\n\r\n /*-------------------- Render ---------------------------------------------*/\r\n return (\r\n <>\r\n {finishPre && recordsMun.length > 0 && (\r\n \r\n )}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default CstPointView;\r\n","import React, { FC } from 'react';\r\nimport { RouteComponentProps } from 'react-router-dom';\r\n\r\nimport ModalSpinner from '../../components/modal-spinner';\r\nimport { Card, Form, Button } from 'react-bootstrap';\r\nimport { useRootStore } from '../../store';\r\nimport ModalDialog from '../../components/modal-dialog';\r\nimport './reward-page.css';\r\nimport { FaApple, FaGooglePlay } from 'react-icons/fa';\r\nimport useAxios, { axios } from '@use-hooks/axios';\r\nimport { oc } from 'ts-optchain';\r\n\r\ntype Props = RouteComponentProps & {};\r\n\r\nconst RewardPage: FC = props => {\r\n /*-------------------- Body -----------------------------------------------*/\r\n const { appStore } = useRootStore();\r\n\r\n // --------------------------- preRequest Hook\r\n const cstPointId = appStore.cstPointId;\r\n const user = appStore.user;\r\n const password = appStore.password;\r\n const urlPre =\r\n appStore.webapi +\r\n `CstAwardParticipation.cshtml?User=${user}` +\r\n `&Pass=${password}` +\r\n `&CstPointId=${cstPointId}` +\r\n `&Type=GET`;\r\n\r\n const {\r\n response: responsePre,\r\n loading: loadingPre,\r\n error: errorPre,\r\n reFetch: preRefetch,\r\n } = useAxios({\r\n url: urlPre,\r\n method: 'GET',\r\n trigger: [],\r\n });\r\n const awardNoParticipate = oc(responsePre).data.AwardNoParticipate(undefined);\r\n\r\n /*-------------------- Handlers -------------------------------------------*/\r\n const handleAwardNoParticipateChange = async event => {\r\n if (event.currentTarget.checked) {\r\n alert('checked');\r\n const urlSetNoParticipate =\r\n appStore.webapi +\r\n `CstAwardParticipation.cshtml?User=${user}` +\r\n `&Pass=${password}` +\r\n `&CstPointId=${cstPointId}` +\r\n `&Type=SET` +\r\n `&Value=true`;\r\n await axios.get(urlSetNoParticipate);\r\n preRefetch();\r\n } else {\r\n alert('Επικοινωνήστε με την EcoElastika για να συμμετάσχετε ξανά.');\r\n const chBox: any = document.getElementById('awardNoParticipate');\r\n if (chBox) chBox.checked = true;\r\n }\r\n };\r\n // const handleSubmit = (formData: AgreementFormData) => {\r\n // setAgreement({ ...formData, AgreementId: calculateWichAgreementId() });\r\n // appStore.consent();\r\n // submit();\r\n // };\r\n\r\n /*-------------------- Render ---------------------------------------------*/\r\n return (\r\n <>\r\n \r\n \r\n \r\n Όροι Επιβράβευσης\r\n \r\n {awardNoParticipate != undefined && (\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n

\r\n Πρόγραμμα Ανταμοιβής\r\n

\r\n
\r\n

\r\n H Ecoelastika επιβραβεύει τα \r\n \r\n ecoelastikaspots\r\n \r\n  που δίνουν αποκλειστικά την παραγγελία τους εδώ! Μέσω της εφαρμογής{' '}\r\n Ecopoint.\r\n

\r\n

\r\n Διεκδικήστε με τη λήξη κάθε έτους προπληρωμένες δωροκάρτες SPENDEO Edenred αξίας 250€.\r\n

\r\n

\r\n \r\n Διαβάστε τους όρους συμμετοχής\r\n \r\n

\r\n
\r\n {\r\n window.open(\r\n './ECOELASTIKA_ΟΡΟΙ ΚΑΙ ΠΡΟΎΠΟΘΕΣΕΙΣ_LOYALTY_BT FINAL 14.07.2023.pdf',\r\n '_blank',\r\n 'noreferrer',\r\n );\r\n }}\r\n >\r\n Όροι Συμμετοχής\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n );\r\n};\r\nexport default RewardPage;\r\n","import React, { FC, useCallback, useState } from 'react';\r\nimport styled from 'styled-components';\r\nimport { observer } from 'mobx-react';\r\nimport { Route, Switch, Redirect, useHistory, useLocation } from 'react-router-dom';\r\nimport { Container, Card } from 'react-bootstrap';\r\nimport { useWhyDidYouUpdate } from '../hooks';\r\nimport { useRootStore } from '../store';\r\nimport UserCard from './user-card';\r\nimport Footer from './footer';\r\nimport Header from './header';\r\nimport withSizes from 'react-sizes';\r\nimport { ROUTES } from '../routes';\r\nimport './banner.css';\r\n\r\n/**\r\n * LOOKUP TABLE\r\n *\r\n * Οργανώνω τα routes σε έναν πίνακα για να αναφέρομαι σε αυτά με το static\r\n * name και όχι με το string\r\n */\r\nimport AboutView from '../views/about';\r\nimport ChangePassView from '../views/change-pass';\r\nimport ForgotPassView from '../views/forgot-pass';\r\nimport LoginView from '../views/login';\r\nimport LogoutView from '../views/logout';\r\nimport OrdersView from '../views/orders';\r\nimport Orders2View from '../views/orders2';\r\nimport PeriodReportView from '../views/period-report';\r\nimport NewUserView from '../views/new-user';\r\nimport RequestView from '../views/request';\r\nimport Request2View from '../views/request2';\r\nimport SelectPointView from '../views/select-point';\r\nimport YearReportView from '../views/year-report';\r\nimport AgreementView from '../views/agreement';\r\nimport NewAgreementView from '../views/agreement-new';\r\nimport CertificateView from '../views/certificate';\r\nimport CstPointView from '../views/cstpoint';\r\nimport { FaGift, FaUser } from 'react-icons/fa';\r\nimport RewardPage from '../views/reward';\r\nimport { AgreementTypes } from '../common/constants';\r\n\r\n/******************************************************************************\r\n * Ειδικό component για να \"κρύψω\" τα routes που δεν θέλω να υπάρχουν όταν\r\n * ο χρήστης δεν έχει κάνει ακόμα login. Στην ουσία είναι κατα συνθήκη είτε\r\n * Route ή Redirect στο login\r\n */\r\ntype RouteProps = Route['props'] & {\r\n component: React.ComponentType;\r\n};\r\n\r\nconst PrivateRoute: FC = ({ component: Component, ...rest }) => {\r\n const { appStore } = useRootStore();\r\n console.log('PrivateRoute', rest.path, Component.name);\r\n return (\r\n {\r\n if (appStore.isPointSelected) return ;\r\n if (appStore.isLogIn) return ;\r\n return ;\r\n }}\r\n />\r\n );\r\n};\r\n\r\nconst CalcFirstPage = appStore => {\r\n let gotoRoute = ROUTES.CstPoint;\r\n\r\n // Καταστήματα\r\n if (appStore.isTireShop) {\r\n if (!appStore.hasConsented) gotoRoute = ROUTES.NewAgreement;\r\n else if (\r\n appStore.hasConsented &&\r\n appStore.consentedAgreementId !== AgreementTypes.Shops_Sept_2023.toString()\r\n )\r\n gotoRoute = ROUTES.NewAgreement;\r\n else if (!appStore.awardNoParticipate) gotoRoute = ROUTES.Reward;\r\n else gotoRoute = ROUTES.CstPoint;\r\n // Μή Καταστήματα\r\n } else {\r\n if (appStore.showTerms) gotoRoute = ROUTES.Agreement;\r\n else gotoRoute = ROUTES.CstPoint;\r\n }\r\n\r\n console.log('CalcFirstPage', gotoRoute, appStore);\r\n\r\n return gotoRoute;\r\n};\r\n\r\n/*\r\n Έχει το που πάει μετά το SelectPoint\r\n*/\r\nconst SelectRoute: FC = ({ component: Component, ...rest }) => {\r\n const { appStore } = useRootStore();\r\n console.log('SelectRoute', rest.path, Component.name);\r\n\r\n const gotoRoute = CalcFirstPage(appStore);\r\n\r\n return (\r\n {\r\n if (appStore.isPointSelected)\r\n return ;\r\n if (appStore.isLogIn) return ;\r\n return ;\r\n }}\r\n />\r\n );\r\n};\r\n\r\n/******************************************************************************\r\n * Ειδικό component για να δρομολογήσω τα routes σε περίπτωση που ο χρήστης έχει κάνει\r\n * ήδη login\r\n */\r\nconst PublicRoute: FC = ({ component: Component, ...rest }) => {\r\n const { appStore } = useRootStore();\r\n console.log('PublicRoute', rest.path, Component.name);\r\n\r\n const gotoRoute = CalcFirstPage(appStore);\r\n\r\n console.log(\r\n 'PublicRoute gotoRoute',\r\n gotoRoute,\r\n appStore.isTireShop,\r\n appStore.cstPointTypeId,\r\n appStore.awardNoParticipate,\r\n );\r\n\r\n return (\r\n (!appStore.isLogIn ? : )}\r\n />\r\n );\r\n};\r\n\r\n/******************************************************************************\r\n * Βασικό route component AppRoute\r\n *\r\n * Μόνο αυτό χρειάζεται να είναι observer του AppStore, θα μπορούσε όλο το appStore\r\n * να βρίσκεται σαν state σε αυτό το αντικείμενο και να μη χρησιμοποιήσω καθόλου mobx.\r\n *\r\n * Κάθε φορά που γίνεται update το appStore το AppRoute γινεται update και δρομολογεί αναλόγως\r\n * την σελίδα που πρέπει. Με τον τρόπο αυτό οι σελίδες κατά κανόνα δεν χρειάζεται να ελέγχουν\r\n * το login/logout ή κάποιο πεδίο του appStore.\r\n *\r\n */\r\n\r\ntype Props = {\r\n isMobile: Boolean;\r\n};\r\n\r\nconst AppRoute = ({ isMobile }: Props) => {\r\n const { appStore } = useRootStore();\r\n const history = useHistory();\r\n const AbsoluteWrapper = styled.div``;\r\n const location = useLocation();\r\n useWhyDidYouUpdate('[AppRoute]', { appStore });\r\n const isStorePoint = appStore.cstPointTypeId !== 2;\r\n\r\n const ButtonLink = ({ name, path }) => {\r\n //console.log(`pathname: ${location.pathname} and path: ${path}`);\r\n return (\r\n history.push(path)}\r\n style={\r\n location.pathname === path\r\n ? { backgroundColor: '#118000', fontWeight: 'bold', color: 'white' }\r\n : {}\r\n }\r\n >\r\n
{name}
\r\n \r\n );\r\n };\r\n\r\n const SideBar = useCallback(() => {\r\n return (\r\n
\r\n {appStore.isPointSelected && (\r\n \r\n \r\n

Επιλογές Μενού:

\r\n
\r\n \r\n \r\n \r\n \r\n \r\n {appStore.showTerms && }\r\n {appStore.showNewTerms && (\r\n \r\n )}\r\n \r\n Προφίλ  \r\n \r\n \r\n }\r\n path={ROUTES.CstPoint}\r\n />\r\n {appStore.isPointSelected && appStore.isTireShop && (\r\n \r\n Επιβράβευση  \r\n \r\n \r\n }\r\n path={ROUTES.Reward}\r\n />\r\n )}\r\n \r\n )}\r\n
\r\n );\r\n }, [location]);\r\n\r\n return (\r\n \r\n appStore.logOut()}\r\n >\r\n\r\n {appStore.isLogIn && !isMobile ? (\r\n <>\r\n {/* Empty Space for Header Navigation */}\r\n \r\n header-space\r\n \r\n\r\n {/* Banner Σύμβασης*/}\r\n {appStore.isLogIn && appStore.isPointSelected && appStore.showBanner && (\r\n <>\r\n \r\n
\r\n {appStore.bannerText}\r\n
\r\n \r\n \r\n header-space\r\n \r\n \r\n )}\r\n\r\n
\r\n \r\n\r\n
\r\n \r\n {appStore.isPointSelected && (\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n } />\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n ) : (\r\n \r\n )}\r\n\r\n