-
Notifications
You must be signed in to change notification settings - Fork 0
/
.eslintcache
1 lines (1 loc) · 24.8 KB
/
.eslintcache
1
[{"D:\\WEB\\JS\\React\\Lessons\\ict_project\\src\\App.js":"1","D:\\WEB\\JS\\React\\Lessons\\ict_project\\src\\index.js":"2","D:\\WEB\\JS\\React\\Lessons\\ict_project\\src\\components\\Header\\Header.jsx":"3","D:\\WEB\\JS\\React\\Lessons\\ict_project\\src\\components\\MainBlock\\HomePage\\HomePage.jsx":"4","D:\\WEB\\JS\\React\\Lessons\\ict_project\\src\\components\\Other\\NotFound.jsx":"5","D:\\WEB\\JS\\React\\Lessons\\ict_project\\src\\components\\Footer\\Footer.jsx":"6","D:\\WEB\\JS\\React\\Lessons\\ict_project\\src\\components\\MainBlock\\About\\About.jsx":"7","D:\\WEB\\JS\\React\\Lessons\\ict_project\\src\\components\\MainBlock\\Contacts\\Contacts.jsx":"8","D:\\WEB\\JS\\React\\Lessons\\ict_project\\src\\components\\Other\\GoogleMapsWrapper.jsx":"9","D:\\WEB\\JS\\React\\Lessons\\ict_project\\src\\components\\MainBlock\\Team\\TeamItem.jsx":"10","D:\\WEB\\JS\\React\\Lessons\\ict_project\\src\\components\\MainBlock\\Team\\Team.jsx":"11","D:\\WEB\\JS\\React\\Lessons\\ict_project\\src\\components\\MainBlock\\Services\\ServicesItem.jsx":"12","D:\\WEB\\JS\\React\\Lessons\\ict_project\\src\\components\\MainBlock\\Services\\Services.jsx":"13","D:\\WEB\\JS\\React\\Lessons\\ict_project\\src\\components\\Other\\Modal\\Modal.jsx":"14","D:\\WEB\\JS\\React\\Lessons\\ict_project\\src\\components\\MainBlock\\Order\\Order.jsx":"15","D:\\WEB\\JS\\React\\Lessons\\ict_project\\src\\components\\Other\\Validators\\Validator.jsx":"16","D:\\WEB\\JS\\React\\Lessons\\ict_project\\src\\components\\Other\\FormsControls\\FormsControls.jsx":"17","D:\\WEB\\JS\\React\\Lessons\\ict_project\\src\\components\\MainBlock\\Feedback\\Feedback.jsx":"18","D:\\WEB\\JS\\React\\Lessons\\ict_project\\src\\components\\api\\api.js":"19"},{"size":1518,"mtime":1609002278289,"results":"20","hashOfConfig":"21"},{"size":469,"mtime":1609149052949,"results":"22","hashOfConfig":"21"},{"size":1184,"mtime":1608817145089,"results":"23","hashOfConfig":"21"},{"size":2839,"mtime":1609155206966,"results":"24","hashOfConfig":"21"},{"size":170,"mtime":1608472135236,"results":"25","hashOfConfig":"21"},{"size":1147,"mtime":1609184211657,"results":"26","hashOfConfig":"21"},{"size":997,"mtime":1609006963086,"results":"27","hashOfConfig":"21"},{"size":1473,"mtime":1608728520422,"results":"28","hashOfConfig":"21"},{"size":1257,"mtime":1608652666873,"results":"29","hashOfConfig":"21"},{"size":379,"mtime":1608723482054,"results":"30","hashOfConfig":"21"},{"size":821,"mtime":1609083193209,"results":"31","hashOfConfig":"21"},{"size":2224,"mtime":1608931365673,"results":"32","hashOfConfig":"21"},{"size":3244,"mtime":1608983564100,"results":"33","hashOfConfig":"21"},{"size":512,"mtime":1608932283366,"results":"34","hashOfConfig":"21"},{"size":4540,"mtime":1609146238601,"results":"35","hashOfConfig":"21"},{"size":272,"mtime":1608908487995,"results":"36","hashOfConfig":"21"},{"size":428,"mtime":1609004441498,"results":"37","hashOfConfig":"21"},{"size":2629,"mtime":1609146530850,"results":"38","hashOfConfig":"21"},{"size":489,"mtime":1609146202988,"results":"39","hashOfConfig":"21"},{"filePath":"40","messages":"41","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"18dg2ec",{"filePath":"42","messages":"43","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"44"},{"filePath":"45","messages":"46","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"47","messages":"48","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"49"},{"filePath":"50","messages":"51","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"52"},{"filePath":"53","messages":"54","errorCount":0,"warningCount":2,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"55","messages":"56","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"57"},{"filePath":"58","messages":"59","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"60","messages":"61","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"44"},{"filePath":"62","messages":"63","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"44"},{"filePath":"64","messages":"65","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"66"},{"filePath":"67","messages":"68","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"69","messages":"70","errorCount":0,"warningCount":6,"fixableErrorCount":0,"fixableWarningCount":0,"source":"71","usedDeprecatedRules":"72"},{"filePath":"73","messages":"74","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"44"},{"filePath":"75","messages":"76","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"77","usedDeprecatedRules":"44"},{"filePath":"78","messages":"79","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"44"},{"filePath":"80","messages":"81","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"44"},{"filePath":"82","messages":"83","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"84"},{"filePath":"85","messages":"86","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"44"},"D:\\WEB\\JS\\React\\Lessons\\ict_project\\src\\App.js",[],"D:\\WEB\\JS\\React\\Lessons\\ict_project\\src\\index.js",[],["87","88"],"D:\\WEB\\JS\\React\\Lessons\\ict_project\\src\\components\\Header\\Header.jsx",["89"],"D:\\WEB\\JS\\React\\Lessons\\ict_project\\src\\components\\MainBlock\\HomePage\\HomePage.jsx",["90"],"import s from \"./HomePage.module.css\"\r\nimport { Link, Redirect } from 'react-router-dom';\r\nimport OLetter from \"./../../../assets/photos/windmill2.png\"\r\nimport treeImage from \"../../../assets/photos/tree.png\"\r\nimport factory1 from \"../../../assets/photos/factory1.png\"\r\nimport factory2 from \"../../../assets/photos/factory2.png\"\r\nimport man1 from \"../../../assets/photos/man1.png\"\r\nimport man2 from \"../../../assets/photos/man2.png\"\r\n\r\n\r\nexport default function HomePage() {\r\n\r\n\tconst errorMessage = \"Oops, something wrong\" \r\n\r\n return (\r\n \t<div className={s.wrapper}>\r\n \t\t<div className={s.header}>\r\n \t\t\tWelc<img src={OLetter} alt=\"O\" className={s.letter}/>me to the 2D&V\r\n \t\t</div>\r\n \t\t<div className={s.main}> \t\t\t\r\n <div className={s.video}>\r\n <iframe title=\"video\" className={s.videoblock} src=\"https://www.youtube.com/embed/dufFJEM9RzI\" frameBorder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowFullScreen></iframe>\r\n </div>\r\n <div className={s.info}>\r\n <p>One day, <span className={s.infoDark}>oil</span>,\r\n <span className={s.infoDark}> gas </span>\r\n and other<span className={s.infoDark}> exhaustible </span>\r\n sources of energy will run out</p>\r\n <p>but the <span className={s.infoGreen}>sun </span>\r\n will shine for a long time, just like the <span className={s.infoGreen}>wind</span> blows</p>\r\n <p>Our company proposes to step into the future with <span className={s.infoGreen}>\r\n green</span> technologies</p>\r\n <p>such as <span className={s.infoGreen}>solar panels </span>\r\n and <span className={s.infoGreen}>wind farms</span></p>\r\n </div> \r\n \t\t\t<div className={s.lower}>\r\n \t\t\t\t<img src={treeImage} alt={errorMessage} className={s.treeImage}/>\r\n \t\t\t\t<Link to={\"/services\"}>\r\n\t \t\t\t\t<img src={factory1} alt={errorMessage} className={s.factory + \" \" + s.factory1} />\r\n\t \t\t\t\t<div className={s.modal + \" \" + s.first}>\r\n\t \t\t\t\t\t<div className={s.modalLeft}> \t\t\t\t\t\t\r\n\t \t\t\t\t\t\tSAVE THE TREE\r\n\t \t\t\t\t\t</div>\r\n\t \t\t\t\t</div>\t\r\n\t \t\t\t\t<img src={factory2} alt={errorMessage} className={s.factory + \" \" + s.factory2}/>\r\n\t \t\t\t\t<div className={s.modal + \" \" + s.second}>\r\n\t \t\t\t\t\t<div className={s.modalRight}>\r\n\t \t\t\t\t\t\tBUILD A GREEN FUTURE\r\n\t \t\t\t\t\t</div>\r\n\t \t\t\t\t</div>\r\n \t\t\t\t</Link>\r\n \t\t\t\t<img src={man1} alt={errorMessage} className={s.man + \" \" + s.man1} />\r\n \t\t\t\t<img src={man2} alt={errorMessage} className={s.man + \" \" + s.man2} /> \t\t\t\t \t\t\t\t\r\n \t\t\t</div>\r\n \t\t</div>\r\n \t\t\r\n \t</div>\r\n \t)\r\n}\r\n","D:\\WEB\\JS\\React\\Lessons\\ict_project\\src\\components\\Other\\NotFound.jsx",[],["91","92"],"D:\\WEB\\JS\\React\\Lessons\\ict_project\\src\\components\\Footer\\Footer.jsx",["93","94"],"D:\\WEB\\JS\\React\\Lessons\\ict_project\\src\\components\\MainBlock\\About\\About.jsx",[],["95","96"],"D:\\WEB\\JS\\React\\Lessons\\ict_project\\src\\components\\MainBlock\\Contacts\\Contacts.jsx",[],"D:\\WEB\\JS\\React\\Lessons\\ict_project\\src\\components\\Other\\GoogleMapsWrapper.jsx",[],"D:\\WEB\\JS\\React\\Lessons\\ict_project\\src\\components\\MainBlock\\Team\\TeamItem.jsx",[],"D:\\WEB\\JS\\React\\Lessons\\ict_project\\src\\components\\MainBlock\\Team\\Team.jsx",[],["97","98"],"D:\\WEB\\JS\\React\\Lessons\\ict_project\\src\\components\\MainBlock\\Services\\ServicesItem.jsx",[],"D:\\WEB\\JS\\React\\Lessons\\ict_project\\src\\components\\MainBlock\\Services\\Services.jsx",["99","100","101","102","103","104"],"import s from \"./Services.module.css\"\r\nimport ServicesItem from \"./ServicesItem\"\r\nimport ava1 from \"../../../assets/photos/Ava1.jpg\"\r\nimport ava2 from \"../../../assets/photos/Ava2.jpg\"\r\nimport ava3 from \"../../../assets/photos/Ava3.jpg\"\r\n\r\n// Data imports \r\nimport bgImg1 from \"../../../assets/photos/bgImg1.jpg\"\r\nimport bgImg2 from \"../../../assets/photos/bgImg2.png\"\r\nimport bgImg3 from \"../../../assets/photos/bgImg3.jpg\"\r\n\r\nconst names = [\r\n\t\"Solar panel\",\r\n\r\n\t\"Wind farm\",\r\n\r\n\t\"Software implementation\"\r\n]\r\n\r\nconst descriptions = [\r\n\t\"Solar panel with an efficiency of 30% in normal light conditions\",\r\n\r\n\t\"Single-blade or three-blade wind turbine with a capacity of 10 kW with a wind wheel diameter of 7 meters\",\r\n\r\n\t\"Specially designed SOFTWARE for SOLAR PANELS and WIND FARMS\"\r\n]\r\n\r\nconst readMores = [\r\n\t\"They are made of first-class materials of famous world leaders. \\\r\n\t The applied tempered glass of the highest quality provides high indicators of strength of the panel. \\\r\n\t This panel will withstand any hail, snow and wind, and the surface of the panel is not subject to scratches.\",\r\n\r\n\t \"This model of wind turbine in both of its variations, both single-blade and three-blade, \\\r\n\t is mainly designed to meet industrial / commercial electricity needs. After all, its performance varies \\\r\n\t from one to two megawatt-hours of electricity per month, which is usually unnecessary for domestic needs.\",\r\n\r\n\t \"Our special software that collects data from stations and reports on the amount of energy \\\r\n\t generated and emergency situations\"\r\n]\r\n\r\nconst abouts = [\r\n\t[\"Solar panel - 100W * 2 pcs. or 200W * 1pc\",\r\n\t\"Rechargeable battery - maintenance-free specially for FES, 12 V, 80 Ah. * 2 pcs\",\r\n\t\"Inverter - 1000 W\",\r\n\t\"Controller - 10 A; 12 / 24V\",\r\n\t\"Delivery time - within 7-10 days\"],\r\n\r\n\t[\"EnergyWind model - 10 kW\",\r\n\t\"Service life - 25 years\",\r\n\t\"Warranty service - 36 months\",\r\n\t\"Number of blades - 3 pcs\",\r\n\t\"Controller External Energy Wind 5-10 kW\",\r\n\t\"Wind turbine diameter - 7 m\",\r\n\t\"Working range of wind speeds - 3 - 40 m / s\",\r\n\t\"Weight with packaging - 180 kg\",\r\n\t\"Battery voltage - 48 V\"],\r\n\t[]\r\n]\r\n\r\nconst footers = [\r\n\t[\"The service life of solar panels is 20 years\",\r\n\t\"Factory defect warranty - 1 year\",\r\n\t\"Included: solar panels, controller, batteries, inverter (converter)\"],\r\n\r\n\t[\"The service life of wind farm is 25 years\",\r\n\t\"Factory defect warranty - 3 year\"],\r\n\r\n\t[\"SOFTWARE warranty - 1 month\"]\r\n]\r\n\r\nconst bgImgs = [\r\n\tbgImg1,\r\n\tbgImg2,\r\n\tbgImg3\r\n]\r\n\r\nconst prices = [\r\n\t[\"100 000 KZT\", \"30 000 KZT\"],\r\n\t[\"3 000 000 KZT\", \"500 000 KZT\"],\r\n\t[\"\", \"100 000 KZT\"]\r\n]\r\n\r\nconst Thing = 3\r\n\r\nlet services = []\r\n\r\nlet i = 0\r\nwhile (i < Thing) {\r\n\tservices.push({id: i + 1, name: names[i], description: descriptions[i],\r\n\t\treadMore: readMores[i], about: abouts[i], footer: footers[i],\r\n\t\tbgImg: bgImgs[i], price: prices[i]})\r\n\ti++\t\t\r\n}\r\n\r\nexport default function Services() {\r\n return (\r\n \t<div className={s.body}>\r\n \t\t<div className={s.container}>\r\n \t\t\t{services.map(s => <ServicesItem key={s.id} name={s.name}\r\n \t\t\t\tdescription={s.description} readMore={s.readMore}\r\n \t\t\t\tabout={s.about} footer={s.footer}\r\n \t\t\t\tbgImg={s.bgImg} price={s.price} />)}\r\n \t\t</div>\r\n \t</div>\r\n \t);\r\n}",["105","106"],"D:\\WEB\\JS\\React\\Lessons\\ict_project\\src\\components\\Other\\Modal\\Modal.jsx",[],"D:\\WEB\\JS\\React\\Lessons\\ict_project\\src\\components\\MainBlock\\Order\\Order.jsx",["107"],"import { Field, Form } from 'react-final-form'\r\nimport s from \"./Order.module.css\"\r\nimport {Element} from \"../../Other/FormsControls/FormsControls\"\r\nimport { maxLenghtCreator, required} from \"../../Other/Validators/Validator\"\r\nimport loader from \"../../../assets/loaders/loader.svg\"\r\nimport { useState } from 'react';\r\nimport {OrderApi} from \"../../api/api\"\r\nimport Modal from \"../../Other/Modal/Modal\"\r\n\r\nconst Input = Element(\"input\")\r\nconst Textarea = Element(\"textarea\")\r\nconst Select = Element(\"select\")\r\nconst Lenght50 = maxLenghtCreator(50)\r\nconst Lenght500 = maxLenghtCreator(500)\r\n\r\nconst composeValidators = (...validators) => value =>\r\n validators.reduce((error, validator) => error || validator(value), undefined)\r\n\r\n\r\nconst Order = () => {\r\n\r\n\tconst [isLoading, setIsLoading] = useState(false)\r\n\tconst [loaded, setLoaded] = useState(false)\r\n\tconst [error, setError] = useState(false)\r\n\r\n\tconst sendData = async (payload) => {\r\n\t\ttry { \r\n\t\t\tsetIsLoading(true)\r\n\t\t\tconst data = await OrderApi.sendOrder(payload)\r\n\t\t\tsetIsLoading(false)\r\n\t\t\tsetLoaded(true)\r\n\t\t} catch(err) {\r\n\t\t\tsetIsLoading(false)\r\n\t\t\tsetError(true)\r\n\t\t}\t\r\n\t}\r\n\r\n\tconst onSubmit = (payload) => {\r\n\t\tsendData(payload)\r\n\t}\r\n\r\n return (\r\n \t<div className={s.body}>\r\n\t \t<div className={s.container}>\r\n\t\t\t\t<div className={s.form}>\r\n\t\t\t\t\t<Form\r\n\t\t\t\t\tonSubmit={onSubmit}>\r\n\t\t\t\t\t\t{({ handleSubmit, form }) => (\r\n\t\t\t\t\t\t\t<form onSubmit={handleSubmit}>\r\n\t\t\t\t\t\t\t\t<div className={s.form_block}>\r\n\t\t\t\t\t\t\t\t\t<div className={s.block + \" \" + s.name}>\r\n\t\t\t\t\t\t\t\t\t\t<div className={s.title}>\r\n\t\t\t\t\t\t\t\t\t\t\tYour Full name\r\n\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t\t\t\t\t<Field placeholder={\"Full name\"} name={\"name\"} className={s.input}\r\n\t\t\t\t\t\t\t\t\t\t\t\tcomponent={Input} validate={composeValidators(required, Lenght50)}/>\r\n\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t<div className={s.block + \" \" + s.email}>\r\n\t\t\t\t\t\t\t\t\t\t<div className={s.title}>\r\n\t\t\t\t\t\t\t\t\t\t\tYour mail\r\n\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t\t\t\t\t<Field placeholder={\"Mail\"} name={\"email\"} className={s.input}\r\n\t\t\t\t\t\t\t\t\t\t\t\tcomponent={Input} validate={composeValidators(required, Lenght50)} type=\"email\"/>\r\n\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t<div className={s.block + \" \" + s.orders}>\r\n\t\t\t\t\t\t\t\t\t\t<div className={s.title}>\r\n\t\t\t\t\t\t\t\t\t\t\tChoose order\r\n\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t\t\t\t\t<Field name=\"order_type\" validate={required} component={Select} className={s.input + \" \" + s.select}>\r\n\t\t\t\t\t\t\t\t <option />\r\n\t\t\t\t\t\t\t\t <option value=\"WindFarm\" checked>Wind farm</option>\r\n\t\t\t\t\t\t\t\t <option value=\"WindFarmInst\">Wind farm & installation</option>\r\n\t\t\t\t\t\t\t\t <option value=\"Solar\">Solar panel</option>\r\n\t\t\t\t\t\t\t\t <option value=\"SolarInst\">Solar panel & installation</option>\r\n\t\t\t\t\t\t\t\t <option value=\"Software\">Software implementation</option>\r\n\t\t\t\t\t\t\t\t </Field>\r\n\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t<div className={s.block + \" \" + s.description}>\r\n\t\t\t\t\t\t\t\t\t\t<div className={s.title}>\r\n\t\t\t\t\t\t\t\t\t\t\tYour description\r\n\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t\t\t\t\t<Field placeholder={\"Write your description here\"} name={\"message\"} className={s.input + \" \" + s.description}\r\n\t\t\t\t\t\t\t\t\t\t\t\tcomponent={Textarea} validate={Lenght500} type=\"text\"/>\r\n\t\t\t\t\t\t\t\t\t\t</div>\t\t\r\n\t\t\t\t\t\t\t\t\t</div>\t\r\n\t\t\t\t\t\t\t\t\t<div className={s.buttons}>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t<div className={s.buttonBlock}>\r\n\t\t\t\t\t\t\t\t\t\t\t<button disabled={isLoading}className={s.button + \" \" + s.leftButton} type={\"submit\"}>Make order</button>\r\n\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t<div className={s.buttonBlock}>\r\n\t\t\t\t\t\t\t\t\t\t\t<button disabled={isLoading}type=\"button\" onClick={form.reset} className={s.button + \" \" + s.rightButton}>Reset</button>\r\n\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t</div>\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</form>\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t</Form>\r\n\t\t\t\t\t{ isLoading && <img src={loader} alt=\"\" className={s.loader}/> }\t\r\n\t\t\t\t</div> \t\t \t\t\r\n\t \t</div>\r\n\t \t<Modal active={loaded} setActive={setLoaded}>\r\n <p className={s.modal_succes}>Your order has been sent succesfully</p>\r\n <p className={s.modal_succes}>Wait for a reply to your mail within 2 days</p> \r\n </Modal>\r\n <Modal active={error} setActive={setError}>\r\n <p className={s.modal_error}>Something Wrong</p>\r\n <p className={s.modal_error}>Check your email</p> \r\n </Modal> \r\n \t</div>\r\n \t)\r\n}\r\n\r\nexport default Order\r\n","D:\\WEB\\JS\\React\\Lessons\\ict_project\\src\\components\\Other\\Validators\\Validator.jsx",[],"D:\\WEB\\JS\\React\\Lessons\\ict_project\\src\\components\\Other\\FormsControls\\FormsControls.jsx",[],"D:\\WEB\\JS\\React\\Lessons\\ict_project\\src\\components\\MainBlock\\Feedback\\Feedback.jsx",["108"],"import { Field, Form } from 'react-final-form'\r\nimport s from \"./Feedback.module.css\"\r\nimport {Element} from \"../../Other/FormsControls/FormsControls\"\r\nimport { maxLenghtCreator, required} from \"../../Other/Validators/Validator\"\r\nimport {FeedbackApi} from \"../../api/api\"\r\nimport { useState } from 'react';\r\nimport loader from \"../../../assets/loaders/loader.svg\"\r\nimport Modal from \"../../Other/Modal/Modal\"\r\n\r\nconst Textarea = Element(\"textarea\")\r\nconst Lenght500 = maxLenghtCreator(500)\r\n\r\nconst composeValidators = (...validators) => value =>\r\n validators.reduce((error, validator) => error || validator(value), undefined)\r\n\r\nexport default function Feedback() {\r\n\r\n\tconst [isLoading, setIsLoading] = useState(false)\r\n\tconst [loaded, setLoaded] = useState(false)\r\n\r\n\tconst sendData = async (message) => {\r\n\t\ttry { \r\n\t\t\tsetIsLoading(true)\r\n\t\t\tconst data = await FeedbackApi.sendFeedback(message)\r\n\t\t\tsetIsLoading(false)\r\n\t\t\tsetLoaded(true)\r\n\t\t} catch(err) {\r\n\t\t\tconsole.log(err)\r\n\t\t}\t\r\n\t}\r\n\r\n\r\n\tfunction onSubmit(payload) {\r\n\t\tsendData(payload.message)\r\n\t}\r\n\r\n return (\r\n \t<div className={s.body}>\r\n\t \t<div className={s.container}>\r\n \t\t<div className={s.title}>Share us your feedback, we will be very appreciated</div>\r\n\t\t\t\t<div className={s.form}>\r\n\t\t\t\t\t<Form\r\n\t\t\t\t\tonSubmit={onSubmit}>\r\n\t\t\t\t\t\t{({ handleSubmit, form }) => (\r\n\t\t\t\t\t\t\t<form onSubmit={handleSubmit}>\r\n\t\t\t\t\t\t\t\t{isLoading && <img src={loader} alt=\"\" className={s.loader}/> }\r\n\t\t\t\t\t\t\t\t<div className={s.form_block}>\r\n\t\t\t\t\t\t\t\t\t<div className={s.block + \" \" + s.description}>\r\n\t\t\t\t\t\t\t\t\t\t<div className={s.descr}>\r\n\t\t\t\t\t\t\t\t\t\t\t<Field placeholder={\"Write your description here\"} name={\"message\"} className={s.input + \" \" + s.description}\r\n\t\t\t\t\t\t\t\t\t\t\t\tcomponent={Textarea} validate={composeValidators(Lenght500, required)} type=\"text\"/>\r\n\t\t\t\t\t\t\t\t\t\t</div>\t\t\r\n\t\t\t\t\t\t\t\t\t</div>\t\t\r\n\t\t\t\t\t\t\t\t\t<div className={s.buttons}>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t<div className={s.buttonBlock}>\r\n\t\t\t\t\t\t\t\t\t\t\t<button className={s.button + \" \" + s.leftButton} type={\"submit\"}>Send feedback</button>\r\n\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t<div className={s.buttonBlock}>\r\n\t\t\t\t\t\t\t\t\t\t\t<button type=\"button\" onClick={form.reset} className={s.button + \" \" + s.rightButton}>Reset</button>\r\n\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t</div>\t\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</form>\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t</Form>\r\n\t\t\t\t\t<Modal active={loaded} setActive={setLoaded}>\r\n\t <p className={s.modal_succes}>Success</p>\r\n\t <p className={s.modal_succes}>Thank you for your feedback!</p> \r\n \t\t</Modal>\r\n\t\t\t\t</div> \t\t \t\t\r\n\t \t</div>\r\n \t</div>\r\n \t);\r\n}\r\n","D:\\WEB\\JS\\React\\Lessons\\ict_project\\src\\components\\api\\api.js",[],{"ruleId":"109","replacedBy":"110"},{"ruleId":"111","replacedBy":"112"},{"ruleId":"113","severity":1,"message":"114","line":2,"column":8,"nodeType":"115","messageId":"116","endLine":2,"endColumn":13},{"ruleId":"113","severity":1,"message":"117","line":2,"column":16,"nodeType":"115","messageId":"116","endLine":2,"endColumn":24},{"ruleId":"109","replacedBy":"118"},{"ruleId":"111","replacedBy":"119"},{"ruleId":"120","severity":1,"message":"121","line":15,"column":36,"nodeType":"122","endLine":15,"endColumn":51},{"ruleId":"120","severity":1,"message":"121","line":16,"column":43,"nodeType":"122","endLine":16,"endColumn":58},{"ruleId":"109","replacedBy":"123"},{"ruleId":"111","replacedBy":"124"},{"ruleId":"109","replacedBy":"125"},{"ruleId":"111","replacedBy":"126"},{"ruleId":"113","severity":1,"message":"127","line":3,"column":8,"nodeType":"115","messageId":"116","endLine":3,"endColumn":12},{"ruleId":"113","severity":1,"message":"128","line":4,"column":8,"nodeType":"115","messageId":"116","endLine":4,"endColumn":12},{"ruleId":"113","severity":1,"message":"129","line":5,"column":8,"nodeType":"115","messageId":"116","endLine":5,"endColumn":12},{"ruleId":"130","severity":1,"message":"131","line":29,"column":2,"nodeType":"132","messageId":"133","endLine":31,"endColumn":112},{"ruleId":"130","severity":1,"message":"131","line":33,"column":3,"nodeType":"132","messageId":"133","endLine":35,"endColumn":109},{"ruleId":"130","severity":1,"message":"131","line":37,"column":3,"nodeType":"132","messageId":"133","endLine":38,"endColumn":38},{"ruleId":"109","replacedBy":"134"},{"ruleId":"111","replacedBy":"135"},{"ruleId":"113","severity":1,"message":"136","line":29,"column":10,"nodeType":"115","messageId":"116","endLine":29,"endColumn":14},{"ruleId":"113","severity":1,"message":"136","line":24,"column":10,"nodeType":"115","messageId":"116","endLine":24,"endColumn":14},"no-native-reassign",["137"],"no-negated-in-lhs",["138"],"no-unused-vars","'image' is defined but never used.","Identifier","unusedVar","'Redirect' is defined but never used.",["137"],["138"],"react/jsx-no-target-blank","Using target=\"_blank\" without rel=\"noreferrer\" is a security risk: see https://html.spec.whatwg.org/multipage/links.html#link-type-noopener","JSXAttribute",["137"],["138"],["137"],["138"],"'ava1' is defined but never used.","'ava2' is defined but never used.","'ava3' is defined but never used.","no-multi-str","Multiline support is limited to browsers supporting ES5 only.","Literal","multilineString",["137"],["138"],"'data' is assigned a value but never used.","no-global-assign","no-unsafe-negation"]