-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy path.eslintcache
1 lines (1 loc) · 246 KB
/
.eslintcache
1
[{"E:\\Project\\feature\\FoodDude-frontend\\src\\index.js":"1","E:\\Project\\feature\\FoodDude-frontend\\src\\App.js":"2","E:\\Project\\feature\\FoodDude-frontend\\src\\serviceWorker.js":"3","E:\\Project\\feature\\FoodDude-frontend\\src\\HOC\\seo.js":"4","E:\\Project\\feature\\FoodDude-frontend\\src\\components\\staticPages\\RefundPolicy.js":"5","E:\\Project\\feature\\FoodDude-frontend\\src\\components\\staticPages\\TermsOfServices.js":"6","E:\\Project\\feature\\FoodDude-frontend\\src\\components\\staticPages\\PrivacyPolicy.js":"7","E:\\Project\\feature\\FoodDude-frontend\\src\\components\\staticPages\\ContactUS\\Index.js":"8","E:\\Project\\feature\\FoodDude-frontend\\src\\PrivateRoute.js":"9","E:\\Project\\feature\\FoodDude-frontend\\src\\components\\Index.js":"10","E:\\Project\\feature\\FoodDude-frontend\\src\\components\\List.js":"11","E:\\Project\\feature\\FoodDude-frontend\\src\\components\\Offers.js":"12","E:\\Project\\feature\\FoodDude-frontend\\src\\components\\MyAccount.js":"13","E:\\Project\\feature\\FoodDude-frontend\\src\\components\\Thanks.js":"14","E:\\Project\\feature\\FoodDude-frontend\\src\\components\\NotFound.js":"15","E:\\Project\\feature\\FoodDude-frontend\\src\\components\\Login.js":"16","E:\\Project\\feature\\FoodDude-frontend\\src\\components\\Extra.js":"17","E:\\Project\\feature\\FoodDude-frontend\\src\\components\\Register.js":"18","E:\\Project\\feature\\FoodDude-frontend\\src\\components\\TrackOrder.js":"19","E:\\Project\\feature\\FoodDude-frontend\\src\\components\\Checkout.js":"20","E:\\Project\\feature\\FoodDude-frontend\\src\\components\\Invoice.js":"21","E:\\Project\\feature\\FoodDude-frontend\\src\\components\\Detail.js":"22","E:\\Project\\feature\\FoodDude-frontend\\src\\components\\Fail.js":"23","E:\\Project\\feature\\FoodDude-frontend\\src\\components\\staticPages\\AboutUs.js":"24","E:\\Project\\feature\\FoodDude-frontend\\src\\contexts\\OrderContext.js":"25","E:\\Project\\feature\\FoodDude-frontend\\src\\contexts\\AuthContext.js":"26","E:\\Project\\feature\\FoodDude-frontend\\src\\components\\Loader\\index.js":"27","E:\\Project\\feature\\FoodDude-frontend\\src\\components\\common\\Header.js":"28","E:\\Project\\feature\\FoodDude-frontend\\src\\components\\common\\Footer.js":"29","E:\\Project\\feature\\FoodDude-frontend\\src\\components\\PhoneLink\\Index.js":"30","E:\\Project\\feature\\FoodDude-frontend\\src\\components\\common\\SectionHeading.js":"31","E:\\Project\\feature\\FoodDude-frontend\\src\\components\\common\\FontAwesome.js":"32","E:\\Project\\feature\\FoodDude-frontend\\src\\components\\common\\PageTitle.js":"33","E:\\Project\\feature\\FoodDude-frontend\\src\\components\\common\\CardItem.js":"34","E:\\Project\\feature\\FoodDude-frontend\\src\\components\\common\\CouponCard.js":"35","E:\\Project\\feature\\FoodDude-frontend\\src\\components\\common\\CategoriesCarousel.js":"36","E:\\Project\\feature\\FoodDude-frontend\\src\\components\\common\\BankOffers.js":"37","E:\\Project\\feature\\FoodDude-frontend\\src\\BaseUrl.js":"38","E:\\Project\\feature\\FoodDude-frontend\\src\\firebase.js":"39","E:\\Project\\feature\\FoodDude-frontend\\src\\components\\common\\ChooseAddressCard.js":"40","E:\\Project\\feature\\FoodDude-frontend\\src\\components\\common\\CheckoutItem.js":"41","E:\\Project\\feature\\FoodDude-frontend\\src\\components\\common\\HeadingValue.js":"42","E:\\Project\\feature\\FoodDude-frontend\\src\\components\\Input\\Index.js":"43","E:\\Project\\feature\\FoodDude-frontend\\src\\components\\home\\TopSearch.js":"44","E:\\Project\\feature\\FoodDude-frontend\\src\\components\\ReviewCard\\index.js":"45","E:\\Project\\feature\\FoodDude-frontend\\src\\components\\myaccount\\Offers.js":"46","E:\\Project\\feature\\FoodDude-frontend\\src\\components\\myaccount\\Orders.js":"47","E:\\Project\\feature\\FoodDude-frontend\\src\\components\\myaccount\\Favourites.js":"48","E:\\Project\\feature\\FoodDude-frontend\\src\\components\\myaccount\\Payments.js":"49","E:\\Project\\feature\\FoodDude-frontend\\src\\components\\myaccount\\Addresses.js":"50","E:\\Project\\feature\\FoodDude-frontend\\src\\components\\modals\\EditProfileModal.js":"51","E:\\Project\\feature\\FoodDude-frontend\\src\\components\\modals\\AddAddressModal.js":"52","E:\\Project\\feature\\FoodDude-frontend\\src\\components\\cart\\CartDropdownItem.js":"53","E:\\Project\\feature\\FoodDude-frontend\\src\\components\\Spinner\\index.js":"54","E:\\Project\\feature\\FoodDude-frontend\\src\\components\\cart\\Cart.js":"55","E:\\Project\\feature\\FoodDude-frontend\\src\\components\\common\\DropDownTitle.js":"56","E:\\Project\\feature\\FoodDude-frontend\\src\\components\\LinkToLinking\\index.js":"57","E:\\Project\\feature\\FoodDude-frontend\\src\\components\\common\\QuickBite.js":"58","E:\\Project\\feature\\FoodDude-frontend\\src\\components\\Order\\Cart.js":"59","E:\\Project\\feature\\FoodDude-frontend\\src\\components\\staticPages\\Popup\\index.js":"60","E:\\Project\\feature\\FoodDude-frontend\\src\\components\\home\\ProductBox.js":"61","E:\\Project\\feature\\FoodDude-frontend\\src\\components\\common\\PaymentCard.js":"62","E:\\Project\\feature\\FoodDude-frontend\\src\\components\\modals\\DeleteAddressModal.js":"63","E:\\Project\\feature\\FoodDude-frontend\\src\\components\\common\\OrderCard.js":"64","E:\\Project\\feature\\FoodDude-frontend\\src\\components\\modals\\EditAddressModal.js":"65","E:\\Project\\feature\\FoodDude-frontend\\src\\components\\common\\AddressCard.js":"66","E:\\Project\\feature\\FoodDude-frontend\\src\\components\\cart\\CartDropdownHeader.js":"67"},{"size":962,"mtime":1613752608716,"results":"68","hashOfConfig":"69"},{"size":4632,"mtime":1615911011084,"results":"70","hashOfConfig":"69"},{"size":5086,"mtime":1613747744076,"results":"71","hashOfConfig":"69"},{"size":1702,"mtime":1613752607975,"results":"72","hashOfConfig":"69"},{"size":6807,"mtime":1613752608578,"results":"73","hashOfConfig":"69"},{"size":45269,"mtime":1613839938711,"results":"74","hashOfConfig":"69"},{"size":18382,"mtime":1613752608562,"results":"75","hashOfConfig":"69"},{"size":6395,"mtime":1613839938679,"results":"76","hashOfConfig":"69"},{"size":433,"mtime":1613747741286,"results":"77","hashOfConfig":"69"},{"size":10258,"mtime":1613839938040,"results":"78","hashOfConfig":"69"},{"size":20739,"mtime":1613747741767,"results":"79","hashOfConfig":"69"},{"size":4258,"mtime":1615997545272,"results":"80","hashOfConfig":"69"},{"size":4171,"mtime":1615910766992,"results":"81","hashOfConfig":"69"},{"size":921,"mtime":1613752917115,"results":"82","hashOfConfig":"69"},{"size":873,"mtime":1613747741939,"results":"83","hashOfConfig":"69"},{"size":17230,"mtime":1615911011084,"results":"84","hashOfConfig":"69"},{"size":8876,"mtime":1613747741411,"results":"85","hashOfConfig":"69"},{"size":11662,"mtime":1615911011167,"results":"86","hashOfConfig":"69"},{"size":5828,"mtime":1613747742441,"results":"87","hashOfConfig":"69"},{"size":23444,"mtime":1615998028362,"results":"88","hashOfConfig":"69"},{"size":6975,"mtime":1613747741643,"results":"89","hashOfConfig":"69"},{"size":8720,"mtime":1615910766884,"results":"90","hashOfConfig":"69"},{"size":1418,"mtime":1613752991563,"results":"91","hashOfConfig":"69"},{"size":4310,"mtime":1613752608493,"results":"92","hashOfConfig":"69"},{"size":876,"mtime":1613752608631,"results":"93","hashOfConfig":"69"},{"size":3109,"mtime":1615997545557,"results":"94","hashOfConfig":"69"},{"size":223,"mtime":1613752608114,"results":"95","hashOfConfig":"69"},{"size":9335,"mtime":1615911011230,"results":"96","hashOfConfig":"69"},{"size":3447,"mtime":1613752608361,"results":"97","hashOfConfig":"69"},{"size":10362,"mtime":1615911011088,"results":"98","hashOfConfig":"69"},{"size":795,"mtime":1613839938527,"results":"99","hashOfConfig":"69"},{"size":431,"mtime":1613747742874,"results":"100","hashOfConfig":"69"},{"size":642,"mtime":1613747743144,"results":"101","hashOfConfig":"69"},{"size":2757,"mtime":1613752608314,"results":"102","hashOfConfig":"69"},{"size":1870,"mtime":1613747742834,"results":"103","hashOfConfig":"69"},{"size":3639,"mtime":1613747742764,"results":"104","hashOfConfig":"69"},{"size":1530,"mtime":1613747742686,"results":"105","hashOfConfig":"69"},{"size":104,"mtime":1613747741185,"results":"106","hashOfConfig":"69"},{"size":991,"mtime":1613752608647,"results":"107","hashOfConfig":"69"},{"size":1397,"mtime":1613752889660,"results":"108","hashOfConfig":"69"},{"size":3102,"mtime":1613752608361,"results":"109","hashOfConfig":"69"},{"size":659,"mtime":1613747742998,"results":"110","hashOfConfig":"69"},{"size":923,"mtime":1613752608045,"results":"111","hashOfConfig":"69"},{"size":9192,"mtime":1613752608415,"results":"112","hashOfConfig":"69"},{"size":1218,"mtime":1614007304710,"results":"113","hashOfConfig":"69"},{"size":1964,"mtime":1615997545479,"results":"114","hashOfConfig":"69"},{"size":3916,"mtime":1615997545520,"results":"115","hashOfConfig":"69"},{"size":6439,"mtime":1613747743505,"results":"116","hashOfConfig":"69"},{"size":3430,"mtime":1613747743581,"results":"117","hashOfConfig":"69"},{"size":4732,"mtime":1615910767767,"results":"118","hashOfConfig":"69"},{"size":2803,"mtime":1613752608462,"results":"119","hashOfConfig":"69"},{"size":5468,"mtime":1615997545274,"results":"120","hashOfConfig":"69"},{"size":792,"mtime":1613747742604,"results":"121","hashOfConfig":"69"},{"size":220,"mtime":1613752608261,"results":"122","hashOfConfig":"69"},{"size":9655,"mtime":1615911011189,"results":"123","hashOfConfig":"69"},{"size":1393,"mtime":1613747742866,"results":"124","hashOfConfig":"69"},{"size":344,"mtime":1613752608091,"results":"125","hashOfConfig":"69"},{"size":4442,"mtime":1615910767626,"results":"126","hashOfConfig":"69"},{"size":3255,"mtime":1613752608129,"results":"127","hashOfConfig":"69"},{"size":441,"mtime":1613752608547,"results":"128","hashOfConfig":"69"},{"size":1155,"mtime":1613747743301,"results":"129","hashOfConfig":"69"},{"size":1547,"mtime":1613747743164,"results":"130","hashOfConfig":"69"},{"size":1476,"mtime":1613752608446,"results":"131","hashOfConfig":"69"},{"size":6053,"mtime":1613752874432,"results":"132","hashOfConfig":"69"},{"size":4767,"mtime":1615997545446,"results":"133","hashOfConfig":"69"},{"size":1740,"mtime":1615910767292,"results":"134","hashOfConfig":"69"},{"size":1591,"mtime":1613752608308,"results":"135","hashOfConfig":"69"},{"filePath":"136","messages":"137","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"138"},"f5elh7",{"filePath":"139","messages":"140","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"138"},{"filePath":"141","messages":"142","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"138"},{"filePath":"143","messages":"144","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"138"},{"filePath":"145","messages":"146","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"147","usedDeprecatedRules":"138"},{"filePath":"148","messages":"149","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"150","usedDeprecatedRules":"138"},{"filePath":"151","messages":"152","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"153","usedDeprecatedRules":"138"},{"filePath":"154","messages":"155","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"156","usedDeprecatedRules":"138"},{"filePath":"157","messages":"158","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"138"},{"filePath":"159","messages":"160","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"138"},{"filePath":"161","messages":"162","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"138"},{"filePath":"163","messages":"164","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"138"},{"filePath":"165","messages":"166","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"167","usedDeprecatedRules":"138"},{"filePath":"168","messages":"169","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"170","usedDeprecatedRules":"138"},{"filePath":"171","messages":"172","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"138"},{"filePath":"173","messages":"174","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"175","usedDeprecatedRules":"138"},{"filePath":"176","messages":"177","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"138"},{"filePath":"178","messages":"179","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"180","usedDeprecatedRules":"138"},{"filePath":"181","messages":"182","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"138"},{"filePath":"183","messages":"184","errorCount":0,"warningCount":4,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"185","messages":"186","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"138"},{"filePath":"187","messages":"188","errorCount":0,"warningCount":2,"fixableErrorCount":0,"fixableWarningCount":0,"source":"189","usedDeprecatedRules":"138"},{"filePath":"190","messages":"191","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"138"},{"filePath":"192","messages":"193","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"194","usedDeprecatedRules":"138"},{"filePath":"195","messages":"196","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"138"},{"filePath":"197","messages":"198","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"199","usedDeprecatedRules":"138"},{"filePath":"200","messages":"201","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"138"},{"filePath":"202","messages":"203","errorCount":0,"warningCount":5,"fixableErrorCount":0,"fixableWarningCount":0,"source":"204","usedDeprecatedRules":"138"},{"filePath":"205","messages":"206","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"138"},{"filePath":"207","messages":"208","errorCount":0,"warningCount":2,"fixableErrorCount":0,"fixableWarningCount":0,"source":"209","usedDeprecatedRules":"138"},{"filePath":"210","messages":"211","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"212","usedDeprecatedRules":"138"},{"filePath":"213","messages":"214","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"138"},{"filePath":"215","messages":"216","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"138"},{"filePath":"217","messages":"218","errorCount":0,"warningCount":2,"fixableErrorCount":0,"fixableWarningCount":0,"source":"219","usedDeprecatedRules":"138"},{"filePath":"220","messages":"221","errorCount":0,"warningCount":2,"fixableErrorCount":0,"fixableWarningCount":0,"source":"222","usedDeprecatedRules":"138"},{"filePath":"223","messages":"224","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"138"},{"filePath":"225","messages":"226","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"138"},{"filePath":"227","messages":"228","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"138"},{"filePath":"229","messages":"230","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"138"},{"filePath":"231","messages":"232","errorCount":0,"warningCount":3,"fixableErrorCount":0,"fixableWarningCount":0,"source":"233","usedDeprecatedRules":"138"},{"filePath":"234","messages":"235","errorCount":0,"warningCount":2,"fixableErrorCount":0,"fixableWarningCount":0,"source":"236","usedDeprecatedRules":"138"},{"filePath":"237","messages":"238","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"138"},{"filePath":"239","messages":"240","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"138"},{"filePath":"241","messages":"242","errorCount":0,"warningCount":3,"fixableErrorCount":0,"fixableWarningCount":0,"source":"243","usedDeprecatedRules":"138"},{"filePath":"244","messages":"245","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"138"},{"filePath":"246","messages":"247","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"138"},{"filePath":"248","messages":"249","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"250","usedDeprecatedRules":"138"},{"filePath":"251","messages":"252","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"138"},{"filePath":"253","messages":"254","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"138"},{"filePath":"255","messages":"256","errorCount":0,"warningCount":2,"fixableErrorCount":0,"fixableWarningCount":0,"source":"257","usedDeprecatedRules":"138"},{"filePath":"258","messages":"259","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"260","usedDeprecatedRules":"138"},{"filePath":"261","messages":"262","errorCount":0,"warningCount":3,"fixableErrorCount":0,"fixableWarningCount":0,"source":"263","usedDeprecatedRules":"138"},{"filePath":"264","messages":"265","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"138"},{"filePath":"266","messages":"267","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"138"},{"filePath":"268","messages":"269","errorCount":0,"warningCount":2,"fixableErrorCount":0,"fixableWarningCount":0,"source":"270","usedDeprecatedRules":"138"},{"filePath":"271","messages":"272","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"138"},{"filePath":"273","messages":"274","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"138"},{"filePath":"275","messages":"276","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"138"},{"filePath":"277","messages":"278","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"138"},{"filePath":"279","messages":"280","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"138"},{"filePath":"281","messages":"282","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"138"},{"filePath":"283","messages":"284","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"138"},{"filePath":"285","messages":"286","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"138"},{"filePath":"287","messages":"288","errorCount":0,"warningCount":2,"fixableErrorCount":0,"fixableWarningCount":0,"source":"289","usedDeprecatedRules":"138"},{"filePath":"290","messages":"291","errorCount":0,"warningCount":3,"fixableErrorCount":0,"fixableWarningCount":0,"source":"292","usedDeprecatedRules":"138"},{"filePath":"293","messages":"294","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"295","usedDeprecatedRules":"138"},{"filePath":"296","messages":"297","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"138"},"E:\\Project\\feature\\FoodDude-frontend\\src\\index.js",[],["298","299"],"E:\\Project\\feature\\FoodDude-frontend\\src\\App.js",[],"E:\\Project\\feature\\FoodDude-frontend\\src\\serviceWorker.js",[],"E:\\Project\\feature\\FoodDude-frontend\\src\\HOC\\seo.js",[],"E:\\Project\\feature\\FoodDude-frontend\\src\\components\\staticPages\\RefundPolicy.js",["300"],"import React from 'react';\r\nimport { Row, Col, Container } from 'react-bootstrap';\r\nimport SectionHeading from '../common/SectionHeading';\r\nfunction AboutUs(props) {\r\n return (\r\n <>\r\n <section className=\"section pt-5 pb-5 bg-white homepage-add-section food-background\">\r\n <Container>\r\n <Row>\r\n <Col md={12} xs={12}>\r\n <blockquote\r\n class=\"blockquote blockquote-custom p-5 shadow rounded\"\r\n style={{ background: 'white' }}\r\n >\r\n <SectionHeading heading=\"Refund/Cancellation Policy\" subHeading=\"\" />\r\n <div class=\"mb-0 mt-2 \" style={{ fontSize: '16px', color: 'black' }}>\r\n <ul>\r\n <li>\r\n You acknowledge that your cancellation( attempted or purported) of an Order\r\n shall amount to a breach of your unconditional and irrevocable authorization\r\n in favour of Fooddude to place that Order against the Restaurant /Store(s)\r\n on your behalf (“Authorization Breach\"). In the event you commit an\r\n Authorization Breach, you shall be liable to pay the liquidated damages of\r\n an amount equivalent to the Order Value. You hereby authorize Fooddude to\r\n deduct or collect the amount payable as liquidated damages through such\r\n means as Fooddude may determine in its discretion, including without\r\n limitation, by deducting such amount from any payment made towards your next\r\n Order\r\n </li>\r\n <li>\r\n In the event, if You have provided incorrect particulars, e.g., contact\r\n number, delivery address, etc., or You were unresponsive, not reachable, or\r\n unavailable for the fulfillment of the services offered to You, You will not\r\n be eligible for any refunds.\r\n </li>\r\n <li>\r\n {' '}\r\n No replacement/refund / or any other resolution will be provided without\r\n Restaurant’s/Store(s)’ permission.\r\n </li>\r\n <li>\r\n {' '}\r\n For any complaint, concerning the Order which shall include instances but\r\n not be limited to food spillage, foreign object in food, delivery of the\r\n wrong order or food and beverages or Products, poor quality, You will be\r\n required to share the proof of the same before any refund can be provided.\r\n </li>\r\n <li>\r\n {' '}\r\n You shall not be entitled to a refund in case instructions placed along with\r\n the Order are not followed in the form and manner You had intended.\r\n Instructions are followed by the Restaurant /Store on a best-efforts basis.\r\n </li>\r\n <li>\r\n {' '}\r\n All refunds shall be processed in the same manner as they are received,\r\n unless refunds have been provided to You in the form of credits, the refund\r\n amount will reflect in your account based on respective banks policies.\r\n </li>\r\n </ul>\r\n </div>\r\n </blockquote>\r\n </Col>\r\n {/* <Col md={4} xs={6}>\r\n\t\t\t\t\t\t\t\t<blockquote class=\"blockquote blockquote-custom p-5 shadow rounded\" style={{height:'300px',background:'#f0f0f0'}}>\r\n\t\t\t\t\t\t\t\t\t<div class=\"blockquote-custom-icon bg-info shadow-sm\"><i class=\"fa fa-quote-left text-white\"></i></div>\r\n\t\t\t\t\t\t\t\t\t<h4 className=\"mb-2 font-weight-normal\"><span className=\"font-weight-bold\">Quality</span></h4>\r\n\t\t\t\t\t\t\t\t\t<p class=\"mb-0 mt-2 font-italic\">\"Fooddude provides you the best food ranging from several\r\n\t\t\t\t\t\t\tcuisines from the best kitchens throughout the city. We assure you of satisfying your palette minus\r\n\t\t\t\t\t\t\tthe food colours and unnecessary oil.\"</p>\r\n\r\n\t\t\t\t\t\t\t\t</blockquote>\r\n\t\t\t\t\t\t\t</Col>\r\n\t\t\t\t\t\t\t<Col md={4} xs={6}>\r\n\t\t\t\t\t\t\t\t<blockquote class=\"blockquote blockquote-custom p-5 shadow rounded\" style={{background:'#f0f0f0'}}>\r\n\t\t\t\t\t\t\t\t\t<div class=\"blockquote-custom-icon bg-info shadow-sm\"><i class=\"fa fa-quote-left text-white\"></i></div>\r\n\t\t\t\t\t\t\t\t\t<h4 className=\"mb-2 font-weight-normal\"><span className=\"font-weight-bold\">Hygiene</span></h4>\r\n\t\t\t\t\t\t\t\t\t<p class=\"mb-0 mt-2 font-italic\">\"The pandemic has forced us to rethink our\r\n\t\t\t\t\t\t\tsanitary practices. But, Fooddude promises that you'll never have to think twice while ordering from us.\r\n\t\t\t\t\t\t\tOur delivery agents are checked and sanitized regularly\r\n\t\t\t\t\t\t\t and use masks and gloves throughout the process to ensure your food reaches to you safely.\"</p>\r\n\r\n\t\t\t\t\t\t\t\t</blockquote>\r\n\t\t\t\t\t\t\t</Col> */}\r\n </Row>\r\n </Container>\r\n </section>\r\n </>\r\n );\r\n}\r\n\r\nconst options = {\r\n responsive: {\r\n 0: {\r\n items: 1,\r\n },\r\n 600: {\r\n items: 2,\r\n },\r\n 1000: {\r\n items: 4,\r\n },\r\n 1200: {\r\n items: 4,\r\n },\r\n },\r\n\r\n lazyLoad: true,\r\n pagination: false.toString(),\r\n loop: true,\r\n dots: false,\r\n autoPlay: 2000,\r\n nav: true,\r\n navText: [\"<i class='fa fa-chevron-left'></i>\", \"<i class='fa fa-chevron-right'></i>\"],\r\n};\r\n\r\nexport default AboutUs;\r\n","E:\\Project\\feature\\FoodDude-frontend\\src\\components\\staticPages\\TermsOfServices.js",["301"],"import React from 'react';\r\nimport { Row, Col, Container } from 'react-bootstrap';\r\nimport SectionHeading from '../common/SectionHeading';\r\nimport './termsOfServices.css';\r\nfunction AboutUs(props) {\r\n return (\r\n <>\r\n <section className=\"section pt-5 pb-5 bg-white homepage-add-section food-background\">\r\n <Container>\r\n <Row>\r\n <Col md={12} xs={12}>\r\n <blockquote\r\n class=\"blockquote blockquote-custom p-5 shadow rounded\"\r\n style={{ background: 'white' }}\r\n >\r\n <SectionHeading heading=\"Refund/Cancellation Policy\" subHeading=\"\" />\r\n <div class=\"mb-0 mt-2\" style={{ fontSize: '16px', color: 'black' }}>\r\n <div>\r\n <p>\r\n This website is operated by \r\n <strong style={{ color: 'black' }}>\r\n [FOODDUDE, a unit of RITIKJANNAT SOLUTIONS PVT. LTD. ]\r\n </strong>\r\n . Throughout the site, the terms “we”, “us” and “our” refer to\r\n <strong style={{ color: 'black' }}>\r\n [FOODDUDE, a unit of RITIKJANNAT SOLUTIONS PVT. LTD.]\r\n </strong>\r\n . \r\n <strong style={{ color: 'black' }}>\r\n [FOODDUDE, a unit of RITIKJANNAT SOLUTIONS PVT. LTD.]\r\n </strong>\r\n offers this website, including all information, tools and services\r\n available from this site to you, the user, conditioned upon your acceptance\r\n of all terms, conditions, policies and notices stated here.\r\n </p>\r\n <p>\r\n By visiting our site and/ or purchasing something from us, you engage in our\r\n “Service” and agree to be bound by the following terms and conditions\r\n (“Terms of Service”, “Terms”), including those additional terms and\r\n conditions and policies referenced herein and/or available by hyperlink.\r\n These Terms of Service apply to all users of the site, including\r\n without limitation users who are browsers, vendors, customers, merchants,\r\n and/ or contributors of content.\r\n </p>\r\n <p>\r\n Please read these Terms of Service carefully before accessing or using our\r\n website. By accessing or using any part of the site, you agree to be bound\r\n by these Terms of Service. If you do not agree to all the terms and\r\n conditions of this agreement, then you may not access the website or use any\r\n services. If these Terms of Service are considered an offer, acceptance is\r\n expressly limited to these Terms of Service.\r\n </p>\r\n <p>\r\n Any new features or tools which are added to the current store shall also be\r\n subject to the Terms of Service. You can review the most current version of\r\n the Terms of Service at any time on this page. We reserve the right to\r\n update, change or replace any part of these Terms of Service by posting\r\n updates and/or changes to our website. It is your responsibility to check\r\n this page periodically for changes. Your continued use of or access to the\r\n website following the posting of any changes constitutes acceptance of those\r\n changes.\r\n </p>\r\n <p> </p>\r\n <p> </p>\r\n <p style={{ color: 'black' }}>\r\n <strong>\r\n <u>ONLINE STORE TERMS</u>\r\n </strong>\r\n </p>\r\n <p>\r\n By agreeing to these Terms of Service, you represent that you are at least\r\n the age of majority in your state or province of residence, or that you are\r\n the age of majority in your state or province of residence and you have\r\n given us your consent to allow any of your minor dependents to use this\r\n site.\r\n </p>\r\n <p>\r\n You may not use our products for any illegal or unauthorized purpose nor may\r\n you, in the use of the Service, violate any laws in your jurisdiction\r\n (including but not limited to copyright laws).\r\n </p>\r\n <p>\r\n You must not transmit any worms or viruses or any code of a destructive\r\n nature.\r\n </p>\r\n <p>\r\n A breach or violation of any of the Terms will result in an immediate\r\n termination of your Services.\r\n </p>\r\n <p> </p>\r\n <p> </p>\r\n <p style={{ color: 'black' }}>\r\n <strong>\r\n <u>GENERAL CONDITIONS</u>\r\n </strong>\r\n </p>\r\n <p>\r\n We reserve the right to refuse service to anyone for any reason at any time.\r\n </p>\r\n <p>\r\n You understand that your content (not including credit card information),\r\n may be transferred unencrypted and involve (a) transmissions over various\r\n networks; and (b) changes to conform and adapt to technical requirements of\r\n connecting networks or devices. Credit card information is always encrypted\r\n during transfer over networks.\r\n </p>\r\n <p>\r\n You agree not to reproduce, duplicate, copy, sell, resell or exploit any\r\n portion of the Service, use of the Service, or access to the Service or any\r\n contact on the website through which the service is provided, without\r\n express written permission by us.\r\n </p>\r\n <p>\r\n The headings used in this agreement are included for convenience only and\r\n will not limit or otherwise affect these Terms.\r\n </p>\r\n <p> </p>\r\n <p> </p>\r\n <p style={{ color: 'black' }}>\r\n <strong>\r\n <u>ACCURACY, COMPLETENESS AND TIMELINESS OF INFORMATION</u>\r\n </strong>\r\n </p>\r\n <p>\r\n We are not responsible if information made available on this site is not\r\n accurate, complete or current. The material on this site is provided for\r\n general information only and should not be relied upon or used as the sole\r\n basis for making decisions without consulting primary, more accurate, more\r\n complete or more timely sources of information. Any reliance on the material\r\n on this site is at your own risk.\r\n </p>\r\n <p>\r\n This site may contain certain historical information. Historical\r\n information, necessarily, is not current and is provided for your reference\r\n only. We reserve the right to modify the contents of this site at any time,\r\n but we have no obligation to update any information on our site. You agree\r\n that it is your responsibility to monitor changes to our site.\r\n </p>\r\n <p> </p>\r\n <p> </p>\r\n <p style={{ color: 'black' }}>\r\n <strong>\r\n <u>MODIFICATIONS TO THE SERVICE AND PRICES</u>\r\n </strong>\r\n </p>\r\n <p>Prices for our products are subject to change without notice.</p>\r\n <p>\r\n We reserve the right at any time to modify or discontinue the Service (or\r\n any part or content thereof) without notice at any time.\r\n </p>\r\n <p>\r\n We shall not be liable to you or to any third-party for any modification,\r\n price change, suspension or discontinuance of the Service.\r\n </p>\r\n <p> </p>\r\n <p> </p>\r\n <p style={{ color: 'black' }}>\r\n <strong>\r\n <u>PRODUCTS OR SERVICES</u>\r\n </strong>\r\n </p>\r\n <p>\r\n Certain products or services may be available exclusively online through the\r\n website. These products or services may have limited quantities and are\r\n subject to return or exchange only according to our Return Policy.\r\n </p>\r\n <p>\r\n We have made every effort to display as accurately as possible the colors\r\n and images of our products that appear at the store. We cannot guarantee\r\n that your computer monitor's display of any color will be accurate.\r\n </p>\r\n <p>\r\n We reserve the right, but are not obligated, to limit the sales of our\r\n products or Services to any person, geographic region or jurisdiction. We\r\n may exercise this right on a case-by-case basis. We reserve the right to\r\n limit the quantities of any products or services that we offer. All\r\n descriptions of products or product pricing are subject to change at anytime\r\n without notice, at the sole discretion of us. We reserve the right to\r\n discontinue any product at any time. Any offer for any product or service\r\n made on this site is void where prohibited.\r\n </p>\r\n <p>\r\n We do not warrant that the quality of any products, services, information,\r\n or other material purchased or obtained by you will meet your expectations,\r\n or that any errors in the Service will be corrected.\r\n </p>\r\n <p> </p>\r\n <p> </p>\r\n <p style={{ color: 'black' }}>\r\n <strong>\r\n <u>ACCURACY OF BILLING AND ACCOUNT INFORMATION</u>\r\n </strong>\r\n </p>\r\n <p>\r\n We reserve the right to refuse any order you place with us. We may, in our\r\n sole discretion, limit or cancel quantities purchased per person, per\r\n household or per order. These restrictions may include orders placed by or\r\n under the same customer account, the same credit card, and/or orders that\r\n use the same billing and/or shipping address. In the event that we make a\r\n change to or cancel an order, we may attempt to notify you by contacting the\r\n e-mail and/or billing address/phone number provided at the time the order\r\n was made. We reserve the right to limit or prohibit orders that, in our sole\r\n judgment, appear to be placed by dealers, resellers or distributors.\r\n </p>\r\n <p>\r\n You agree to provide current, complete and accurate purchase and account\r\n information for all purchases made at our store. You agree to promptly\r\n update your account and other information, including your email address and\r\n credit card numbers and expiration dates, so that we can complete your\r\n transactions and contact you as needed.\r\n </p>\r\n <p>For more detail, please review our Returns Policy.</p>\r\n <p> </p>\r\n <p> </p>\r\n <p style={{ color: 'black' }}>\r\n <strong>\r\n <u>OPTIONAL TOOLS</u>\r\n </strong>\r\n </p>\r\n <p>\r\n We may provide you with access to third-party tools over which we neither\r\n monitor nor have any control nor input.\r\n </p>\r\n <p>\r\n You acknowledge and agree that we provide access to such tools ”as is” and\r\n “as available” without any warranties, representations or conditions of any\r\n kind and without any endorsement. We shall have no liability whatsoever\r\n arising from or relating to your use of optional third-party tools.\r\n </p>\r\n <p>\r\n Any use by you of optional tools offered through the site is entirely at\r\n your own risk and discretion and you should ensure that you are familiar\r\n with and approve of the terms on which tools are provided by the relevant\r\n third-party provider(s).\r\n </p>\r\n <p>\r\n We may also, in the future, offer new services and/or features through the\r\n website (including, the release of new tools and resources). Such new\r\n features and/or services shall also be subject to these Terms of Service.\r\n </p>\r\n <p> </p>\r\n <p style={{ color: 'black' }}>\r\n <strong>\r\n <u>THIRD-PARTY LINKS</u>\r\n </strong>\r\n </p>\r\n <p>\r\n Certain content, products and services available via our Service may include\r\n materials from third-parties.\r\n </p>\r\n <p>\r\n Third-party links on this site may direct you to third-party websites that\r\n are not affiliated with us. We are not responsible for examining or\r\n evaluating the content or accuracy and we do not warrant and will not have\r\n any liability or responsibility for any third-party materials or websites,\r\n or for any other materials, products, or services of third-parties.\r\n </p>\r\n <p>\r\n We are not liable for any harm or damages related to the purchase or use of\r\n goods, services, resources, content, or any other transactions made in\r\n connection with any third-party websites. Please review carefully the\r\n third-party's policies and practices and make sure you understand them\r\n before you engage in any transaction. Complaints, claims, concerns, or\r\n questions regarding third-party products should be directed to the\r\n third-party.\r\n </p>\r\n <p> </p>\r\n <p style={{ color: 'black' }}>\r\n <strong>\r\n <u>USER COMMENTS, FEEDBACK AND OTHER SUBMISSIONS</u>\r\n </strong>\r\n </p>\r\n <p>\r\n If, at our request, you send certain specific submissions (for example\r\n contest entries) or without a request from us you send creative ideas,\r\n suggestions, proposals, plans, or other materials, whether online, by email,\r\n by postal mail, or otherwise (collectively, 'comments'), you agree that we\r\n may, at any time, without restriction, edit, copy, publish, distribute,\r\n translate and otherwise use in any medium any comments that you forward to\r\n us. We are and shall be under no obligation (1) to maintain any comments in\r\n confidence; (2) to pay compensation for any comments; or (3) to respond to\r\n any comments.\r\n </p>\r\n <p>\r\n We may, but have no obligation to, monitor, edit or remove content that we\r\n determine in our sole discretion are unlawful, offensive, threatening,\r\n libelous, defamatory, pornographic, obscene or otherwise objectionable or\r\n violates any party’s intellectual property or these Terms of Service.\r\n </p>\r\n <p>\r\n You agree that your comments will not violate any right of any third-party,\r\n including copyright, trademark, privacy, personality or other personal or\r\n proprietary right. You further agree that your comments will not contain\r\n libelous or otherwise unlawful, abusive or obscene material, or contain any\r\n computer virus or other malware that could in any way affect the operation\r\n of the Service or any related website. You may not use a false e-mail\r\n address, pretend to be someone other than yourself, or otherwise mislead us\r\n or third-parties as to the origin of any comments. You are solely\r\n responsible for any comments you make and their accuracy. We take no\r\n responsibility and assume no liability for any comments posted by you or any\r\n third-party.\r\n </p>\r\n <p> </p>\r\n <p style={{ color: 'black' }}>\r\n <strong>\r\n <u>PERSONAL INFORMATION</u>\r\n </strong>\r\n </p>\r\n <p>\r\n Your submission of personal information through the store is governed by our\r\n Privacy Policy.\r\n </p>\r\n <p> </p>\r\n <p style={{ color: 'black' }}>\r\n <strong>\r\n <u>ERRORS, INACCURACIES AND OMISSIONS</u>\r\n </strong>\r\n </p>\r\n <p>\r\n Occasionally there may be information on our site or in the Service that\r\n contains typographical errors, inaccuracies or omissions that may relate to\r\n product descriptions, pricing, promotions, offers, product shipping charges,\r\n transit times and availability. We reserve the right to correct any errors,\r\n inaccuracies or omissions, and to change or update information or cancel\r\n orders if any information in the Service or on any related website is\r\n inaccurate at any time without prior notice (including after you have\r\n submitted your order).\r\n </p>\r\n <p>\r\n We undertake no obligation to update, amend or clarify information in the\r\n Service or on any related website, including without limitation, pricing\r\n information, except as required by law. No specified update or refresh date\r\n applied in the Service or on any related website, should be taken to\r\n indicate that all information in the Service or on any related website has\r\n been modified or updated.\r\n </p>\r\n <p> </p>\r\n <p style={{ color: 'black' }}>\r\n <strong>\r\n <u>SECTION 12 - PROHIBITED USES</u>\r\n </strong>\r\n </p>\r\n <p>\r\n In addition to other prohibitions as set forth in the Terms of Service, you\r\n are prohibited from using the site or its content: (a) for any unlawful\r\n purpose; (b) to solicit others to perform or participate in any unlawful\r\n acts; (c) to violate any international, federal, provincial or state\r\n regulations, rules, laws, or local ordinances; (d) to infringe upon or\r\n violate our intellectual property rights or the intellectual property rights\r\n of others; (e) to harass, abuse, insult, harm, defame, slander, disparage,\r\n intimidate, or discriminate based on gender, sexual orientation, religion,\r\n ethnicity, race, age, national origin, or disability; (f) to submit false or\r\n misleading information; (g) to upload or transmit viruses or any other type\r\n of malicious code that will or may be used in any way that will affect the\r\n functionality or operation of the Service or of any related website, other\r\n websites, or the Internet; (h) to collect or track the personal information\r\n of others; (i) to spam, phish, pharm, pretext, spider, crawl, or scrape; (j)\r\n for any obscene or immoral purpose; or (k) to interfere with or circumvent\r\n the security features of the Service or any related website, other websites,\r\n or the Internet. We reserve the right to terminate your use of the Service\r\n or any related website for violating any of the prohibited uses.\r\n </p>\r\n <p> </p>\r\n <p style={{ color: 'black' }}>\r\n <strong>\r\n <u>DISCLAIMER OF WARRANTIES; LIMITATION OF LIABILITY</u>\r\n </strong>\r\n </p>\r\n <p>\r\n We do not guarantee, represent or warrant that your use of our service will\r\n be uninterrupted, timely, secure or error-free.\r\n </p>\r\n <p>\r\n We do not warrant that the results that may be obtained from the use of the\r\n service will be accurate or reliable.\r\n </p>\r\n <p>\r\n You agree that from time to time we may remove the service for indefinite\r\n periods of time or cancel the service at any time, without notice to you.\r\n </p>\r\n <p>\r\n You expressly agree that your use of, or inability to use, the service is at\r\n your sole risk. The service and all products and services delivered to you\r\n through the service are (except as expressly stated by us) provided 'as is'\r\n and 'as available' for your use, without any representation, warranties or\r\n conditions of any kind, either express or implied, including all implied\r\n warranties or conditions of merchantability, merchantable quality, fitness\r\n for a particular purpose, durability, title, and non-infringement.\r\n </p>\r\n <p>\r\n In no case shall\r\n <strong style={{ color: 'black' }}>\r\n [FOODDUDE, a unit of RITIKJANNAT SOLUTIONS PVT. LTD. Company Name]\r\n </strong>\r\n , our directors, officers, employees, affiliates, agents, contractors,\r\n interns, suppliers, service providers or licensors be liable for any injury,\r\n loss, claim, or any direct, indirect, incidental, punitive, special, or\r\n consequential damages of any kind, including, without limitation lost\r\n profits, lost revenue, lost savings, loss of data, replacement costs, or any\r\n similar damages, whether based in contract, tort (including negligence),\r\n strict liability or otherwise, arising from your use of any of the service\r\n or any products procured using the service, or for any other claim related\r\n in any way to your use of the service or any product, including, but not\r\n limited to, any errors or omissions in any content, or any loss or damage of\r\n any kind incurred as a result of the use of the service or any content (or\r\n product) posted, transmitted, or otherwise made available via the service,\r\n even if advised of their possibility. Because some states or jurisdictions\r\n do not allow the exclusion or the limitation of liability for consequential\r\n or incidental damages, in such states or jurisdictions, our liability shall\r\n be limited to the maximum extent permitted by law.\r\n </p>\r\n <p> </p>\r\n <p style={{ color: 'black' }}>\r\n <strong>\r\n <u>INDEMNIFICATION</u>\r\n </strong>\r\n </p>\r\n <p>\r\n You agree to indemnify, defend and hold harmless \r\n <strong style={{ color: 'black' }}>\r\n [FOODDUDE, a unit of RITIKJANNAT SOLUTIONS PVT. LTD. ] \r\n </strong>\r\n and our parent, subsidiaries, affiliates, partners, officers, directors,\r\n agents, contractors, licensors, service providers, subcontractors,\r\n suppliers, interns and employees, harmless from any claim or demand,\r\n including reasonable attorneys’ fees, made by any third-party due to or\r\n arising out of your breach of these Terms of Service or the documents they\r\n incorporate by reference, or your violation of any law or the rights of a\r\n third-party.\r\n </p>\r\n <p> </p>\r\n <p style={{ color: 'black' }}>\r\n <strong>\r\n <u>SEVERABILITY</u>\r\n </strong>\r\n </p>\r\n <p>\r\n In the event that any provision of these Terms of Service is determined to\r\n be unlawful, void or unenforceable, such provision shall nonetheless be\r\n enforceable to the fullest extent permitted by applicable law, and the\r\n unenforceable portion shall be deemed to be severed from these Terms of\r\n Service, such determination shall not affect the validity and enforceability\r\n of any other remaining provisions.\r\n </p>\r\n <p> </p>\r\n <p style={{ color: 'black' }}>\r\n <strong>\r\n <u>TERMINATION</u>\r\n </strong>\r\n </p>\r\n <p>\r\n The obligations and liabilities of the parties incurred prior to the\r\n termination date shall survive the termination of this agreement for all\r\n purposes.\r\n </p>\r\n <p>\r\n These Terms of Service are effective unless and until terminated by either\r\n you or us. You may terminate these Terms of Service at any time by notifying\r\n us that you no longer wish to use our Services, or when you cease using our\r\n site.\r\n </p>\r\n <p>\r\n If in our sole judgment you fail, or we suspect that you have failed, to\r\n comply with any term or provision of these Terms of Service, we also may\r\n terminate this agreement at any time without notice and you will remain\r\n liable for all amounts due up to and including the date of termination;\r\n and/or accordingly may deny you access to our Services (or any part\r\n thereof).\r\n </p>\r\n <p> </p>\r\n <p> </p>\r\n <p style={{ color: 'black' }}>\r\n <strong>\r\n <u>ENTIRE AGREEMENT</u>\r\n </strong>\r\n </p>\r\n <p>\r\n The failure of us to exercise or enforce any right or provision of these\r\n Terms of Service shall not constitute a waiver of such right or provision.\r\n </p>\r\n <p>\r\n These Terms of Service and any policies or operating rules posted by us on\r\n this site or in respect to The Service constitutes the entire agreement and\r\n understanding between you and us and govern your use of the Service,\r\n superseding any prior or contemporaneous agreements, communications and\r\n proposals, whether oral or written, between you and us (including, but not\r\n limited to, any prior versions of the Terms of Service).\r\n </p>\r\n <p>\r\n Any ambiguities in the interpretation of these Terms of Service shall not be\r\n construed against the drafting party.\r\n </p>\r\n <p> </p>\r\n <p style={{ color: 'black' }}>\r\n <strong>\r\n <u>GOVERNING LAW</u>\r\n </strong>\r\n </p>\r\n <p>\r\n These Terms of Service and any separate agreements whereby we provide you\r\n Services shall be governed by and construed in accordance with the laws of\r\n India and jurisdiction of Jaipur, Rajasthan\r\n </p>\r\n <p> </p>\r\n <p> </p>\r\n <p style={{ color: 'black' }}>\r\n <strong>\r\n <u>CHANGES TO TERMS OF SERVICE</u>\r\n </strong>\r\n </p>\r\n <p>\r\n You can review the most current version of the Terms of Service at any time\r\n at this page.\r\n </p>\r\n <p>\r\n We reserve the right, at our sole discretion, to update, change or replace\r\n any part of these Terms of Service by posting updates and changes to our\r\n website. It is your responsibility to check our website periodically for\r\n changes. Your continued use of or access to our website or the Service\r\n following the posting of any changes to these Terms of Service constitutes\r\n acceptance of those changes.\r\n </p>\r\n <p style={{ color: 'black' }}>\r\n <strong>\r\n <u>CONTACT INFORMATION</u>\r\n </strong>\r\n </p>\r\n <p>\r\n Questions about the Terms of Service should be sent to us at \r\n <strong style={{ color: 'black' }}>\r\n <a href=\"mailto:[email protected]\" target=\"_blank\" rel=\"noreferrer\">\r\n [email protected]\r\n </a>\r\n </strong>\r\n .\r\n </p>\r\n <p> </p>\r\n </div>\r\n </div>\r\n </blockquote>\r\n </Col>\r\n </Row>\r\n </Container>\r\n </section>\r\n </>\r\n );\r\n}\r\n\r\nconst options = {\r\n responsive: {\r\n 0: {\r\n items: 1,\r\n },\r\n 600: {\r\n items: 2,\r\n },\r\n 1000: {\r\n items: 4,\r\n },\r\n 1200: {\r\n items: 4,\r\n },\r\n },\r\n\r\n lazyLoad: true,\r\n pagination: false.toString(),\r\n loop: true,\r\n dots: false,\r\n autoPlay: 2000,\r\n nav: true,\r\n navText: [\"<i class='fa fa-chevron-left'></i>\", \"<i class='fa fa-chevron-right'></i>\"],\r\n};\r\n\r\nexport default AboutUs;\r\n","E:\\Project\\feature\\FoodDude-frontend\\src\\components\\staticPages\\PrivacyPolicy.js",["302"],"import React from 'react';\r\nimport { Row, Col, Container } from 'react-bootstrap';\r\nimport SectionHeading from '../common/SectionHeading';\r\nfunction PrivacyPolicy(props) {\r\n return (\r\n <>\r\n <section className=\"section pt-5 pb-5 bg-white homepage-add-section food-background\">\r\n <Container>\r\n <Row>\r\n <Col md={12} xs={12}>\r\n <blockquote\r\n class=\"blockquote blockquote-custom p-5 shadow rounded\"\r\n style={{ background: 'white' }}\r\n >\r\n <SectionHeading heading=\"Privacy Policy\" subHeading=\"\" />\r\n <div class=\"mb-0 mt-2\" style={{ fontSize: '16px', color: '#454040' }}>\r\n <p style={{ color: 'black' }}>\r\n <strong>\r\n <u>WHAT DO WE DO WITH YOUR INFORMATION?</u>\r\n </strong>\r\n </p>\r\n <p>\r\n When you purchase something from our store, as part of the buying and selling\r\n process, we collect the personal information you give us such as your name,\r\n address and email address.\r\n </p>\r\n <p>\r\n When you browse our store, we also automatically receive your computer’s\r\n internet protocol (IP) address in order to provide us with information that\r\n helps us learn about your browser and operating system.\r\n </p>\r\n <p>\r\n Email marketing (if applicable): With your permission, we may send you emails\r\n about our store, new products and other updates.\r\n </p>\r\n <p style={{ color: 'black' }}>\r\n <strong>\r\n <u>CONSENT</u>\r\n </strong>\r\n </p>\r\n <p>How do you get my consent?</p>\r\n <p>\r\n When you provide us with personal information to complete a transaction, verify\r\n your credit card, place an order, arrange for a delivery or return a purchase,\r\n we imply that you consent to our collecting it and using it for that specific\r\n reason only.\r\n </p>\r\n <p>\r\n If we ask for your personal information for a secondary reason, like marketing,\r\n we will either ask you directly for your expressed consent, or provide you with\r\n an opportunity to say no.\r\n </p>\r\n <p>How do I withdraw my consent?</p>\r\n <p>\r\n If after you opt-in, you change your mind, you may withdraw your consent for us\r\n to contact you, for the continued collection, use or disclosure of your\r\n information, at anytime, by contacting us at \r\n <strong>\r\n <a href=\"mailto:[email protected]\" target=\"_blank\" rel=\"noreferrer\">\r\n [email protected]\r\n </a>\r\n \r\n </strong>\r\n or mailing us at: \r\n <strong style={{ color: 'black' }}>\r\n <a\r\n href=\"https://maps.apple.com/?ll=20.2386,85.8397\"\r\n target=\"_blank\"\r\n rel=\"noreferrer\"\r\n >\r\n Head Office.\r\n </a>\r\n </strong>\r\n </p>\r\n <p style={{ color: 'black' }}>\r\n <strong>\r\n <u>DISCLOSURE</u>\r\n </strong>\r\n </p>\r\n <p>\r\n We may disclose your personal information if we are required by law to do so or\r\n if you violate our Terms of Service.\r\n </p>\r\n <p style={{ color: 'black' }}>\r\n <strong>\r\n <u>PAYMENT</u>\r\n </strong>\r\n </p>\r\n <p>\r\n We use Razorpay for processing payments. We/Razorpay do not store your card data\r\n on their servers. The data is encrypted through the Payment Card Industry Data\r\n Security Standard (PCI-DSS) when processing payment. Your purchase transaction\r\n data is only used as long as is necessary to complete your purchase transaction.\r\n After that is complete, your purchase transaction information is not saved.\r\n </p>\r\n <p>\r\n Our payment gateway adheres to the standards set by PCI-DSS as managed by the\r\n PCI Security Standards Council, which is a joint effort of brands like Visa,\r\n MasterCard, American Express and Discover.\r\n </p>\r\n <p>\r\n PCI-DSS requirements help ensure the secure handling of credit card information\r\n by our store and its service providers.\r\n </p>\r\n <p>\r\n For more insight, you may also want to read terms and conditions of razorpay\r\n on \r\n <a href=\"https://www.google.com/url?q=https://razorpay.com&sa=D&source=editors&ust=1612337595002000&usg=AOvVaw05kP8IAddGS3qZalolbPfU\">\r\n Here.\r\n </a>\r\n </p>\r\n <p style={{ color: 'black' }}>\r\n <strong>\r\n <u>THIRD-PARTY SERVICES</u>\r\n </strong>\r\n </p>\r\n <p>\r\n In general, the third-party providers used by us will only collect, use and\r\n disclose your information to the extent necessary to allow them to perform the\r\n services they provide to us.\r\n </p>\r\n <p>\r\n However, certain third-party service providers, such as payment gateways and\r\n other payment transaction processors, have their own privacy policies in respect\r\n to the information we are required to provide to them for your purchase-related\r\n transactions.\r\n </p>\r\n <p>\r\n For these providers, we recommend that you read their privacy policies so you\r\n can understand the manner in which your personal information will be handled by\r\n these providers.\r\n </p>\r\n <p>\r\n In particular, remember that certain providers may be located in or have\r\n facilities that are located a different jurisdiction than either you or us. So\r\n if you elect to proceed with a transaction that involves the services of a\r\n third-party service provider, then your information may become subject to the\r\n laws of the jurisdiction(s) in which that service provider or its facilities are\r\n located.\r\n </p>\r\n <p>\r\n Once you leave our store’s website or are redirected to a third-party\r\n website or application, you are no longer governed by this Privacy Policy or our\r\n website’s Terms of Service.\r\n </p>\r\n <p style={{ color: 'black' }}>\r\n <strong>\r\n <u>LINKS</u>\r\n </strong>\r\n </p>\r\n <p>\r\n When you click on links on our store, they may direct you away from our site. We\r\n are not responsible for the privacy practices of other sites and encourage you\r\n to read their privacy statements.\r\n </p>\r\n <p style={{ color: 'black' }}>\r\n <strong>\r\n <u>SECURITY</u>\r\n </strong>\r\n </p>\r\n <p>\r\n To protect your personal information, we take reasonable precautions and follow\r\n industry best practices to make sure it is not inappropriately lost, misused,\r\n accessed, disclosed, altered or destroyed.\r\n </p>\r\n <p style={{ color: 'black' }}>\r\n <strong>\r\n <u>COOKIES</u>\r\n </strong>\r\n </p>\r\n <p>\r\n We use cookies to maintain session of your user. It is not used to personally\r\n identify you on other websites.\r\n </p>\r\n <p style={{ color: 'black' }}>\r\n <strong>\r\n <u>AGE OF CONSENT</u>\r\n </strong>\r\n </p>\r\n <p>\r\n By using this site, you represent that you are at least the age of majority in\r\n your state or province of residence, or that you are the age of majority in your\r\n state or province of residence and you have given us your consent to allow any\r\n of your minor dependents to use this site.\r\n </p>\r\n <p style={{ color: 'black' }}>\r\n <strong>\r\n <u>CHANGES TO THIS PRIVACY POLICY</u>\r\n </strong>\r\n </p>\r\n <p>\r\n We reserve the right to modify this privacy policy at any time, so please review\r\n it frequently. Changes and clarifications will take effect immediately upon\r\n their posting on the website. If we make material changes to this policy, we\r\n will notify you here that it has been updated, so that you are aware of what\r\n information we collect, how we use it, and under what circumstances, if any, we\r\n use and/or disclose it.\r\n </p>\r\n <p>\r\n If our store is acquired or merged with another company, your information may be\r\n transferred to the new owners so that we may continue to sell products to you.\r\n </p>\r\n <p style={{ color: 'black' }}>\r\n <strong>\r\n <u>QUESTIONS AND CONTACT INFORMATION</u>\r\n </strong>\r\n </p>\r\n <p>\r\n If you would like to: access, correct, amend or delete any personal information\r\n we have about you, register a complaint, or simply want more information contact\r\n our Privacy Compliance Officer at \r\n <strong>\r\n <a href=\"mailto:[email protected]\" target=\"_blank\" rel=\"noreferrer\">\r\n [email protected]\r\n </a>\r\n \r\n </strong>\r\n or by mail at \r\n <strong style={{ color: 'black' }}>\r\n <a\r\n href=\"https://maps.apple.com/?ll=20.2386,85.8397\"\r\n target=\"_blank\"\r\n rel=\"noreferrer\"\r\n >\r\n Head Office.\r\n </a>\r\n </strong>\r\n </p>\r\n <p> </p>\r\n </div>\r\n </blockquote>\r\n </Col>\r\n {/* <Col md={4} xs={6}>\r\n\t\t\t\t\t\t\t\t<blockquote class=\"blockquote blockquote-custom p-5 shadow rounded\" style={{height:'300px',background:'#f0f0f0'}}>\r\n\t\t\t\t\t\t\t\t\t<div class=\"blockquote-custom-icon bg-info shadow-sm\"><i class=\"fa fa-quote-left text-white\"></i></div>\r\n\t\t\t\t\t\t\t\t\t<h4 className=\"mb-2 font-weight-normal\"><span className=\"font-weight-bold\">Quality</span></h4>\r\n\t\t\t\t\t\t\t\t\t<p class=\"mb-0 mt-2 font-italic\">\"Fooddude provides you the best food ranging from several\r\n\t\t\t\t\t\t\tcuisines from the best kitchens throughout the city. We assure you of satisfying your palette minus\r\n\t\t\t\t\t\t\tthe food colours and unnecessary oil.\"</p>\r\n\r\n\t\t\t\t\t\t\t\t</blockquote>\r\n\t\t\t\t\t\t\t</Col>\r\n\t\t\t\t\t\t\t<Col md={4} xs={6}>\r\n\t\t\t\t\t\t\t\t<blockquote class=\"blockquote blockquote-custom p-5 shadow rounded\" style={{background:'#f0f0f0'}}>\r\n\t\t\t\t\t\t\t\t\t<div class=\"blockquote-custom-icon bg-info shadow-sm\"><i class=\"fa fa-quote-left text-white\"></i></div>\r\n\t\t\t\t\t\t\t\t\t<h4 className=\"mb-2 font-weight-normal\"><span className=\"font-weight-bold\">Hygiene</span></h4>\r\n\t\t\t\t\t\t\t\t\t<p class=\"mb-0 mt-2 font-italic\">\"The pandemic has forced us to rethink our\r\n\t\t\t\t\t\t\tsanitary practices. But, Fooddude promises that you'll never have to think twice while ordering from us.\r\n\t\t\t\t\t\t\tOur delivery agents are checked and sanitized regularly\r\n\t\t\t\t\t\t\t and use masks and gloves throughout the process to ensure your food reaches to you safely.\"</p>\r\n\r\n\t\t\t\t\t\t\t\t</blockquote>\r\n\t\t\t\t\t\t\t</Col> */}\r\n </Row>\r\n </Container>\r\n </section>\r\n </>\r\n );\r\n}\r\n\r\nconst options = {\r\n responsive: {\r\n 0: {\r\n items: 1,\r\n },\r\n 600: {\r\n items: 2,\r\n },\r\n 1000: {\r\n items: 4,\r\n },\r\n 1200: {\r\n items: 4,\r\n },\r\n },\r\n\r\n lazyLoad: true,\r\n pagination: false.toString(),\r\n loop: true,\r\n dots: false,\r\n autoPlay: 2000,\r\n nav: true,\r\n navText: [\"<i class='fa fa-chevron-left'></i>\", \"<i class='fa fa-chevron-right'></i>\"],\r\n};\r\n\r\nexport default PrivacyPolicy;\r\n","E:\\Project\\feature\\FoodDude-frontend\\src\\components\\staticPages\\ContactUS\\Index.js",["303"],"import React, { useState } from 'react';\r\nimport './style.css';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faMapMarkerAlt, faPhone, faMobile } from '@fortawesome/free-solid-svg-icons';\r\nimport LocationOffice from '../../../assets/location.jpeg';\r\nconst Index = () => {\r\n const [name, setName] = useState('');\r\n const [email, setEmail] = useState('');\r\n const [comment, setComment] = useState('');\r\n return (\r\n <div className=\"contact\">\r\n <div className=\"contact_card shadow\">\r\n <h3 className=\"contact_card_heading user_select_disable\">GET IN TOUCH</h3>\r\n <div className=\"contact_card_details\">\r\n <div className=\"contact_card_popups\">\r\n <div className=\"contact_card_popups_social user_select_disable\">\r\n Our Social Media handle:{' '}\r\n <a href=\"https://www.facebook.com/wefooddude\" rel=\"noreferrer\" target=\"_blank\">\r\n <i class=\"fa fa-facebook contact_card_popups_socio\" aria-hidden=\"true\"></i>\r\n </a>\r\n <a href=\"https://www.instagram.com/wefooddude/\" rel=\"noreferrer\" target=\"_blank\">\r\n <i class=\"fa fa-instagram contact_card_popups_socio\" aria-hidden=\"true\"></i>\r\n </a>\r\n <a href=\"https://www.linkedin.com/company/70449147/\" rel=\"noreferrer\" target=\"_blank\">\r\n <i class=\"fa fa-linkedin contact_card_popups_socio\" aria-hidden=\"true\"></i>\r\n </a>\r\n <a href=\"https://twitter.com/home\" rel=\"noreferrer\" target=\"_blank\">\r\n <i class=\"fa fa-twitter contact_card_popups_socio\" aria-hidden=\"true\"></i>\r\n </a>\r\n </div>\r\n <div className=\"contact_card_popups_detail\">\r\n <i class=\"fa fa-envelope-o\" aria-hidden=\"true\"></i>{' '}\r\n <a href=\"mailto:info@fooddude\" rel=\"noreferrer\" target=\"_blank\">\r\n Mail: info@fooddude\r\n </a>\r\n </div>\r\n <div className=\"contact_card_popups_detail\">\r\n <FontAwesomeIcon icon={faPhone} />{' '}\r\n <a href=\"tel:+916371830551\" rel=\"noreferrer\" target=\"_blank\">\r\n Phone: +91-6371830551\r\n </a>\r\n </div>\r\n <div className=\"contact_card_popups_detail\">\r\n <i class=\"fa fa-whatsapp\" aria-hidden=\"true\"></i>{' '}\r\n <a href=\"https://wa.me/+916371830551\" rel=\"noreferrer\" target=\"_blank\">\r\n Whatsapp: +91-6371830551\r\n </a>\r\n </div>\r\n <div className=\"contact_card_popups_detail\">\r\n <FontAwesomeIcon icon={faMapMarkerAlt} />{' '}\r\n <a href=\"https://maps.apple.com/?ll=20.2386,85.8397\" rel=\"noreferrer\" target=\"_blank\">\r\n Gouri Nagar,Old Town Samantarapur, Bhubaneswar, Khordha, Orissa, 751002\r\n </a>\r\n </div>\r\n <img src={LocationOffice} alt=\"Office Location\" className=\"contact_card_popups_location\" />\r\n </div>\r\n <div className=\"contact_card_direct\">\r\n <h4 className=\"contact_card_direct_heading user_select_disable\">Leave Us A Comment</h4>\r\n <form action=\"submit\">\r\n <div className=\"contact_card_direct_inputholder\">\r\n <input\r\n value={name}\r\n onChange={(e) => {\r\n setName(e.target.value);\r\n }}\r\n name=\"name\"\r\n type=\"text\"\r\n required\r\n />\r\n <label className={name !== '' && 'labelactive'} for=\"name\">\r\n Name\r\n </label>\r\n </div>\r\n <div className=\"contact_card_direct_inputholder\">\r\n <input\r\n value={email}\r\n onChange={(e) => {\r\n setEmail(e.target.value);\r\n }}\r\n name=\"email\"\r\n type=\"email\"\r\n required\r\n />\r\n <label className={email !== '' && 'labelactive'} for=\"email\">\r\n Email\r\n </label>\r\n </div>\r\n <div className=\"contact_card_direct_inputholder-2\">\r\n <textarea\r\n value={comment}\r\n onChange={(e) => {\r\n setComment(e.target.value);\r\n }}\r\n name=\"comment\"\r\n type=\"text\"\r\n required\r\n />\r\n <label className={`label_alt ${comment !== '' && 'labelactive-2'}`} for=\"comment\">\r\n Message\r\n </label>\r\n </div>\r\n <button disabled={true} type=\"submit\" className=\"contact_card_direct_submit\">\r\n Submit\r\n </button>\r\n </form>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nexport default Index;\r\n","E:\\Project\\feature\\FoodDude-frontend\\src\\PrivateRoute.js",[],"E:\\Project\\feature\\FoodDude-frontend\\src\\components\\Index.js",[],"E:\\Project\\feature\\FoodDude-frontend\\src\\components\\List.js",[],"E:\\Project\\feature\\FoodDude-frontend\\src\\components\\Offers.js",[],"E:\\Project\\feature\\FoodDude-frontend\\src\\components\\MyAccount.js",["304"],"import React from 'react';\r\nimport {Switch,Route} from 'react-router-dom';\r\nimport {NavLink,Link } from 'react-router-dom';\r\nimport {Row,Col,Container,Image} from 'react-bootstrap';\r\nimport Offers from './myaccount/Offers';\r\nimport Orders from './myaccount/Orders';\r\nimport Favourites from './myaccount/Favourites';\r\nimport Payments from './myaccount/Payments';\r\nimport Addresses from './myaccount/Addresses';\r\nimport EditProfileModal from './modals/EditProfileModal';\r\n\r\nfunction MyAccount(props) {\r\n const [editProfile,showEditProfile]=React.useState(false)\r\n const userData=JSON.parse(localStorage.getItem('userData'))\r\n\r\n const hideEditProfile = () => showEditProfile(false);\r\n\r\n\t\r\n \treturn (\r\n \t\t<>\r\n <EditProfileModal show={editProfile} onHide={hideEditProfile}/>\r\n <section className=\"section pt-4 pb-4 osahan-account-page food-background\">\r\n <Container>\r\n <Row>\r\n <Col md={3}>\r\n <div className=\"osahan-account-page-left shadow-sm bg-white h-100\">\r\n <div className=\"border-bottom p-4\">\r\n <div className=\"osahan-user text-center\">\r\n <div className=\"osahan-user-media\">\r\n <h5><u>Your Details</u></h5>\r\n {userData? <div className=\"osahan-user-media-body\" style={{marginTop:'30px'}}>\r\n <h6 className=\"mb-2\">{userData.name?userData.name:null}</h6>\r\n <p className=\"mb-1\">{userData.phone?userData.phone:null}</p>\r\n <p>{userData.email?userData.email:null}</p>\r\n <p className=\"mb-0 text-black font-weight-bold\"><Link to='#' onClick={() => showEditProfile(true)} className=\"text-primary mr-3\"><i className=\"icofont-ui-edit\"></i> EDIT</Link></p>\r\n </div>:null}\r\n </div>\r\n </div>\r\n </div>\r\n <ul className=\"nav flex-column border-0 pt-4 pl-4 pb-4\">\r\n <li className=\"nav-item\">\r\n <NavLink className=\"nav-link\" activeClassName=\"active\" exact to=\"/myaccount/orders\"><i className=\"icofont-food-cart\"></i> Orders</NavLink>\r\n </li>\r\n <li className=\"nav-item\">\r\n <NavLink className=\"nav-link\" activeClassName=\"active\" exact to=\"/myaccount/offers\"><i className=\"icofont-sale-discount\"></i> Offers</NavLink>\r\n </li>\r\n {/* <li className=\"nav-item\">\r\n <NavLink className=\"nav-link\" activeClassName=\"active\" exact to=\"/myaccount/favourites\"><i className=\"icofont-heart\"></i> Favourites</NavLink>\r\n </li>\r\n <li className=\"nav-item\">\r\n <NavLink className=\"nav-link\" activeClassName=\"active\" exact to=\"/myaccount/payments\"><i className=\"icofont-credit-card\"></i> Payments</NavLink>\r\n </li> */}\r\n <li className=\"nav-item\">\r\n <NavLink className=\"nav-link\" activeClassName=\"active\" exact to=\"/myaccount/addresses\"><i className=\"icofont-location-pin\"></i> Addresses</NavLink>\r\n </li>\r\n </ul>\r\n </div>\r\n </Col>\r\n <Col md={9}>\r\n <Switch>\r\n <Route path=\"/myaccount/orders\" exact component={Orders} />\r\n <Route path=\"/myaccount/offers\" exact component={Offers} />\r\n <Route path=\"/myaccount/favourites\" exact component={Favourites} />\r\n <Route path=\"/myaccount/payments\" exact component={Payments} />\r\n <Route path=\"/myaccount/addresses\" exact component={Addresses} />\r\n </Switch>\r\n </Col>\r\n </Row>\r\n </Container>\r\n </section>\r\n \t\t</>\r\n \t);\r\n }\r\n\r\n\r\n\r\nexport default MyAccount;","E:\\Project\\feature\\FoodDude-frontend\\src\\components\\Thanks.js",["305"],"import React, { useEffect } from 'react';\r\nimport { Link } from 'react-router-dom';\r\nimport { Row, Col, Container, Image } from 'react-bootstrap';\r\n\r\nconst Thanks = () => {\r\n return (\r\n <section className=\"section pt-5 pb-5 osahan-not-found-page\">\r\n <Container>\r\n <Row>\r\n <Col md={12} className=\"text-center pt-5 pb-5\">\r\n <Image className=\"img-fluid\" src=\"/img/thanks.png\" alt=\"404\" />\r\n <h1 className=\"mt-2 mb-2\">Congratulations</h1>\r\n <p className=\"mb-5\">ou have successfully placed your order</p>\r\n <Link className=\"btn btn-primary btn-lg\" to=\"/myaccount/orders\">\r\n GO HOME\r\n </Link>\r\n </Col>\r\n </Row>\r\n </Container>\r\n </section>\r\n );\r\n};\r\n\r\nexport default Thanks;\r\n","E:\\Project\\feature\\FoodDude-frontend\\src\\components\\NotFound.js",[],"E:\\Project\\feature\\FoodDude-frontend\\src\\components\\Login.js",["306"],"import React, { useEffect, useRef, useState } from 'react';\r\nimport { Link, useHistory, Redirect } from 'react-router-dom';\r\nimport { useAuth } from '../contexts/AuthContext';\r\nimport { Row, Col, Container, Form, Button, Alert } from 'react-bootstrap';\r\nimport FontAwesome from './common/FontAwesome';\r\nimport { auth, googleProvider } from '../firebase';\r\nimport axios from 'axios';\r\nimport { BaseUrl2, BaseUrl } from '../BaseUrl';\r\nimport './Input/style.css';\r\nimport Input from './Input/Index';\r\nimport Popup from './staticPages/Popup';\r\nimport firebase from 'firebase';\r\nconst asyncLocalStorage = {\r\n setItem: async function (key, value) {\r\n return Promise.resolve().then(function () {\r\n localStorage.setItem(key, value);\r\n });\r\n },\r\n getItem: async function (key) {\r\n return Promise.resolve().then(function () {\r\n return localStorage.getItem(key);\r\n });\r\n },\r\n};\r\n\r\nfunction Login(props) {\r\n const emailRef = useRef();\r\n const passwordRef = useRef();\r\n const { login, currentUser, setCurrentUser, updateCart, signinWithPhone, setUserData } = useAuth();\r\n const [error, setError] = useState('');\r\n const [loading, setLoading] = useState(false);\r\n const history = useHistory();\r\n const [mobile, setMobile] = useState('');\r\n const [otp, setotp] = useState('');\r\n const [disableOTP, setdisableOTP] = useState(false);\r\n const [time, settime] = useState(60);\r\n const [popup, setpopup] = useState(false);\r\n const [loginWithOTP, setloginWithOTP] = useState(true);\r\n const [working, setWorking] = useState(false);\r\n\r\n const toggleType = () => {\r\n setloginWithOTP((prev) => !prev);\r\n };\r\n if (disableOTP) {\r\n setTimeout(() => {\r\n const timePassed = Math.round((Date.now() - disableOTP) / 1000);\r\n if (timePassed >= 60) {\r\n setdisableOTP(false);\r\n settime(60);\r\n return;\r\n }\r\n settime(60 - timePassed);\r\n }, 1000);\r\n }\r\n\r\n const isMobileInvalid = (() => {\r\n const telre = /\\+?\\d[\\d -]{8,12}\\d/;\r\n if (telre.test(String(mobile).toLowerCase()) === false) {\r\n return true;\r\n }\r\n return false;\r\n })();\r\n\r\n async function handleSubmit(e) {\r\n e.preventDefault();\r\n try {\r\n setError('');\r\n setLoading(true);\r\n const result = await login(emailRef.current.value, passwordRef.current.value);\r\n const token = await result.user.getIdToken();\r\n // console.log(token)\r\n const res = await axios.post(\r\n `${BaseUrl}/api/user/getDetails`,\r\n {\r\n uid: result.user.uid,\r\n },\r\n {\r\n headers: { Authorization: token },\r\n }\r\n );\r\n const userData = {\r\n name: res.data.name,\r\n phone: res.data.phone,\r\n email: emailRef.current.value,\r\n uid: result.user.uid,\r\n token: token,\r\n user: result.user,\r\n };\r\n await asyncLocalStorage.setItem('userData', JSON.stringify(userData));\r\n setUserData(userData);\r\n setCurrentUser(result.user);\r\n history.push('/');\r\n updateCart();\r\n } catch {\r\n setError('Failed to log in');\r\n }\r\n\r\n setLoading(false);\r\n }\r\n\r\n const signInWithGoogle = async () => {\r\n try {\r\n const res = await auth.signInWithPopup(googleProvider);\r\n if (res.additionalUserInfo.isNewUser) {\r\n await auth.currentUser.delete().then(() => {\r\n console.log('User Deleted');\r\n });\r\n alert('Create a account first');\r\n history.push('/register');\r\n return;\r\n }\r\n const token = await res.user.getIdToken();\r\n const userData = {\r\n name: res.user.displayName,\r\n phone: res.user.phoneNumber,\r\n email: res.user.email,\r\n uid: res.user.uid,\r\n token: token,\r\n user: res.user,\r\n };\r\n await asyncLocalStorage.setItem('userData', JSON.stringify(userData));\r\n setUserData(userData);\r\n setCurrentUser(res.user);\r\n history.push('/');\r\n } catch (e) {\r\n console.log(error.message);\r\n }\r\n };\r\n const sendOTP = async () => {\r\n setdisableOTP(Date.now());\r\n const verifier = window.recaptchaVerifier;\r\n\r\n try {\r\n await axios.post(`https://fooddude-node.herokuapp.com/api/users/check-user-by-phoneNumber`, {\r\n token: 'FoodDude',\r\n phone: `+91${mobile}`,\r\n });\r\n\r\n // console.log(res);\r\n console.log('Send OTP');\r\n const confirmationResult = await signinWithPhone(`+91${mobile}`, verifier);\r\n setpopup(true);\r\n setTimeout(() => {\r\n setpopup(false);\r\n }, 4100);\r\n window.confirmationResult = confirmationResult; // Used by VerificationCodeForm\r\n } catch (err) {\r\n if (err.message.includes('404')) {\r\n alert('Please create account first!');\r\n history.push('/register');\r\n } else {\r\n alert('OTP Limit reached or network error!', err);\r\n console.log(err.body);\r\n }\r\n }\r\n };\r\n const loginWithPhone = async () => {\r\n setWorking(true);\r\n try {\r\n const res = await window.confirmationResult.confirm(otp);\r\n const token = await res.user.getIdToken();\r\n const userData = {\r\n name: res.user.displayName,\r\n phone: res.user.phoneNumber,\r\n email: res.user.email,\r\n uid: res.user.uid,\r\n token: token,\r\n user: res.user,\r\n };\r\n console.log(userData);\r\n await asyncLocalStorage.setItem('userData', JSON.stringify(userData));\r\n console.log('Done');\r\n setUserData(userData);\r\n setCurrentUser(res.user);\r\n setWorking(false);\r\n history.push('/');\r\n } catch (err) {\r\n setWorking(false);\r\n alert('confirmationResult.confirm() ERROR', err);\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n // Setup recaptcha\r\n if (loginWithOTP && !window.recaptchaVerifier) {\r\n window.recaptchaVerifier = new firebase.auth.RecaptchaVerifier('login-btn', { size: 'invisible' });\r\n window.recaptchaVerifier.render();\r\n }\r\n return () => {\r\n window.recaptchaVerifier = null;\r\n };\r\n }, [loginWithOTP]);\r\n return (\r\n <>\r\n {currentUser && <Redirect to=\"/\" />}\r\n <Container fluid className=\"food-background\">\r\n <Row className=\"rows\">\r\n <Col md={4} lg={6} className=\"d-none cols d-md-flex bg-image hidecol\">\r\n <img\r\n src=\"https://images.unsplash.com/photo-1502301103665-0b95cc738daf?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=700&q=80\"\r\n height=\"700px\"\r\n width=\"800px\"\r\n alt=\"home\"\r\n />\r\n </Col>\r\n <Col md={8} lg={6}>\r\n <div\r\n style={{ position: 'relative' }}\r\n className=\"login pb-5alt\r\npy-5alt d-flex align-items-center py-5\"\r\n >\r\n {popup && <Popup />}\r\n <Container>\r\n <Row className=\"rows\">\r\n <Col\r\n md={9}\r\n lg={8}\r\n className=\" loginbox mx-auto pb-5alt cols\r\npy-5alt pl-5 pr-5\"\r\n >\r\n <h3 className=\"login-heading mb-4 watchmax\">\r\n <img className=\"mr-3\" src=\"/img/logo-fd-round.png\" alt=\"logo\"></img>\r\n Welcome back!\r\n </h3>\r\n {error && <Alert variant=\"danger\">{error}</Alert>}\r\n {loginWithOTP ? (\r\n <>\r\n <p onClick={toggleType} className=\"text-center clickAbleText\">\r\n LOGIN WITH EMAIL ?\r\n </p>\r\n <div className=\"row w100 padzero\">\r\n <div className=\"col padzero pr-2\">\r\n <Input\r\n style={{ backgroundColor: 'transparent' }}\r\n filled={mobile !== ''}\r\n error={isMobileInvalid}\r\n type=\"tel\"\r\n Label=\"Mobile Number(10 Digit Format Only)\"\r\n name=\"Mobile\"\r\n value={mobile}\r\n change={(e) => {\r\n setMobile(e.target.value);\r\n }}\r\n />\r\n <Input\r\n style={{ backgroundColor: 'transparent' }}\r\n filled={mobile !== ''}\r\n error={otp.length < 4}\r\n type=\"number\"\r\n Label=\"OTP\"\r\n name=\"otp\"\r\n value={otp}\r\n change={(e) => {\r\n if (e.target.value.length <= 8) setotp(e.target.value);\r\n }}\r\n />\r\n <Button\r\n id=\"login-btn\"\r\n disabled={\r\n isMobileInvalid ||\r\n disableOTP ||\r\n !window.recaptchaVerifier\r\n }\r\n className=\"btn pl-1 pr-1 btn-lg btn-google font-weight-normal text-white btn-block text-uppercase\"\r\n onClick={sendOTP}\r\n >\r\n SEND OTP {disableOTP && `(Resend in ${time})`}\r\n </Button>\r\n <Button\r\n disabled={isMobileInvalid || otp.length < 4 || working}\r\n className=\"btn pl-1 pr-1 btn-lg btn-google font-weight-normal text-white btn-block text-uppercase\"\r\n onClick={loginWithPhone}\r\n >\r\n Sign In With OTP\r\n </Button>\r\n </div>\r\n </div>\r\n </>\r\n ) : (\r\n <>\r\n <p onClick={toggleType} className=\"text-center clickAbleText\">\r\n LOGIN WITH OTP ?\r\n </p>\r\n <Form onSubmit={handleSubmit}>\r\n <div className=\"form-label-group\">\r\n <Form.Control\r\n type=\"email\"\r\n id=\"inputEmail\"\r\n placeholder=\"Email address\"\r\n ref={emailRef}\r\n />\r\n <Form.Label htmlFor=\"inputEmail\">Email address</Form.Label>\r\n </div>\r\n <div className=\"form-label-group\">\r\n <Form.Control\r\n type=\"password\"\r\n id=\"inputPassword\"\r\n placeholder=\"Password\"\r\n ref={passwordRef}\r\n />\r\n <Form.Label htmlFor=\"inputPassword\">Password</Form.Label>\r\n </div>\r\n\r\n <Button\r\n type=\"submit\"\r\n disabled={loading || working}\r\n className=\"btn btn-lg btn-outline-primary btn-block btn-login text-uppercase font-weight-bold mb-2\"\r\n style={{ marginTop: '30px' }}\r\n >\r\n Sign in\r\n </Button>\r\n </Form>\r\n </>\r\n )}\r\n <hr className=\"my-4\" />\r\n <p className=\"text-center\">LOGIN WITH</p>\r\n <div className=\"row w100 padzero\">\r\n <div className=\"col padzero pr-2\">\r\n <Button\r\n disabled={working}\r\n className=\"btn pl-1 pr-1 btn-lg btn-google font-weight-normal text-white btn-block text-uppercase\"\r\n onClick={signInWithGoogle}\r\n >\r\n <FontAwesome icon=\"google\" className=\"mr-2\" /> Google\r\n </Button>\r\n </div>\r\n </div>\r\n <div style={{ marginBottom: '20px' }} className=\"text-center pt-3\">\r\n Don’t have an account?{' '}\r\n <Link className=\"font-weight-bold\" to=\"/register\">\r\n Sign Up\r\n </Link>\r\n </div>\r\n </Col>\r\n </Row>\r\n </Container>\r\n </div>\r\n </Col>\r\n </Row>\r\n </Container>\r\n </>\r\n );\r\n}\r\n\r\nexport default Login;\r\n","E:\\Project\\feature\\FoodDude-frontend\\src\\components\\Extra.js",[],"E:\\Project\\feature\\FoodDude-frontend\\src\\components\\Register.js",["307"],"import React, { useState } from 'react';\r\nimport { Link, useHistory } from 'react-router-dom';\r\nimport { Row, Col, Container, Form, Button, Alert } from 'react-bootstrap';\r\nimport { useAuth } from '../contexts/AuthContext';\r\nimport FontAwesome from './common/FontAwesome';\r\nimport { auth, googleProvider } from '../firebase';\r\nimport axios from 'axios';\r\nimport Input from './Input/Index';\r\nimport { BaseUrl, BaseUrl2 } from '../BaseUrl';\r\n\r\nconst asyncLocalStorage = {\r\n setItem: async function (key, value) {\r\n return Promise.resolve().then(function () {\r\n localStorage.setItem(key, value);\r\n });\r\n },\r\n getItem: async function (key) {\r\n return Promise.resolve().then(function () {\r\n return localStorage.getItem(key);\r\n });\r\n },\r\n};\r\nfunction Register(props) {\r\n const [name, setname] = useState('');\r\n const [phone, setphone] = useState('');\r\n const [email, setemail] = useState('');\r\n const [password, setpassword] = useState('');\r\n const [passwordConfirm, setpasswordConfirm] = useState('');\r\n const { signup, setCurrentUser, setUserData } = useAuth();\r\n const [error, setError] = useState('');\r\n const [loading, setLoading] = useState(false);\r\n const history = useHistory();\r\n\r\n const submitButtonDisable = (() => {\r\n if (name.length === 0 || password.length <= 8 || passwordConfirm !== password) {\r\n return true;\r\n }\r\n const re = /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\r\n if (re.test(String(email).toLowerCase()) === false) {\r\n return true;\r\n }\r\n const telre = /^[0-9]{10}$/;\r\n if (telre.test(String(phone).toLowerCase()) === false) {\r\n return true;\r\n }\r\n return false;\r\n })();\r\n\r\n async function handleSubmit(e) {\r\n e.preventDefault();\r\n //const UserDetails={ }\r\n if (password !== passwordConfirm) {\r\n return setError('Passwords do not match');\r\n }\r\n\r\n try {\r\n setError('');\r\n setLoading(true);\r\n const result = await signup(email, password);\r\n const token = await result.user.getIdToken();\r\n\r\n const res = await fetch(`${BaseUrl2}/api/users/new`, {\r\n method: 'post',\r\n headers: { 'Content-Type': 'application/json', Authorization: token },\r\n body: JSON.stringify({\r\n name: name,\r\n phone: phone,\r\n email: result.user.email,\r\n uid: result.user.uid,\r\n }),\r\n });\r\n\r\n if (res) {\r\n const userData = {\r\n name: name,\r\n phone: phone,\r\n email: result.user.email,\r\n uid: result.user.uid,\r\n token: token,\r\n user: result.user,\r\n };\r\n await asyncLocalStorage.setItem('userData', JSON.stringify(userData));\r\n setUserData(userData);\r\n setCurrentUser(result.user);\r\n history.push('/');\r\n }\r\n } catch (err) {\r\n console.log(err);\r\n setError('Failed to create an account');\r\n }\r\n\r\n setLoading(false);\r\n }\r\n\r\n const signInWithGoogle = async () => {\r\n await auth\r\n .signInWithPopup(googleProvider)\r\n .then(async (res) => {\r\n setCurrentUser(res.user);\r\n await res.user.getIdToken().then(async (token) => {\r\n await axios\r\n .post(\r\n `${BaseUrl2}/api/users/new`,\r\n {\r\n name: res.user.displayName,\r\n phone: res.user.phoneNumber,\r\n email: res.user.email,\r\n uid: res.user.uid,\r\n },\r\n {\r\n headers: { Authorization: token },\r\n }\r\n )\r\n .catch((err) => console.log(err));\r\n const userData = {\r\n name: res.user.displayName,\r\n phone: res.user.phoneNumber,\r\n email: res.user.email,\r\n uid: res.user.uid,\r\n token: token,\r\n user: res.user,\r\n };\r\n await asyncLocalStorage.setItem('userData', JSON.stringify(userData));\r\n setUserData(userData);\r\n setCurrentUser(res.user);\r\n history.push('/');\r\n });\r\n })\r\n .catch((error) => {\r\n console.log(error.message);\r\n });\r\n };\r\n\r\n return (\r\n <Container fluid className=\"food-background\">\r\n <Row className=\"rows\">\r\n <Col md={4} lg={6} className=\"d-none cols d-md-flex bg-image hidecol\">\r\n <div>\r\n <img\r\n src=\"https://images.unsplash.com/photo-1502301103665-0b95cc738daf?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=700&q=80\"\r\n height=\"800px\"\r\n width=\"700px\"\r\n alt=\"home\"\r\n />\r\n </div>\r\n </Col>\r\n <Col md={8} lg={6} className=\"resize\">\r\n <div\r\n className=\"login d-flex align-items-center pb-5alt\r\npy-5alt py-5\"\r\n >\r\n <Container>\r\n <Row>\r\n <Col\r\n md={9}\r\n lg={8}\r\n className=\"loginbox mx-auto pb-5alt\r\npy-5alt pl-5 pr-5\"\r\n >\r\n <h3 className=\"login-heading mb-4\">\r\n <img className=\"mr-3\" src=\"/img/logo-fd-round.png\" alt=\"logo\"></img>New Buddy!\r\n </h3>\r\n {error && <Alert variant=\"danger\">{error}</Alert>}\r\n <Form onSubmit={handleSubmit}>\r\n <Input\r\n filled={name !== ''}\r\n name=\"name\"\r\n Label=\"Name\"\r\n type=\"text\"\r\n value={name}\r\n change={(e) => {\r\n setname(e.target.value);\r\n }}\r\n />\r\n <Input\r\n filled={phone !== ''}\r\n name=\"phone\"\r\n Label=\"Phone\"\r\n type=\"tel\"\r\n value={phone}\r\n change={(e) => {\r\n setphone(e.target.value);\r\n }}\r\n />\r\n <Input\r\n filled={email !== ''}\r\n type=\"email\"\r\n Label=\"Email\"\r\n name=\"email\"\r\n value={email}\r\n change={(e) => {\r\n setemail(e.target.value);\r\n }}\r\n />\r\n <Input\r\n filled={password !== ''}\r\n type=\"password\"\r\n Label=\"Password (Minimum 9 Characters)\"\r\n name=\"password\"\r\n value={password}\r\n change={(e) => {\r\n setpassword(e.target.value);\r\n }}\r\n />\r\n <Input\r\n filled={passwordConfirm !== ''}\r\n type=\"password\"\r\n Label=\"Confirm Password\"\r\n name=\"passwordConfirm\"\r\n value={passwordConfirm}\r\n change={(e) => {\r\n setpasswordConfirm(e.target.value);\r\n }}\r\n />\r\n <Button\r\n type=\"submit\"\r\n disabled={loading || submitButtonDisable}\r\n className=\"btn btn-lg btn-outline-primary btn-block btn-login text-uppercase font-weight-bold mb-2\"\r\n >\r\n Sign Up\r\n </Button>\r\n <div className=\"text-center pt-3\">\r\n Already have an account?{' '}\r\n <Link className=\"font-weight-bold\" to=\"/login\">\r\n Sign In\r\n </Link>\r\n </div>\r\n <hr className=\"my-4\" />\r\n <p className=\"text-center\">SIGN UP WITH</p>\r\n <div className=\"row w100 padzero\">\r\n <div className=\"col padzero pr-2 \">\r\n <Button\r\n className=\" btn pl-1 pr-1 btn-lg btn-google font-weight-normal text-white btn-block text-uppercase\"\r\n onClick={signInWithGoogle}\r\n >\r\n <FontAwesome icon=\"google\" className=\"mr-2\" /> Google\r\n </Button>\r\n </div>\r\n </div>\r\n </Form>\r\n </Col>\r\n </Row>\r\n </Container>\r\n </div>\r\n </Col>\r\n </Row>\r\n </Container>\r\n );\r\n}\r\n\r\nexport default Register;\r\n","E:\\Project\\feature\\FoodDude-frontend\\src\\components\\TrackOrder.js",[],"E:\\Project\\feature\\FoodDude-frontend\\src\\components\\Checkout.js",["308","309","310","311"],"E:\\Project\\feature\\FoodDude-frontend\\src\\components\\Invoice.js",[],"E:\\Project\\feature\\FoodDude-frontend\\src\\components\\Detail.js",["312","313"],"import React, { useState } from 'react';\r\nimport axios from 'axios';\r\n// import { useHistory } from 'react-router-dom';\r\nimport { Row, Col, Container, Tab } from 'react-bootstrap';\r\n\r\nimport QuickBite from './common/QuickBite';\r\nimport Cart from './Order/Cart';\r\nimport Spinner from './Spinner/index';\r\nimport { BaseUrl, BaseUrl2 } from '../BaseUrl';\r\nimport { useAuth } from '../contexts/AuthContext';\r\nimport { useOrder } from '../contexts/OrderContext';\r\n\r\nfunction Detail(props) {\r\n // const history = useHistory();\r\n const [menu, setMenu] = React.useState([]);\r\n // const { updateCart } = useAuth();\r\n const { cartItems, setCart } = useOrder();\r\n const [category, setCategory] = React.useState([]);\r\n // const [recievedData, setRecievedData] = React.useState(false);\r\n // const userData = JSON.parse(localStorage.getItem('userData'));\r\n const [loading, setLoading] = useState(false);\r\n const [loading1, setLoading1] = useState(false);\r\n const { logout } = useAuth();\r\n\r\n React.useEffect(() => {\r\n try {\r\n setLoading1(true);\r\n const fetchData = async () => {\r\n const result = await axios.get(`${BaseUrl}/api/menu/get`);\r\n if (result.data) {\r\n setMenu(result.data);\r\n setCategory(\r\n result.data.map((item) => {\r\n return item.Category;\r\n })\r\n );\r\n // setRecievedData(true);\r\n setLoading1(false);\r\n } else {\r\n console.log('error');\r\n setLoading1(false);\r\n }\r\n };\r\n fetchData();\r\n } catch (err) {\r\n setLoading1(false);\r\n console.log(err.message);\r\n if (err.message.includes('401')) {\r\n setLoading(false);\r\n alert('Cause you not authenticated or your token expired and your safety we logged you out!');\r\n logout();\r\n }\r\n }\r\n }, []);\r\n\r\n const getQty = React.useCallback(\r\n async ({ id, quantity, price }) => {\r\n try {\r\n const userData = JSON.parse(localStorage.getItem('userData'));\r\n const item = {\r\n name: id,\r\n quantity: quantity,\r\n price: price,\r\n };\r\n // console.log(item);\r\n setLoading(true);\r\n await axios.post(\r\n `${BaseUrl2}/api/users/cart/add`,\r\n {\r\n item: item,\r\n uid: userData.uid,\r\n },\r\n {\r\n headers: {\r\n Authorization: userData.token,\r\n },\r\n }\r\n );\r\n let newdata = [...cartItems];\r\n // console.log(newdata);\r\n if (quantity === 0) {\r\n newdata = newdata.filter((ele) => ele.name !== id);\r\n } else {\r\n const index = newdata.findIndex((ele) => ele.name === id);\r\n if (index !== -1) {\r\n newdata[index].quantity = quantity;\r\n } else {\r\n newdata.push(item);\r\n }\r\n }\r\n // console.log(newdata);\r\n // console.log(cartItems);\r\n // const res = await axios.post(\r\n // `${BaseUrl2}/api/users/cart/get`,\r\n // {\r\n // uid: userData.uid,\r\n // },\r\n // {\r\n // headers: { Authorization: userData.token },\r\n // }\r\n // );\r\n setCart(newdata);\r\n setLoading(false);\r\n } catch (err) {\r\n // console.log(err);\r\n setLoading(false);\r\n console.log(err.message);\r\n if (err.message.includes('401')) {\r\n setLoading(false);\r\n alert('Cause you not authenticated or your token expired and your safety we logged you out!');\r\n logout();\r\n }\r\n }\r\n },\r\n [setCart, setLoading, cartItems]\r\n );\r\n\r\n // const getStarValue = ({ value }) => {\r\n // console.log(value);\r\n // //console.log(quantity);\r\n // };\r\n\r\n return (\r\n <>\r\n {(loading || loading1) && <Spinner />}\r\n\r\n <Tab.Container defaultActiveKey=\"first\">\r\n <section className=\"offer-dedicated-body pt-2 pb-2 food-background\">\r\n <Container>\r\n <Row>\r\n <Col md={8}>\r\n {/* <h5 className=\"mb-4\">Recommended</h5>\r\n\t\t <Form className=\"explore-outlets-search mb-4\">\r\n\t\t <InputGroup>\r\n\t\t <Form.Control type=\"text\" placeholder=\"Search for dishes...\" />\r\n\t\t <InputGroup.Append>\r\n\t\t <Button type=\"button\" variant=\"link\">\r\n\t\t \t<Icofont icon=\"search\" />\r\n\t\t </Button>\r\n\t\t </InputGroup.Append>\r\n\t\t </InputGroup>\r\n\t\t </Form> */}\r\n\r\n {category &&\r\n [...new Set(category)].map((item) => {\r\n const DishData = [];\r\n for (let data of menu) {\r\n if (data.Category === item) {\r\n DishData.push(\r\n <QuickBite\r\n id={data.Name}\r\n title={data.Name}\r\n showBadge={true}\r\n badgeVariant={data.Veg ? 'danger' : 'success'}\r\n price={parseInt(data.Price)}\r\n priceUnit=\"₹\"\r\n getValue={getQty}\r\n key={data.Name}\r\n />\r\n );\r\n }\r\n }\r\n return (\r\n <Row key={item}>\r\n <h3 className=\"mb-4 mt-3 col-md-12\">\r\n {item}{' '}\r\n <small className=\"h6 text-black-50\">{DishData.length} ITEMS</small>\r\n </h3>\r\n <Col md={12}>\r\n <div className=\"bg-white rounded border shadow-sm\">{DishData}</div>\r\n </Col>\r\n </Row>\r\n );\r\n })}\r\n </Col>\r\n <Col md={4}>\r\n {/* <div className=\"bg-white rounded shadow-sm text-white mb-4 p-4 clearfix restaurant-detailed-earn-pts card-icon-overlap\">\r\n\t\t <Image fluid className=\"float-left mr-3\" src=\"/img/earn-score-icon.png\" />\r\n\t\t <h6 className=\"pt-0 text-primary mb-1 font-weight-bold\">OFFER</h6>\r\n\t\t <p className=\"mb-0\">60% off on orders above $99 | Use coupon <span className=\"text-danger font-weight-bold\">OSAHAN50</span></p>\r\n\t\t <div className=\"icon-overlap\">\r\n\t\t <Icofont icon=\"sale-discount\" />\r\n\t\t </div>\r\n\t\t </div> */}\r\n <Cart />\r\n </Col>\r\n </Row>\r\n </Container>\r\n </section>\r\n </Tab.Container>\r\n </>\r\n );\r\n}\r\n\r\nexport default Detail;\r\n","E:\\Project\\feature\\FoodDude-frontend\\src\\components\\Fail.js",[],"E:\\Project\\feature\\FoodDude-frontend\\src\\components\\staticPages\\AboutUs.js",["314"],"import React from 'react';\r\nimport { Row, Col, Container } from 'react-bootstrap';\r\nimport SectionHeading from '../common/SectionHeading';\r\nfunction AboutUs(props) {\r\n return (\r\n <>\r\n <section className=\"section pt-5 pb-5 bg-white homepage-add-section food-background\">\r\n <Container>\r\n <Row>\r\n <Col md={12} xs={12}>\r\n <blockquote\r\n class=\"blockquote blockquote-custom p-5 shadow rounded\"\r\n style={{ background: 'white' }}\r\n >\r\n <SectionHeading heading=\"About Us\" subHeading=\"\" />\r\n <p class=\"mb-0 mt-2 font-italic psamll\" style={{ fontSize: '14px', color: '#454040' }}>\r\n Its hightime you wave Hi to good food and Bye to artificial colours, preservatives\r\n and harmful adulterations!!!\r\n <br />\r\n At Food dude, we envision a healthy, natural and sustainable food delivery, ensuring\r\n the best of quality checks being done, before our food reaches your doorstep.\r\n <br />\r\n Let's be honest here. It's insane to compromise on the quality of food. Being casual\r\n in this aspect can make you pay huge hospital bills either in the vicinity or\r\n future.\r\n <br />\r\n We at Fooddude ensure that that our customers get the premium of quality food\r\n without compromising with the quantity.\r\n <br />\r\n So what are you waiting for? Go satiate your hunger at the comfort of your home by\r\n placing your first order today. We are just a fingertip away!!!!\r\n </p>\r\n </blockquote>\r\n </Col>\r\n {/* <Col md={4} xs={6}>\r\n\t\t\t\t\t\t\t\t<blockquote class=\"blockquote blockquote-custom p-5 shadow rounded\" style={{height:'300px',background:'#f0f0f0'}}>\r\n\t\t\t\t\t\t\t\t\t<div class=\"blockquote-custom-icon bg-info shadow-sm\"><i class=\"fa fa-quote-left text-white\"></i></div>\r\n\t\t\t\t\t\t\t\t\t<h4 className=\"mb-2 font-weight-normal\"><span className=\"font-weight-bold\">Quality</span></h4>\r\n\t\t\t\t\t\t\t\t\t<p class=\"mb-0 mt-2 font-italic\">\"Fooddude provides you the best food ranging from several\r\n\t\t\t\t\t\t\tcuisines from the best kitchens throughout the city. We assure you of satisfying your palette minus\r\n\t\t\t\t\t\t\tthe food colours and unnecessary oil.\"</p>\r\n\r\n\t\t\t\t\t\t\t\t</blockquote>\r\n\t\t\t\t\t\t\t</Col>\r\n\t\t\t\t\t\t\t<Col md={4} xs={6}>\r\n\t\t\t\t\t\t\t\t<blockquote class=\"blockquote blockquote-custom p-5 shadow rounded\" style={{background:'#f0f0f0'}}>\r\n\t\t\t\t\t\t\t\t\t<div class=\"blockquote-custom-icon bg-info shadow-sm\"><i class=\"fa fa-quote-left text-white\"></i></div>\r\n\t\t\t\t\t\t\t\t\t<h4 className=\"mb-2 font-weight-normal\"><span className=\"font-weight-bold\">Hygiene</span></h4>\r\n\t\t\t\t\t\t\t\t\t<p class=\"mb-0 mt-2 font-italic\">\"The pandemic has forced us to rethink our\r\n\t\t\t\t\t\t\tsanitary practices. But, Fooddude promises that you'll never have to think twice while ordering from us.\r\n\t\t\t\t\t\t\tOur delivery agents are checked and sanitized regularly\r\n\t\t\t\t\t\t\t and use masks and gloves throughout the process to ensure your food reaches to you safely.\"</p>\r\n\r\n\t\t\t\t\t\t\t\t</blockquote>\r\n\t\t\t\t\t\t\t</Col> */}\r\n </Row>\r\n </Container>\r\n </section>\r\n </>\r\n );\r\n}\r\n\r\nconst options = {\r\n responsive: {\r\n 0: {\r\n items: 1,\r\n },\r\n 600: {\r\n items: 2,\r\n },\r\n 1000: {\r\n items: 4,\r\n },\r\n 1200: {\r\n items: 4,\r\n },\r\n },\r\n\r\n lazyLoad: true,\r\n pagination: false.toString(),\r\n loop: true,\r\n dots: false,\r\n autoPlay: 2000,\r\n nav: true,\r\n navText: [\"<i class='fa fa-chevron-left'></i>\", \"<i class='fa fa-chevron-right'></i>\"],\r\n};\r\n\r\nexport default AboutUs;\r\n","E:\\Project\\feature\\FoodDude-frontend\\src\\contexts\\OrderContext.js",[],"E:\\Project\\feature\\FoodDude-frontend\\src\\contexts\\AuthContext.js",["315"],"import React, { useContext, useState, useEffect } from 'react';\r\nimport { auth, phoneProvider } from '../firebase';\r\n// import firebase from 'firebase';\r\n\r\n// import {useHistory} from 'react-router-dom'\r\n//import axios from 'axios';\r\n\r\nconst asyncLocalStorage = {\r\n setItem: async function (key, value) {\r\n return Promise.resolve().then(function () {\r\n localStorage.setItem(key, value);\r\n });\r\n },\r\n getItem: async function (key) {\r\n return Promise.resolve().then(function () {\r\n return localStorage.getItem(key);\r\n });\r\n },\r\n removeItem: async function () {\r\n return Promise.resolve().then(function () {\r\n return localStorage.clear();\r\n });\r\n },\r\n};\r\n\r\nconst AuthContext = React.createContext();\r\n\r\nexport function useAuth() {\r\n return useContext(AuthContext);\r\n}\r\n\r\nexport function AuthProvider({ children }) {\r\n const [currentUser, setCurrentUser] = useState(null);\r\n const [userDat, setUserData] = useState(null);\r\n const [loading, setLoading] = useState(true);\r\n const [cartUpdated, setCartUpdated] = useState();\r\n const [verifiedPhone, setUVP] = useState(true);\r\n function signup(email, password) {\r\n return auth.createUserWithEmailAndPassword(email, password);\r\n }\r\n\r\n function login(email, password) {\r\n return auth.signInWithEmailAndPassword(email, password);\r\n }\r\n\r\n async function logout() {\r\n await asyncLocalStorage.removeItem();\r\n setUVP(true);\r\n setCurrentUser(null);\r\n setUserData(null);\r\n await auth.signOut();\r\n console.log('You have been logged out securly.');\r\n }\r\n\r\n function resetPassword(email) {\r\n return auth.sendPasswordResetEmail(email);\r\n }\r\n\r\n function updateEmail(email) {\r\n return currentUser.updateEmail(email);\r\n }\r\n\r\n function updatePassword(password) {\r\n return currentUser.updatePassword(password);\r\n }\r\n function linkPhoneNumber() {\r\n return auth.currentUser.linkWithPopup(phoneProvider);\r\n }\r\n function updateCart() {\r\n setCartUpdated(Math.random());\r\n console.log('hi');\r\n }\r\n\r\n function signinWithPhone(phoneNumber, verifier) {\r\n return auth.signInWithPhoneNumber(phoneNumber, verifier);\r\n }\r\n\r\n\r\n useEffect(() => {\r\n const unsubscribe = auth.onAuthStateChanged((user) => {\r\n if (user != null && currentUser) {\r\n user.getIdTokenResult(true);\r\n setCurrentUser(user);\r\n }\r\n setLoading(false);\r\n });\r\n\r\n\r\n return unsubscribe;\r\n }, []);\r\n\r\n const value = {\r\n currentUser,\r\n cartUpdated,\r\n login,\r\n signup,\r\n logout,\r\n resetPassword,\r\n updateEmail,\r\n updatePassword,\r\n setCurrentUser,\r\n updateCart,\r\n signinWithPhone,\r\n linkPhoneNumber,\r\n verifiedPhone,\r\n setUVP,\r\n userDat,\r\n setUserData,\r\n };\r\n\r\n return <AuthContext.Provider value={value}>{!loading && children}</AuthContext.Provider>;\r\n}\r\n","E:\\Project\\feature\\FoodDude-frontend\\src\\components\\Loader\\index.js",[],"E:\\Project\\feature\\FoodDude-frontend\\src\\components\\common\\Header.js",["316","317","318","319","320"],"import React from 'react';\r\nimport axios from 'axios';\r\nimport { NavLink, Link, useHistory } from 'react-router-dom';\r\nimport { Navbar, Nav, Container, NavDropdown, Image, Badge } from 'react-bootstrap';\r\nimport DropDownTitle from '../common/DropDownTitle';\r\nimport Cart from '../cart/Cart';\r\nimport Icofont from 'react-icofont';\r\nimport LinkToLinking from '../LinkToLinking/index';\r\nimport { useAuth } from '../../contexts/AuthContext';\r\nconst asyncLocalStorage = {\r\n setItem: async function (key, value) {\r\n return Promise.resolve().then(function () {\r\n localStorage.setItem(key, value);\r\n });\r\n },\r\n getItem: async function (key) {\r\n return Promise.resolve().then(function () {\r\n return localStorage.getItem(key);\r\n });\r\n },\r\n};\r\nfunction Header(props) {\r\n const node = React.useRef();\r\n const [isNavExpanded, setNavExpanded] = React.useState(false);\r\n const { logout, currentUser, setCurrentUser, verifiedPhone } = useAuth();\r\n const history = useHistory();\r\n const [error, setError] = React.useState('');\r\n //const userData=JSON.parse(localStorage.getItem('userData'))\r\n\r\n React.useEffect(() => {\r\n (async () => {\r\n const res = await asyncLocalStorage.getItem('userData');\r\n const data = await JSON.parse(res);\r\n setCurrentUser(data.user);\r\n })();\r\n }, []);\r\n\r\n // const [showSignOutModal,setSignOutModal]=React.useState(false)\r\n const setIsNavExpanded = () => {\r\n setNavExpanded(true);\r\n };\r\n const closeMenu = () => {\r\n setNavExpanded(false);\r\n };\r\n\r\n const handleClick = (e) => {\r\n if (node.contains(e.target)) {\r\n // if clicked inside menu do something\r\n } else {\r\n // If clicked outside menu, close the navbar.\r\n setNavExpanded(false);\r\n }\r\n };\r\n React.useEffect(() => {\r\n document.addEventListener('click', handleClick, false);\r\n\r\n return document.removeEventListener('click', handleClick, false);\r\n });\r\n\r\n async function handleLogout() {\r\n setError('');\r\n try {\r\n await logout();\r\n props.onHide();\r\n history.push('/');\r\n } catch {\r\n setError('Failed to log out');\r\n }\r\n }\r\n return (\r\n <>\r\n {!verifiedPhone && <LinkToLinking />}\r\n <div ref={node}>\r\n <Navbar\r\n onToggle={setIsNavExpanded}\r\n expanded={isNavExpanded}\r\n bg=\"light\"\r\n expand=\"lg\"\r\n className=\"navbar-light osahan-nav shadow-lg\"\r\n >\r\n <Container>\r\n <Navbar.Brand to=\"/\">\r\n <Image src=\"/img/logo-fd-round.png\" alt=\"\" height=\"60px\" />\r\n </Navbar.Brand>\r\n <Navbar.Toggle />\r\n <Navbar.Collapse id=\"navbarNavDropdown\">\r\n <Nav activeKey={0} className=\"ml-auto\" onSelect={closeMenu}>\r\n <Nav.Link eventKey={0} as={NavLink} activeclassname=\"active\" exact to=\"/\">\r\n Home <span className=\"sr-only\">(current)</span>\r\n </Nav.Link>\r\n {\r\n //This is the Offers Nav-Link-- Commented Out\r\n /* <Nav.Link eventKey={1} as={NavLink} activeclassname=\"active\" to=\"/offers\">\r\n \t\t\t\t<Icofont icon='sale-discount'/> Offers <Badge variant=\"danger\">New</Badge>\r\n\t\t\t </Nav.Link> */\r\n }\r\n\r\n <Nav.Link eventKey={0} as={NavLink} activeclassname=\"active\" exact to=\"/detail\">\r\n Make an Order <span className=\"sr-only\">(current)</span>\r\n </Nav.Link>\r\n {/* <NavDropdown title=\"Restaurants\" alignRight className=\"border-0\">\r\n\t\t\t\t\t\t\t{ // This is the Listing Nav-Link Commented out\r\n\t\t\t\t\t\t\t/* <NavDropdown.Item eventKey={2.1} as={NavLink} activeclassname=\"active\" to=\"/listing\">Listing</NavDropdown.Item> }\r\n\t\t\t \t<NavDropdown.Item eventKey={2.2} as={NavLink} activeclassname=\"active\" to=\"/detail\">Detail + Cart</NavDropdown.Item>\r\n\t\t\t \t{currentUser?<NavDropdown.Item eventKey={2.3} as={NavLink} activeclassname=\"active\" to=\"/checkout\">Checkout</NavDropdown.Item>:null}\r\n\t\t\t </NavDropdown> */}\r\n {/* <NavDropdown title=\"Pages\" alignRight>\r\n\t\t\t \t<NavDropdown.Item eventKey={3.1} as={NavLink} activeclassname=\"active\" to=\"/track-order\">Track Order</NavDropdown.Item>\r\n\t\t\t \t<NavDropdown.Item eventKey={3.2} as={NavLink} activeclassname=\"active\" to=\"/invoice\">Invoice</NavDropdown.Item>\r\n\t\t\t \t<NavDropdown.Item eventKey={3.3} as={NavLink} activeclassname=\"active\" to=\"/login\">Login</NavDropdown.Item>\r\n\t\t\t \t<NavDropdown.Item eventKey={3.4} as={NavLink} activeclassname=\"active\" to=\"/register\">Register</NavDropdown.Item>\r\n\t\t\t \t<NavDropdown.Item eventKey={3.5} as={NavLink} activeclassname=\"active\" to=\"/404\">404</NavDropdown.Item>\r\n\t\t\t \t<NavDropdown.Item eventKey={3.6} as={NavLink} activeclassname=\"active\" to=\"/extra\">Extra</NavDropdown.Item>\r\n\r\n\t\t\t </NavDropdown> */}\r\n {currentUser ? (\r\n <NavDropdown\r\n alignRight\r\n title={\r\n <DropDownTitle\r\n className=\"d-inline-block\"\r\n image=\"https://cdn0.iconfinder.com/data/icons/profession-and-occupation-icons/110/avatar_occupation_profile_cook_kitchener_flunkey_food-512.png\"\r\n imageAlt=\"user\"\r\n imageClass=\"nav-osahan-pic rounded-pill\"\r\n title=\"My Account\"\r\n />\r\n }\r\n >\r\n <NavDropdown.Item\r\n eventKey={4.1}\r\n as={NavLink}\r\n activeclassname=\"active\"\r\n to=\"/myaccount/orders\"\r\n >\r\n <Icofont icon=\"food-cart\" /> Orders\r\n </NavDropdown.Item>\r\n <NavDropdown.Item\r\n eventKey={4.2}\r\n as={NavLink}\r\n activeclassname=\"active\"\r\n to=\"/myaccount/offers\"\r\n >\r\n <Icofont icon=\"sale-discount\" /> Offers\r\n </NavDropdown.Item>\r\n {/* <NavDropdown.Item eventKey={4.3} as={NavLink} activeclassname=\"active\" to=\"/myaccount/favourites\"><Icofont icon='heart'/> Favourites</NavDropdown.Item>\r\n\t\t\t\t\t\t\t<NavDropdown.Item eventKey={4.4} as={NavLink} activeclassname=\"active\" to=\"/myaccount/payments\"><Icofont icon='credit-card'/> Payments</NavDropdown.Item> */}\r\n <NavDropdown.Item\r\n eventKey={4.5}\r\n as={NavLink}\r\n activeclassname=\"active\"\r\n to=\"/myaccount/addresses\"\r\n >\r\n <Icofont icon=\"location-pin\" /> Addresses\r\n </NavDropdown.Item>\r\n </NavDropdown>\r\n ) : null}\r\n {currentUser ? <Cart /> : null}\r\n {currentUser ? (\r\n <Nav.Link eventKey={2} as={NavLink} to=\"/\" onClick={handleLogout}>\r\n <Icofont icon=\"login\" /> Sign Out\r\n </Nav.Link>\r\n ) : null}\r\n {!currentUser ? (\r\n <Nav.Link eventKey={2} as={NavLink} activeclassname=\"active\" to=\"/login\">\r\n <Icofont icon=\"login\" /> Sign In\r\n </Nav.Link>\r\n ) : null}\r\n </Nav>\r\n </Navbar.Collapse>\r\n </Container>\r\n </Navbar>\r\n {/* <SignOutModal show={showSignOutModal} onHide={hideSignOutModal}/> */}\r\n </div>\r\n </>\r\n );\r\n}\r\n\r\nexport default Header;\r\n","E:\\Project\\feature\\FoodDude-frontend\\src\\components\\common\\Footer.js",[],"E:\\Project\\feature\\FoodDude-frontend\\src\\components\\PhoneLink\\Index.js",["321","322"],"import React, { useEffect, useState } from 'react';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { useAuth } from '../../contexts/AuthContext';\r\nimport { Row, Col, Container, Button, Alert } from 'react-bootstrap';\r\n\r\nimport { auth } from '../../firebase';\r\nimport axios from 'axios';\r\nimport { BaseUrl2 } from '../../BaseUrl';\r\nimport '../Input/style.css';\r\nimport Input from '../Input/Index';\r\nimport Popup from '../staticPages/Popup';\r\nimport firebase from 'firebase';\r\nconst asyncLocalStorage = {\r\n setItem: async function (key, value) {\r\n return Promise.resolve().then(function () {\r\n localStorage.setItem(key, value);\r\n });\r\n },\r\n getItem: async function (key) {\r\n return Promise.resolve().then(function () {\r\n return localStorage.getItem(key);\r\n });\r\n },\r\n};\r\n\r\nfunction LinkPhone(props) {\r\n const { setCurrentUser, updateCart, setUVP, signinWithPhone } = useAuth();\r\n const [error, setError] = useState('');\r\n const history = useHistory();\r\n const [mobile, setMobile] = useState(props.phone || '');\r\n const [otp, setotp] = useState('');\r\n const [disableOTP, setdisableOTP] = useState(false);\r\n const [time, settime] = useState(60);\r\n const [popup, setpopup] = useState(false);\r\n const [working, setWorking] = useState(false);\r\n\r\n useEffect(() => {\r\n const userData = JSON.parse(localStorage.getItem('userData'));\r\n\r\n if (userData.user.providerData.length >= 2) {\r\n alert(`Don't try suspicious Behaviour!'`);\r\n history.push('/');\r\n } else if (userData.phone) {\r\n setMobile(userData.phone);\r\n }\r\n }, []);\r\n\r\n if (disableOTP) {\r\n setTimeout(() => {\r\n const timePassed = Math.round((Date.now() - disableOTP) / 1000);\r\n if (timePassed >= 60) {\r\n setdisableOTP(false);\r\n settime(60);\r\n return;\r\n }\r\n settime(60 - timePassed);\r\n }, 1000);\r\n }\r\n\r\n const isMobileInvalid = (() => {\r\n const telre = /\\+?\\d[\\d -]{8,12}\\d/;\r\n if (telre.test(String(mobile).toLowerCase()) === false) {\r\n return true;\r\n }\r\n return false;\r\n })();\r\n\r\n const sendOTP = async () => {\r\n setdisableOTP(Date.now());\r\n const verifier = window.recaptchaVerifier;\r\n\r\n try {\r\n // console.log(res);\r\n console.log('Send OTP');\r\n const confirmationResult = await signinWithPhone(`+91${mobile}`, verifier);\r\n setpopup(true);\r\n setTimeout(() => {\r\n setpopup(false);\r\n }, 4100);\r\n window.confirmationResult = confirmationResult; // Used by VerificationCodeForm\r\n } catch (err) {\r\n alert('LinkupVendor ERROR', err);\r\n console.log(err);\r\n }\r\n };\r\n const linkingWithPhone = async () => {\r\n setWorking(true);\r\n try {\r\n const credential = firebase.auth.PhoneAuthProvider.credential(\r\n window.confirmationResult.verificationId,\r\n otp\r\n );\r\n // console.log(credential);\r\n const res = await auth.currentUser.linkWithCredential(credential);\r\n const token = await res.user.getIdToken();\r\n // console.log(res);\r\n await axios.post(\r\n `${BaseUrl2}/api/users/update-user`,\r\n {\r\n name: res.user.displayName,\r\n phone: res.user.phoneNumber.replace('+91', ''),\r\n email: res.user.email,\r\n uid: res.user.uid,\r\n },\r\n {\r\n headers: { Authorization: token },\r\n }\r\n );\r\n const userData = {\r\n name: res.user.displayName,\r\n phone: res.user.phoneNumber,\r\n email: res.user.email,\r\n uid: res.user.uid,\r\n token: token,\r\n user: res.user,\r\n };\r\n await asyncLocalStorage.setItem('userData', JSON.stringify(userData));\r\n\r\n updateCart();\r\n setUVP(true);\r\n setCurrentUser(res.user);\r\n console.log('Account linking success');\r\n alert('Account Linked Successfully!');\r\n history.push('/');\r\n\r\n setWorking(false);\r\n } catch (err) {\r\n setWorking(false);\r\n alert('confirmationResult.confirm() ERROR');\r\n alert('Account Linking Failed!');\r\n console.log('Account linking error', error);\r\n console.log(err);\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n // Setup recaptcha\r\n if (!window.recaptchaVerifier) {\r\n window.recaptchaVerifier = new firebase.auth.RecaptchaVerifier('login-btn', { size: 'invisible' });\r\n window.recaptchaVerifier.render();\r\n }\r\n return () => {\r\n window.recaptchaVerifier = null;\r\n };\r\n }, []);\r\n return (\r\n <>\r\n <Container fluid className=\"food-background\">\r\n <Row className=\"rows\">\r\n <Col md={4} lg={6} className=\"d-none cols d-md-flex bg-image hidecol\">\r\n <img\r\n src=\"https://images.unsplash.com/photo-1502301103665-0b95cc738daf?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=700&q=80\"\r\n height=\"700px\"\r\n width=\"800px\"\r\n alt=\"home\"\r\n />\r\n </Col>\r\n <Col md={8} lg={6}>\r\n <div\r\n style={{ position: 'relative' }}\r\n className=\"login pb-5alt\r\npy-5alt d-flex align-items-center py-5\"\r\n >\r\n {popup && <Popup />}\r\n <Container>\r\n <Row>\r\n <Col\r\n md={9}\r\n lg={8}\r\n className=\" loginbox mx-auto pb-5alt\r\npy-5alt pl-5 pr-5\"\r\n >\r\n <h3 className=\"login-heading mb-4 watchmax\">\r\n <img className=\"mr-3\" src=\"/img/logo-fd-round.png\" alt=\"logo\"></img>\r\n Phone Linking!\r\n </h3>\r\n {error && <Alert variant=\"danger\">{error}</Alert>}\r\n\r\n <div className=\"row w100 padzero\">\r\n <div className=\"col padzero pr-2\">\r\n <Input\r\n style={{ backgroundColor: 'transparent' }}\r\n filled={mobile !== ''}\r\n error={isMobileInvalid}\r\n type=\"tel\"\r\n Label=\"Mobile Number(10 Digit Format Only)\"\r\n name=\"Mobile\"\r\n value={mobile}\r\n change={(e) => {\r\n setMobile(e.target.value);\r\n }}\r\n />\r\n <Input\r\n style={{ backgroundColor: 'transparent' }}\r\n filled={mobile !== ''}\r\n error={otp.length < 4}\r\n type=\"number\"\r\n Label=\"OTP\"\r\n name=\"otp\"\r\n value={otp}\r\n change={(e) => {\r\n if (e.target.value.length <= 8) setotp(e.target.value);\r\n }}\r\n />\r\n <Button\r\n id=\"login-btn\"\r\n disabled={\r\n isMobileInvalid || disableOTP || !window.recaptchaVerifier\r\n }\r\n className=\"btn pl-1 pr-1 btn-lg btn-google font-weight-normal text-white btn-block text-uppercase\"\r\n onClick={sendOTP}\r\n >\r\n SEND OTP {disableOTP && `(Resend in ${time})`}\r\n </Button>\r\n <Button\r\n disabled={isMobileInvalid || otp.length < 4 || working}\r\n className=\"btn pl-1 pr-1 btn-lg btn-google font-weight-normal text-white btn-block text-uppercase\"\r\n onClick={linkingWithPhone}\r\n >\r\n Link Phone\r\n </Button>\r\n </div>\r\n </div>\r\n </Col>\r\n </Row>\r\n </Container>\r\n </div>\r\n </Col>\r\n </Row>\r\n </Container>\r\n </>\r\n );\r\n}\r\n\r\nexport default LinkPhone;\r\n","E:\\Project\\feature\\FoodDude-frontend\\src\\components\\common\\SectionHeading.js",["323"],"import React from 'react';\r\nimport PropTypes from 'prop-types'; \r\n\r\nclass SectionHeading extends React.Component {\r\n\trender() {\r\n \treturn (\r\n <div className={`section-header ${this.props.alignClass}`}>\r\n <h1 style={{background:'white'}} style={{fontWeight:'700'}}>{this.props.heading}</h1>\r\n {this.props.subHeading ? (\r\n \t\t<p>{this.props.subHeading}</p>\r\n \t\t):''\r\n }\r\n <span className=\"line\"></span>\r\n </div>\r\n\t\t);\r\n\t}\r\n}\r\n\r\n\r\nSectionHeading.propTypes = {\r\n heading: PropTypes.string.isRequired,\r\n subHeading: PropTypes.string,\r\n alignClass: PropTypes.string,\r\n};\r\nSectionHeading.defaultProps = {\r\n subHeading: '',\r\n alignClass: 'text-center',\r\n}\r\n\r\nexport default SectionHeading;","E:\\Project\\feature\\FoodDude-frontend\\src\\components\\common\\FontAwesome.js",[],"E:\\Project\\feature\\FoodDude-frontend\\src\\components\\common\\PageTitle.js",[],"E:\\Project\\feature\\FoodDude-frontend\\src\\components\\common\\CardItem.js",["324","325"],"import React from 'react';\r\nimport {Link} from 'react-router-dom';\r\nimport {Image,Badge} from 'react-bootstrap';\r\nimport PropTypes from 'prop-types'; \r\nimport Icofont from 'react-icofont';\r\n\r\nclass CardItem extends React.Component {\r\n\trender() {\r\n \treturn (\r\n \t\t<div>\r\n <div className=\"list-card-image shadow\">\r\n \t {/* {this.props.rating ? (\r\n\t <div className=\"star position-absolute\">\r\n \t\t<Badge variant=\"success\">\r\n\t \t\t<Icofont icon='star'/> {this.props.rating}\r\n\t \t</Badge>\r\n\t \t </div>\r\n\t \t )\r\n\t \t :\"\"\r\n\t } */}\r\n {/* <div className={`favourite-heart position-absolute ${this.props.favIcoIconColor}`}>\r\n \t<Link to={this.props.linkUrl}>\r\n \t\t<Icofont icon='heart'/>\r\n \t</Link>\r\n </div> */}\r\n {/* {this.props.showPromoted ? (\r\n\t <div className=\"member-plan position-absolute\">\r\n\t \t<Badge variant={this.props.promotedVariant}>Promoted</Badge>\r\n\t </div>\r\n\t )\r\n \t :\"\"\r\n } */}\r\n <Link to={this.props.linkUrl}>\r\n \t<Image src={this.props.image} className={this.props.imageClass} alt={this.props.imageAlt} style={{height:'250px'}} />\r\n </Link>\r\n </div>\r\n <blockquote class=\"blockquote blockquote-custom p-3 shadow rounded\" style={{background:'#f0f0f0',height:\"300px\"}}>\r\n\t\t\t\t\t\t\t\t\t<div class=\"blockquote-custom-icon bg-info shadow-sm\"><i class=\"fa fa-quote-left text-white\"></i></div>\r\n\t\t\t\t\t\t\t\t\t<p class=\"mb-0 mt-3 font-italic\">\"{this.props.content}\"</p>\r\n\t\t\t\t\t\t\t\t\t<p className=\"mb-2 font-italic\" style={{color:'black',fontSize:'12px',textAlign:'right'}}><b>By-{this.props.heading}</b></p>\r\n\r\n\t\t\t\t\t\t\t\t</blockquote>\r\n </div>\r\n\t\t);\r\n\t}\r\n}\r\n\r\n\r\nCardItem.propTypes = {\r\n title: PropTypes.string.isRequired,\r\n imageAlt: PropTypes.string,\r\n image: PropTypes.string.isRequired,\r\n imageClass: PropTypes.string,\r\n linkUrl: PropTypes.string.isRequired,\r\n offerText: PropTypes.string,\r\n offerColor: PropTypes.string,\r\n subTitle: PropTypes.string,\r\n time: PropTypes.string,\r\n price: PropTypes.string,\r\n showPromoted: PropTypes.bool,\r\n promotedVariant: PropTypes.string,\r\n favIcoIconColor: PropTypes.string,\r\n rating: PropTypes.string,\r\n};\r\nCardItem.defaultProps = {\r\n \timageAlt:'',\r\n imageClass:'',\r\n offerText: '',\r\n offerColor: 'success',\r\n\tsubTitle: '',\r\n\ttime: '',\r\n\tprice: '',\r\n\tshowPromoted: false,\r\n \tpromotedVariant: 'dark',\r\n\tfavIcoIconColor: '',\r\n\trating: '',\r\n}\r\n\r\nexport default CardItem;","E:\\Project\\feature\\FoodDude-frontend\\src\\components\\common\\CouponCard.js",["326","327"],"import React from 'react';\r\nimport {Link} from 'react-router-dom';\r\nimport {Image,Button} from 'react-bootstrap';\r\nimport PropTypes from 'prop-types'; \r\n\r\nclass CouponCard extends React.Component {\r\n\r\n\trender() {\r\n \treturn (\r\n \t\t<div className={\"card offer-card shadow-sm mb-4\" + (this.props.noBorder ? ' border-0' : '')}>\r\n\t <div className=\"card-body\">\r\n\t \t{(this.props.logoImage || this.props.couponCode)?\r\n\t\t (<h5 className=\"card-title\">\r\n\t\t \t\r\n\t\t \t{this.props.couponCode?\r\n\t\t \t\tthis.props.couponCode\r\n\t\t \t\t:\"\"\r\n\t\t \t}\r\n\t\t </h5>)\r\n\t\t :\"\"\r\n\t\t }\r\n\t <h6 className=\"card-subtitle mb-2 text-block\">{this.props.title}</h6>\r\n\t {this.props.subTitle?\r\n\t \t<p className=\"card-text\">\r\n\t \t\t{this.props.subTitle}\r\n\t \t</p>\r\n\t \t:\"\"\r\n\t }\r\n\t {this.props.copyBtnText?\r\n\t \t<Button variant=\"link\" className=\"card-btn mr-3 p-0\">{this.props.copyBtnText}</Button>\r\n\t \t:\"\"\r\n\t }\r\n\t \r\n\t </div>\r\n\t </div>\r\n \t);\r\n }\r\n}\r\n\r\nCouponCard.propTypes = {\r\n title: PropTypes.string.isRequired,\r\n logoImage: PropTypes.string,\r\n subTitle: PropTypes.string,\r\n imageAlt: PropTypes.string,\r\n imageclassName: PropTypes.string,\r\n morelinkUrl: PropTypes.string,\r\n moreLinkText: PropTypes.string,\r\n copyBtnText: PropTypes.string,\r\n couponCode: PropTypes.string,\r\n noBorder: PropTypes.bool,\r\n};\r\nCouponCard.defaultProps = {\r\n logoImage: '',\r\n subTitle: '',\r\n imageAlt: '',\r\n imageclassName: '',\r\n morelinkUrl: '#',\r\n moreLinkText: 'KNOW MORE',\r\n copyBtnText: '',\r\n couponCode: '',\r\n noBorder: true,\r\n}\r\n\r\nexport default CouponCard;","E:\\Project\\feature\\FoodDude-frontend\\src\\components\\common\\CategoriesCarousel.js",[],"E:\\Project\\feature\\FoodDude-frontend\\src\\components\\common\\BankOffers.js",[],"E:\\Project\\feature\\FoodDude-frontend\\src\\BaseUrl.js",[],"E:\\Project\\feature\\FoodDude-frontend\\src\\firebase.js",[],"E:\\Project\\feature\\FoodDude-frontend\\src\\components\\common\\ChooseAddressCard.js",["328","329","330"],"import React from 'react';\r\nimport { Link } from 'react-router-dom';\r\nimport { Card, Media, Button } from 'react-bootstrap';\r\nimport Icofont from 'react-icofont';\r\nimport PropTypes from 'prop-types';\r\n\r\nfunction ChooseAddressCard(props) {\r\n const [focus, setFocus] = React.useState(false);\r\n return (\r\n <Card className={' addresses-item mb-4 ' + props.boxclassName} style={{ background: focus && '#cdffba' }}>\r\n <div className=\"gold-members p-4\" style={{ width: '100%' }}>\r\n <Media>\r\n <div className=\"mr-3\">\r\n <Icofont icon={props.icoIcon} className={props.iconclassName} />\r\n </div>\r\n <div className=\"media-body\">\r\n <h6 className=\"mb-1 text-secondary\">{props.title}</h6>\r\n <p className=\"text-black\">{props.address}</p>\r\n </div>\r\n </Media>\r\n </div>\r\n </Card>\r\n );\r\n}\r\n\r\nChooseAddressCard.propTypes = {\r\n title: PropTypes.string.isRequired,\r\n icoIcon: PropTypes.string.isRequired,\r\n iconclassName: PropTypes.string,\r\n address: PropTypes.string,\r\n onDeliverHere: PropTypes.func,\r\n onAddNewClick: PropTypes.func,\r\n type: PropTypes.string.isRequired,\r\n};\r\n\r\nChooseAddressCard.defaultProps = {\r\n type: 'hasAddress',\r\n};\r\n\r\nexport default ChooseAddressCard;\r\n","E:\\Project\\feature\\FoodDude-frontend\\src\\components\\common\\CheckoutItem.js",["331","332"],"import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Button } from 'react-bootstrap';\r\nimport Icofont from 'react-icofont';\r\n\r\nfunction CheckoutItem(props) {\r\n const [quantity, setQuantity] = React.useState(props.qty);\r\n // const max = props.maxValue || 5;\r\n // const min = props.minValue || 0;\r\n // const [show, setShow] = React.useState(props.show || true);\r\n // const price = props.price;\r\n\r\n // const IncrementItem = () => {\r\n // if (quantity >= max) {\r\n // } else {\r\n // // setQuantity(quantity+1)\r\n // props.getValue({ id: props.id, quantity: quantity + 1, price: price });\r\n // }\r\n // };\r\n // const DecreaseItem = () => {\r\n // if (quantity <= min) {\r\n // } else {\r\n // // setQuantity(quantity-1)\r\n // props.getValue({ id: props.id, quantity: quantity - 1, price: price });\r\n // }\r\n // };\r\n\r\n // const ToggleClick = () => {\r\n // setShow(!show);\r\n // };\r\n React.useEffect(() => {\r\n setQuantity(props.qty);\r\n }, [setQuantity, props.qty]);\r\n\r\n return (\r\n <div className=\"gold-members p-2 border-bottom\">\r\n {' '}\r\n <p className=\"text-gray mb-0 float-right ml-2\">\r\n {props.priceUnit}\r\n {parseInt(props.price) * quantity}\r\n </p>\r\n <span className=\"count-number float-right\">\r\n {/* <Button\r\n disabled={props.diabled}\r\n variant=\"outline-secondary\"\r\n onClick={DecreaseItem}\r\n className=\"btn-sm left dec\"\r\n >\r\n {' '}\r\n [{' '}\r\n </Button> */}\r\n <input className=\"count-number-input\" type=\"number\" value={quantity} readOnly />\r\n {/* <Button\r\n disabled={props.diabled}\r\n variant=\"outline-secondary\"\r\n onClick={IncrementItem}\r\n className=\"btn-sm right inc\"\r\n >\r\n {' '}\r\n ]{' '}\r\n </Button> */}\r\n </span>\r\n <div className=\"media\">\r\n <div className=\"mr-2\">\r\n <Icofont icon=\"ui-press\" className={`text-${props.veg ? 'danger' : 'success'} food-item`} />\r\n </div>\r\n <div className=\"media-body\">\r\n <p className=\"mt-1 mb-0 text-black\">{props.itemName}</p>\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n}\r\n\r\nCheckoutItem.propTypes = {\r\n itemName: PropTypes.string.isRequired,\r\n price: PropTypes.number.isRequired,\r\n priceUnit: PropTypes.string.isRequired,\r\n id: PropTypes.string.isRequired,\r\n qty: PropTypes.number.isRequired,\r\n show: PropTypes.bool.isRequired,\r\n minValue: PropTypes.number,\r\n maxValue: PropTypes.number,\r\n getValue: PropTypes.func.isRequired,\r\n};\r\nCheckoutItem.defaultProps = {\r\n show: true,\r\n priceUnit: '$',\r\n};\r\n\r\nexport default CheckoutItem;\r\n","E:\\Project\\feature\\FoodDude-frontend\\src\\components\\common\\HeadingValue.js",[],"E:\\Project\\feature\\FoodDude-frontend\\src\\components\\Input\\Index.js",[],"E:\\Project\\feature\\FoodDude-frontend\\src\\components\\home\\TopSearch.js",["333","334","335"],"import React from 'react';\r\n// import {Link} from 'react-router-dom';\r\nimport axios from 'axios';\r\nimport { Row, Col, Container, Form, Button } from 'react-bootstrap';\r\n// import Select2 from 'react-select2-wrapper';\r\n// import Icofont from 'react-icofont';\r\nimport OwlCarousel from 'react-owl-carousel3';\r\nimport ProductBox from './ProductBox';\r\nimport { auth, phoneProvider } from '../../firebase';\r\n// import CategoriesCarousel from '../common/CategoriesCarousel';\r\nimport { BaseUrl } from '../../BaseUrl';\r\n\r\nfunction TopSearch(props) {\r\n const pincodeRef = React.useRef();\r\n const [pincode, setPincode] = React.useState('');\r\n const [sendingData, setSendingData] = React.useState(false);\r\n const [resData, setResData] = React.useState(null);\r\n\r\n React.useEffect(() => {\r\n if (sendingData) {\r\n const fetchData = async () => {\r\n try {\r\n const result = await axios.post(`${BaseUrl}/api/pincode/check`, {\r\n Pincode: pincode,\r\n });\r\n // console.log(result);\r\n if (result.data) {\r\n setResData(result.data);\r\n setSendingData(false);\r\n } else {\r\n setResData('error');\r\n setSendingData(false);\r\n }\r\n } catch (err) {\r\n setResData('error');\r\n // console.log(err, 'error');\r\n setSendingData(false);\r\n }\r\n };\r\n fetchData();\r\n }\r\n }, [pincode]);\r\n\r\n function handleSubmit() {\r\n setPincode(pincodeRef.current.value);\r\n setSendingData(true);\r\n }\r\n\r\n return (\r\n <section\r\n className=\"pt-5 pb-5 homepage-search-block position-relative generator-bg\"\r\n style={{\r\n backgroundImage:\r\n 'linear-gradient( to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.4) 60%, rgba(0, 0, 0, 1)),linear-gradient( to top, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.4) 70%, rgba(0, 0, 0, 1)),url(https://images.unsplash.com/photo-1498654896293-37aacf113fd9?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=1050&q=80)',\r\n backgroundSize: 'cover',\r\n backgroundPosition: 'top center',\r\n }}\r\n >\r\n <Container>\r\n <Row className=\"d-flex align-items-center\">\r\n <Col md={8}>\r\n <div className=\"homepage-search-title\">\r\n <h1 className=\"mb-2 font-weight-normal\" style={{ color: 'whitesmoke' }}>\r\n <span className=\"font-weight-bold\">Find Awesome Food</span>\r\n <i> in Bhubaneshwar</i>\r\n </h1>\r\n <h5 className=\"mb-5 font-weight-normal\" style={{ color: 'white', marginTop: '20px' }}>\r\n Get the top mouthwatering dishes, based on trends\r\n </h5>\r\n </div>\r\n <div className=\"homepage-search-form\">\r\n <Form\r\n onSubmit={(e) => {\r\n e.preventDefault();\r\n handleSubmit();\r\n }}\r\n className=\"form-noborder\"\r\n >\r\n <div className=\"form-row\">\r\n {/* <Form.Group className='col-lg-3 col-md-3 col-sm-12'>\r\n\t <div className=\"location-dropdown\">\r\n\t \t <Icofont icon='location-arrow'/>\r\n\t <Select2 className=\"custom-select\"\r\n\t\t data={[\r\n\t\t\t\t\t\t\t\t\t\t { text: 'Breakfast', id: 1 },\r\n\t\t\t\t\t\t\t\t\t\t { text: 'Lunch', id: 2 },\r\n\t\t\t\t\t\t\t\t\t\t { text: 'Dinner', id: 3 },\r\n\t\t\t\t\t\t\t\t\t\t { text: 'Cafés', id: 4 },\r\n\t\t\t\t\t\t\t\t\t\t { text: 'Delivery', id: 5 }\r\n\t\t\t\t\t\t\t\t\t\t ]}\r\n\t\t\t\t\t\t\t\t\t\t options={{\r\n\t\t\t\t\t\t\t\t\t\t placeholder: 'Quick Searches',\r\n\t\t\t\t\t\t\t\t\t\t }}\r\n\t />\r\n\t </div>\r\n\t </Form.Group> */}\r\n <Form.Group className=\"col-lg-7 col-md-7 col-sm-12\">\r\n <Form.Control\r\n type=\"number\"\r\n as=\"input\"\r\n placeholder=\"Pincode \"\r\n size=\"lg\"\r\n ref={pincodeRef}\r\n />\r\n {/* <Link className=\"locate-me\" to=\"#\"><Icofont icon='ui-pointer'/> Locate Me</Link> */}\r\n </Form.Group>\r\n <Form.Group className=\"col-lg-2 col-md-2 col-sm-12\">\r\n <Button\r\n disabled={sendingData}\r\n onClick={handleSubmit}\r\n className=\"btn btn-primary btn-block btn-lg \"\r\n >\r\n Check\r\n </Button>\r\n </Form.Group>\r\n </div>\r\n </Form>\r\n {!resData ? (\r\n <h7 className=\"mt-4 text-shadow font-weight-normal\" style={{ color: 'whitesmoke' }}>\r\n Enter your pincode to check if we deliver there\r\n </h7>\r\n ) : resData.success ? (\r\n <h7 className=\"mt-4 text-shadow font-weight-normal\" style={{ color: 'whitesmoke' }}>\r\n Yoooohoooo!! We deliver here. Start Ordering Dude!\r\n </h7>\r\n ) : (\r\n <h7 className=\"mt-4 text-shadow font-weight-normal\" style={{ color: 'whitesmoke' }}>\r\n Ahhh Damn!! We will reach out there soon. Not delivering there as of now!\r\n </h7>\r\n )}\r\n </div>\r\n {/* <h6 className=\"mt-4 text-shadow font-weight-normal\" style={{color:'whitesmoke'}}s>Beverages, Pizzas, Chines,Indian... Get everything whatever your tummy demands</h6> */}\r\n {/* <CategoriesCarousel /> */}\r\n </Col>\r\n <Col md={4}>\r\n <div className=\"osahan-slider pl-4 pt-3\">\r\n <OwlCarousel nav loop {...options2} className=\"homepage-ad owl-theme\">\r\n <div className=\"item\">\r\n <ProductBox\r\n image=\"/img/slider.png\"\r\n imageClass=\"img-fluid rounded\"\r\n imageAlt=\"carousel\"\r\n linkUrl=\"listing\"\r\n />\r\n </div>\r\n <div className=\"item\">\r\n <ProductBox\r\n image=\"/img/slider1.png\"\r\n imageClass=\"img-fluid rounded\"\r\n imageAlt=\"carousel\"\r\n linkUrl=\"listing\"\r\n />\r\n </div>\r\n <div className=\"item\">\r\n <ProductBox\r\n image=\"/img/slider.png\"\r\n imageClass=\"img-fluid rounded\"\r\n imageAlt=\"carousel\"\r\n linkUrl=\"listing\"\r\n />\r\n </div>\r\n </OwlCarousel>\r\n </div>\r\n </Col>\r\n </Row>\r\n </Container>\r\n </section>\r\n );\r\n}\r\n\r\nconst options2 = {\r\n responsive: {\r\n 0: {\r\n items: 2,\r\n },\r\n 764: {\r\n items: 2,\r\n },\r\n 765: {\r\n items: 1,\r\n },\r\n 1200: {\r\n items: 1,\r\n },\r\n },\r\n lazyLoad: true,\r\n loop: true,\r\n autoplay: true,\r\n autoplaySpeed: 1000,\r\n dots: false,\r\n autoplayTimeout: 2000,\r\n nav: true,\r\n navText: [\"<i class='fa fa-chevron-left'></i>\", \"<i class='fa fa-chevron-right'></i>\"],\r\n autoplayHoverPause: true,\r\n};\r\n\r\nexport default TopSearch;\r\n","E:\\Project\\feature\\FoodDude-frontend\\src\\components\\ReviewCard\\index.js",[],"E:\\Project\\feature\\FoodDude-frontend\\src\\components\\myaccount\\Offers.js",[],"E:\\Project\\feature\\FoodDude-frontend\\src\\components\\myaccount\\Orders.js",["336"],"import React, { useState } from 'react';\r\nimport axios from 'axios';\r\nimport OrderCard from '../common/OrderCard';\r\n// import {Row,Col} from 'react-bootstrap';\r\nimport { BaseUrl } from '../../BaseUrl';\r\nimport Spinner from '../Spinner/index';\r\nconst { uid, token } = JSON.parse(localStorage.getItem('userData'));\r\n\r\nfunction Orders() {\r\n const [orderData, setOrderData] = useState([]);\r\n const [dataRecieved, setdataRecieved] = useState(false);\r\n const [loading, setLoading] = useState(false);\r\n\r\n React.useEffect(() => {\r\n try {\r\n setLoading(true);\r\n const fetchData = async () => {\r\n const result = await axios\r\n .post(\r\n `${BaseUrl}/api/order/user`,\r\n {\r\n userId: uid,\r\n },\r\n { headers: { Authorization: token } }\r\n )\r\n .catch((err) => {\r\n console.log(err.response);\r\n });\r\n\r\n if (result.data) {\r\n // console.log(Object.prototype.toString.call(result.data));\r\n // console.log(result.data);\r\n setOrderData(result.data);\r\n setdataRecieved(true);\r\n setLoading(false);\r\n console.log(uid);\r\n } else {\r\n setLoading(false);\r\n console.log('error');\r\n }\r\n };\r\n fetchData();\r\n } catch (err) {\r\n setLoading(false);\r\n console.log(err);\r\n }\r\n }, [dataRecieved]);\r\n {\r\n console.log(dataRecieved);\r\n }\r\n\r\n if (orderData !== null || orderData !== undefined || dataRecieved === true) {\r\n return (\r\n <>\r\n {loading && <Spinner />}\r\n {orderData.map((item) => {\r\n const orderItem = item.items;\r\n\r\n var id = item.id;\r\n var orderDate = { new: Date(item.billing.orderTime) };\r\n var Time = orderDate.new.substring(0, 24);\r\n var address = item.Address;\r\n var amount = item.billing.finalAmount;\r\n var location = '';\r\n if (item.Address) {\r\n location =\r\n address.houseNumber +\r\n ' ' +\r\n address.line1 +\r\n ' ' +\r\n address.line2 +\r\n ' ' +\r\n address.city +\r\n ' ' +\r\n address.state;\r\n }\r\n var Status = item.orderStatus;\r\n console.log(Status);\r\n var orderproducts = '';\r\n for (var i = 0; i < orderItem.length; i++) {\r\n orderproducts += orderItem[i].name + 'x' + orderItem[i].quantity + ',';\r\n }\r\n\r\n return (\r\n <OrderCard\r\n image=\"/img/3.jpg\"\r\n imageAlt=\"\"\r\n orderNumber={id}\r\n orderDate={Time}\r\n deliveredDate={Status}\r\n orderTitle=\"Gus's World Famous Fried Chicken\"\r\n address={location}\r\n orderProducts={orderproducts}\r\n orderTotal={amount}\r\n helpLink=\"#\"\r\n detailLink=\"/detail\"\r\n />\r\n );\r\n })}\r\n </>\r\n );\r\n } else {\r\n return <></>;\r\n }\r\n}\r\nexport default Orders;\r\n\r\n","E:\\Project\\feature\\FoodDude-frontend\\src\\components\\myaccount\\Favourites.js",[],"E:\\Project\\feature\\FoodDude-frontend\\src\\components\\myaccount\\Payments.js",[],"E:\\Project\\feature\\FoodDude-frontend\\src\\components\\myaccount\\Addresses.js",["337","338"],"import React from 'react';\r\nimport axios from 'axios';\r\nimport { Row, Col, Button } from 'react-bootstrap';\r\nimport AddAddressModal from '../modals/AddAddressModal';\r\nimport DeleteAddressModal from '../modals/DeleteAddressModal';\r\nimport EditAddressModal from '../modals/EditAddressModal';\r\nimport AddressCard from '../common/AddressCard';\r\nimport { BaseUrl2 } from '../../BaseUrl';\r\nfunction Addresses() {\r\n const [addressModal, showAddressModal] = React.useState(false);\r\n const [editModal, showEditModal] = React.useState(false);\r\n const [deleteModal, showDeleteModal] = React.useState(false);\r\n const [AddressData, setAddressData] = React.useState([]);\r\n const [recievedData, setRecievedData] = React.useState(false);\r\n const { uid, token } = JSON.parse(localStorage.getItem('userData'));\r\n const [addressId, setAddressId] = React.useState('');\r\n const [updated, isUpdated] = React.useState();\r\n\r\n React.useEffect(() => {\r\n try {\r\n console.log(uid);\r\n const fetchData = async () => {\r\n const result = await axios.post(\r\n `${BaseUrl2}/api/users/address/get-all`,\r\n {\r\n uid: uid,\r\n },\r\n {\r\n headers: { Authorization: token },\r\n }\r\n );\r\n\r\n if (result.data) {\r\n console.log(result.data);\r\n setAddressData(result.data);\r\n setRecievedData(true);\r\n } else {\r\n console.log('error');\r\n }\r\n };\r\n fetchData();\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }, [updated]);\r\n\r\n const hideDeleteModal = () => showDeleteModal(false);\r\n const hideAddressModal = () => showAddressModal(false);\r\n const hideEditModal = () => showEditModal(false);\r\n\r\n return (\r\n <>\r\n <EditAddressModal show={editModal} onHide={hideEditModal} isUpdated={isUpdated} addressId={addressId} />\r\n <AddAddressModal show={addressModal} onHide={hideAddressModal} isUpdated={isUpdated} />\r\n <DeleteAddressModal\r\n show={deleteModal}\r\n onHide={hideDeleteModal}\r\n isUpdated={isUpdated}\r\n addressId={addressId}\r\n />\r\n <div className=\"p-4 bg-white food-background\">\r\n <Row>\r\n <Col md={12}>\r\n <h4 className=\"font-weight-bold mt-0 mb-3 text-center\">Manage Addresses</h4>\r\n </Col>\r\n <Col className=\"col-md-6\" style={{ margin: 'auto' }}>\r\n {AddressData.map((item) => {\r\n return (\r\n <Row>\r\n <AddressCard\r\n boxClass=\"border border-primary shadow\"\r\n title=\"Home\"\r\n icoIcon=\"ui-home\"\r\n iconclassName=\"icofont-3x\"\r\n address={`${item.houseNumber}, ${item.line1}, ${item.line2}, ${item.city},${item.state} ${item.pincode}, India`}\r\n onEditClick={() => {\r\n setAddressId(item.id);\r\n showEditModal(true);\r\n }}\r\n onDeleteClick={() => {\r\n setAddressId(item.id);\r\n showDeleteModal(true);\r\n }}\r\n />\r\n </Row>\r\n );\r\n })}\r\n </Col>\r\n\r\n <Col md={12}>\r\n <div style={{ display: 'flex', justifyContent: 'center' }}>\r\n <Button\r\n type=\"button\"\r\n onClick={() => {\r\n showAddressModal(true);\r\n }}\r\n variant=\"primary\"\r\n className=\"d-flex w-50 text-center justify-content-center\"\r\n >\r\n Add Address\r\n </Button>\r\n </div>\r\n </Col>\r\n </Row>\r\n </div>\r\n </>\r\n );\r\n}\r\n\r\nexport default Addresses;\r\n","E:\\Project\\feature\\FoodDude-frontend\\src\\components\\modals\\EditProfileModal.js",["339"],"import React from 'react';\r\nimport { Form, Modal, Button } from 'react-bootstrap';\r\nimport axios from 'axios';\r\nfunction EditProfileModal(props) {\r\n const userData = JSON.parse(localStorage.getItem('userData'));\r\n // const onUpdateHandler = async()=>{\r\n // \tawait axios.post(\r\n // \t\t`${BaseUrl2}/api/user/update-user`,\r\n // \t\t{\r\n // \t\t\tname: res.user.displayName,\r\n // \t\t\tphone: res.user.phoneNumber,\r\n // \t\t\temail: res.user.email,\r\n // \t\t\tuid: res.user.uid,\r\n // \t\t},\r\n // \t\t{\r\n // \t\t\theaders: { Authorization: token },\r\n // \t\t}\r\n // \t);\r\n // }\r\n return (\r\n <Modal show={props.show} onHide={props.onHide} size=\"sm\" centered>\r\n <Modal.Header closeButton={true}>\r\n <Modal.Title as=\"h5\" id=\"edit-profile\">\r\n Edit profile\r\n </Modal.Title>\r\n </Modal.Header>\r\n\r\n <Modal.Body>\r\n <Form>\r\n <div className=\"form-row\">\r\n <Form.Group className=\"col-md-12 mb-0\">\r\n <Form.Label>Name</Form.Label>\r\n <Form.Control\r\n type=\"text\"\r\n defaultValue={userData.name}\r\n placeholder=\"Enter Name\r\n \"\r\n />\r\n </Form.Group>\r\n <Form.Group className=\"col-md-12\">\r\n <Form.Label>Phone number</Form.Label>\r\n <Form.Control type=\"text\" defaultValue={userData.phone} placeholder=\"Enter Phone number\" />\r\n </Form.Group>\r\n <Form.Group className=\"col-md-12\">\r\n <Form.Label>Email id</Form.Label>\r\n <Form.Control\r\n type=\"text\"\r\n defaultValue={userData.email}\r\n placeholder=\"Enter Email id\r\n \"\r\n />\r\n </Form.Group>\r\n </div>\r\n </Form>\r\n </Modal.Body>\r\n\r\n <Modal.Footer>\r\n <Button\r\n type=\"button\"\r\n onClick={props.onHide}\r\n variant=\"primary\"\r\n className=\"d-flex w-50 text-center justify-content-center\"\r\n >\r\n CANCEL\r\n </Button>\r\n <Button type=\"button\" variant=\"primary\" className=\"d-flex w-50 text-center justify-content-center\">\r\n UPDATE\r\n </Button>\r\n </Modal.Footer>\r\n </Modal>\r\n );\r\n}\r\n\r\nexport default EditProfileModal;\r\n","E:\\Project\\feature\\FoodDude-frontend\\src\\components\\modals\\AddAddressModal.js",["340","341","342"],"import React from 'react';\r\nimport { Form, InputGroup, Modal, ButtonToolbar, Button, ToggleButton, ToggleButtonGroup } from 'react-bootstrap';\r\nimport { BaseUrl2 } from '../../BaseUrl';\r\n\r\nexport default function AddAddressModal(props) {\r\n const housenoRef = React.useRef();\r\n const line1Ref = React.useRef();\r\n const line2Ref = React.useRef();\r\n const cityRef = React.useRef();\r\n const stateRef = React.useRef();\r\n const pincodeRef = React.useRef();\r\n\r\n const { token, uid } = JSON.parse(localStorage.getItem('userData'));\r\n const handleSubmit = async (e) => {\r\n e.preventDefault();\r\n const address = {\r\n houseNumber: housenoRef.current.value,\r\n line1: line1Ref.current.value,\r\n line2: line2Ref.current.value,\r\n city: cityRef.current.value,\r\n state: stateRef.current.value,\r\n pincode: pincodeRef.current.value,\r\n };\r\n\r\n try {\r\n const res = await fetch(`${BaseUrl2}/api/users/address/add`, {\r\n method: 'post',\r\n headers: { 'Content-Type': 'application/json', Authorization: token },\r\n body: JSON.stringify({\r\n address: address,\r\n uid: uid,\r\n }),\r\n });\r\n if (res) {\r\n props.isUpdated(Math.random());\r\n props.onHide();\r\n }\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n };\r\n\r\n return (\r\n <Modal show={props.show} onHide={props.onHide} centered>\r\n <Modal.Header closeButton={true}>\r\n <Modal.Title as=\"h5\" id=\"add-address\">\r\n Add Delivery Address\r\n </Modal.Title>\r\n </Modal.Header>\r\n\r\n <Modal.Body>\r\n <Form onSubmit={handleSubmit}>\r\n <div className=\"form-row\">\r\n <Form.Group className=\"col-md-12\">\r\n <Form.Label>House No.</Form.Label>\r\n <InputGroup>\r\n <Form.Control type=\"text\" placeholder=\"House no.\" ref={housenoRef} />\r\n </InputGroup>\r\n </Form.Group>\r\n <Form.Group className=\"col-md-12\">\r\n <Form.Label>Address Line 1</Form.Label>\r\n <InputGroup>\r\n <Form.Control type=\"text\" placeholder=\"Line 1\" ref={line1Ref} />\r\n </InputGroup>\r\n </Form.Group>\r\n <Form.Group className=\"col-md-12\">\r\n <Form.Label>Address Line 2</Form.Label>\r\n <InputGroup>\r\n <Form.Control type=\"text\" placeholder=\"Line 2\" ref={line2Ref} />\r\n </InputGroup>\r\n </Form.Group>\r\n <Form.Group className=\"col-md-12\">\r\n <Form.Label>City</Form.Label>\r\n <InputGroup>\r\n <Form.Control type=\"text\" readOnly value=\"Bhubaneswar\" ref={cityRef} />\r\n </InputGroup>\r\n </Form.Group>\r\n <Form.Group className=\"col-md-12\">\r\n <Form.Label>State</Form.Label>\r\n <InputGroup>\r\n <Form.Control type=\"text\" readOnly value=\"Orisha\" ref={stateRef} />\r\n </InputGroup>\r\n </Form.Group>\r\n <Form.Group className=\"col-md-12\">\r\n <Form.Label>Pincode</Form.Label>\r\n <InputGroup>\r\n <Form.Control type=\"number\" placeholder=\"Pincode\" ref={pincodeRef} />\r\n </InputGroup>\r\n </Form.Group>\r\n\r\n {/* <Form.Group className=\"mb-0 col-md-12\">\r\n <Form.Label>Nickname</Form.Label>\r\n <ButtonToolbar>\r\n <ToggleButtonGroup className=\"d-flex w-100\" type=\"radio\" name=\"options\" defaultValue={1}>\r\n \t\t\t\t\t\t\t <ToggleButton variant='info' value={1}>\r\n \t\t\t\t\t\t\t Home\r\n \t\t\t\t\t\t\t </ToggleButton>\r\n \t\t\t\t\t\t\t <ToggleButton variant='info' value={2}>\r\n \t\t\t\t\t\t\t Work\r\n \t\t\t\t\t\t\t </ToggleButton>\r\n \t\t\t\t\t\t\t <ToggleButton variant='info' value={3}>\r\n \t\t\t\t\t\t\t Other\r\n \t\t\t\t\t\t\t </ToggleButton>\r\n \t\t\t\t\t </ToggleButtonGroup>\r\n \t\t\t\t\t\t </ButtonToolbar>\r\n </Form.Group> */}\r\n </div>\r\n </Form>\r\n </Modal.Body>\r\n\r\n <Modal.Footer>\r\n <Button\r\n type=\"button\"\r\n onClick={props.onHide}\r\n variant=\"primary\"\r\n className=\"d-flex w-50 text-center justify-content-center\"\r\n >\r\n Cancel\r\n </Button>\r\n <Button\r\n type=\"button\"\r\n onClick={handleSubmit}\r\n variant=\"primary\"\r\n className=\"d-flex w-50 text-center justify-content-center\"\r\n >\r\n Submit\r\n </Button>\r\n </Modal.Footer>\r\n </Modal>\r\n );\r\n}\r\n","E:\\Project\\feature\\FoodDude-frontend\\src\\components\\cart\\CartDropdownItem.js",[],"E:\\Project\\feature\\FoodDude-frontend\\src\\components\\Spinner\\index.js",[],"E:\\Project\\feature\\FoodDude-frontend\\src\\components\\cart\\Cart.js",["343","344"],"import React, { useState } from 'react';\r\nimport axios from 'axios';\r\nimport { Link } from 'react-router-dom';\r\nimport { NavDropdown, Button } from 'react-bootstrap';\r\nimport DropDownTitle from '../common/DropDownTitle';\r\nimport CartDropdownHeader from '../cart/CartDropdownHeader';\r\nimport CartDropdownItem from '../cart/CartDropdownItem';\r\nimport { useAuth } from '../../contexts/AuthContext';\r\nimport { useOrder } from '../../contexts/OrderContext';\r\nimport { BaseUrl2 } from '../../BaseUrl';\r\nimport Spinner from '../Spinner/index';\r\nconst asyncLocalStorage = {\r\n setItem: async function (key, value) {\r\n return Promise.resolve().then(function () {\r\n localStorage.setItem(key, value);\r\n });\r\n },\r\n getItem: async function (key) {\r\n return Promise.resolve().then(function () {\r\n return localStorage.getItem(key);\r\n });\r\n },\r\n removeItem: async function (key) {\r\n return Promise.resolve().then(function () {\r\n return localStorage.getItem(key);\r\n });\r\n },\r\n};\r\nexport default function Cart(props) {\r\n // const [cartData, setCartData] = React.useState([]);\r\n const { setUVP, userDat } = useAuth();\r\n // const [totalPrice, setTotalPrice] = React.useState(0);\r\n const { cartItems, total, setCart } = useOrder();\r\n const [loading, setLoading] = useState(false);\r\n const { logout, currentUser } = useAuth();\r\n\r\n // const getQty = React.useCallback(\r\n // async ({ id, quantity, price }) => {\r\n // try {\r\n // const userData = JSON.parse(localStorage.getItem('userData'));\r\n\r\n // const item = {\r\n // name: id,\r\n // quantity: quantity,\r\n // price: price,\r\n // };\r\n // // console.log(item);\r\n // setLoading(true);\r\n // await axios.post(\r\n // `${BaseUrl2}/api/users/cart/add`,\r\n // {\r\n // item: item,\r\n // uid: userData.uid,\r\n // },\r\n // {\r\n // headers: {\r\n // Authorization: userData.token,\r\n // },\r\n // }\r\n // );\r\n // let newdata = [...cartItems];\r\n // // console.log(newdata);\r\n // if (quantity === 0) {\r\n // newdata = newdata.filter((ele) => ele.name !== id);\r\n // } else {\r\n // const index = newdata.findIndex((ele) => ele.name === id);\r\n // if (index !== -1) {\r\n // newdata[index].quantity = quantity;\r\n // } else {\r\n // newdata.push(item);\r\n // }\r\n // }\r\n\r\n // setCart(newdata);\r\n // setLoading(false);\r\n // } catch (err) {\r\n // // console.log(err);\r\n // setLoading(false);\r\n // console.log(err.message);\r\n // if (err.message.includes('401')) {\r\n // setLoading(false);\r\n // alert('Cause you not authenticated or your token expired and your safety we logged you out!');\r\n // logout();\r\n // }\r\n // }\r\n // },\r\n // [setCart, setLoading, cartItems]\r\n // );\r\n\r\n // const IncrementItem = (quantity, max, price) => {\r\n // if (!max) {\r\n // max = 5;\r\n // }\r\n // if (quantity >= max) {\r\n // } else {\r\n // // setQuantity(quantity+1)\r\n // console.log(quantity + 1);\r\n // getQty({ id: props.id, quantity: quantity + 1, price: price });\r\n // }\r\n // };\r\n // const DecreaseItem = (quantity, min, price) => {\r\n // if (!min) {\r\n // min = 0;\r\n // }\r\n // if (quantity <= min || 0) {\r\n // } else {\r\n // // setQuantity(quantity-1)\r\n // console.log(quantity - 1);\r\n // getQty({ id: props.id, quantity: quantity - 1, price: price });\r\n // }\r\n // };\r\n\r\n React.useEffect(() => {\r\n const getUsr = async () => {\r\n // console.log(userDat);\r\n setLoading(true);\r\n\r\n let userData = userDat;\r\n if (!userData) {\r\n const d = await asyncLocalStorage.getItem('userData');\r\n userData = await JSON.parse(d);\r\n }\r\n // console.log(userData);\r\n if (userData) {\r\n try {\r\n const result = await axios.post(\r\n `${BaseUrl2}/api/users/cart/get`,\r\n {\r\n uid: userData.uid,\r\n },\r\n {\r\n headers: { Authorization: userData.token },\r\n }\r\n );\r\n // console.log(result);\r\n // console.log(result);\r\n if (result === undefined || result.data === undefined) {\r\n // console.log('error');\r\n setLoading(false);\r\n alert('Due to some technical problem and your safety we logged you out!');\r\n logout();\r\n } else {\r\n if (userData.user.providerData.length < 2) {\r\n console.log(userData.user.providerData.length);\r\n setUVP(false);\r\n }\r\n setLoading(false);\r\n setCart(result.data);\r\n }\r\n } catch (e) {\r\n console.log(e.message);\r\n setLoading(false);\r\n if (e.message.includes('401')) {\r\n setLoading(false);\r\n alert('Cause you not authenticated or your token expired and your safety we logged you out!');\r\n await logout();\r\n }\r\n }\r\n } else {\r\n alert('Cart error!');\r\n await logout();\r\n setLoading(false);\r\n }\r\n };\r\n getUsr();\r\n }, [setCart, logout, userDat, setUVP]);\r\n\r\n return (\r\n <>\r\n {loading && <Spinner />}\r\n\r\n <NavDropdown\r\n activeclassname=\"active\"\r\n alignRight\r\n className=\"dropdown-cart\"\r\n title={\r\n <DropDownTitle\r\n className=\"d-inline-block\"\r\n faIcon=\"shopping-basket\"\r\n iconClass=\"mr-1\"\r\n title=\"Cart\"\r\n badgeClass=\"ml-1\"\r\n badgeVariant=\"success\"\r\n badgeValue={cartItems && cartItems.length}\r\n />\r\n }\r\n >\r\n <div className=\"dropdown-cart-top shadow-sm\">\r\n {\r\n <CartDropdownHeader\r\n className=\"dropdown-cart-top-header p-4\"\r\n title=\"Your Cart\"\r\n subTitle=\"Remember!! Belly rules the mind :)\"\r\n NavLinkUrl=\"/detail\"\r\n NavLinkText=\"View Full Menu\"\r\n />\r\n }\r\n <div className=\"dropdown-cart-top-body border-top p-4\">\r\n {cartItems.map((item) => {\r\n return (\r\n <CartDropdownItem\r\n icoIcon=\"ui-press\"\r\n key={item.name}\r\n iconClass={`text-${\r\n item.name.toLowerCase().includes('chicken') ||\r\n item.name.toLowerCase().includes('fish') ||\r\n item.name.toLowerCase().includes('mutton')\r\n ? 'danger'\r\n : 'success'\r\n } food-item`}\r\n title={`${item.name} x ${item.quantity}`}\r\n price={`₹${item.quantity * item.price}`}\r\n />\r\n );\r\n })}\r\n </div>\r\n <div className=\"dropdown-cart-top-footer border-top p-4\">\r\n <p className=\"mb-0 font-weight-bold text-secondary\">\r\n Sub Total <span className=\"float-right text-dark\">{total}</span>\r\n </p>\r\n <small className=\"text-info\">Extra charges may apply</small>\r\n </div>\r\n <div className=\"dropdown-cart-top-footer border-top p-2\">\r\n <NavDropdown.Item\r\n eventKey={5.1}\r\n as={Link}\r\n className=\"btn btn-success btn-block py-3 text-white text-center dropdown-item\"\r\n to=\"/checkout\"\r\n >\r\n {' '}\r\n Checkout\r\n </NavDropdown.Item>\r\n </div>\r\n </div>\r\n </NavDropdown>\r\n </>\r\n );\r\n}\r\n","E:\\Project\\feature\\FoodDude-frontend\\src\\components\\common\\DropDownTitle.js",[],"E:\\Project\\feature\\FoodDude-frontend\\src\\components\\LinkToLinking\\index.js",[],"E:\\Project\\feature\\FoodDude-frontend\\src\\components\\common\\QuickBite.js",[],"E:\\Project\\feature\\FoodDude-frontend\\src\\components\\Order\\Cart.js",[],"E:\\Project\\feature\\FoodDude-frontend\\src\\components\\staticPages\\Popup\\index.js",[],"E:\\Project\\feature\\FoodDude-frontend\\src\\components\\home\\ProductBox.js",[],"E:\\Project\\feature\\FoodDude-frontend\\src\\components\\common\\PaymentCard.js",[],"E:\\Project\\feature\\FoodDude-frontend\\src\\components\\modals\\DeleteAddressModal.js",[],"E:\\Project\\feature\\FoodDude-frontend\\src\\components\\common\\OrderCard.js",["345","346"],"import React, { useState } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Link, useHistory } from 'react-router-dom';\r\nimport { Image, Media, Button } from 'react-bootstrap';\r\nimport Spinner from '../Spinner/index';\r\nimport Icofont from 'react-icofont';\r\nimport axios from 'axios';\r\nimport { BaseUrl, BaseUrl2 } from '../../BaseUrl';\r\nconst { uid, token } = JSON.parse(localStorage.getItem('userData'));\r\n\r\nfunction OrderCard(props) {\r\n const history = useHistory();\r\n const [deliveryStatus, setDeliveryStatus] = useState('');\r\n const [loading, setLoading] = useState(false);\r\n React.useEffect(() => {\r\n console.log(props.deliveredDate);\r\n console.log(typeof props.deliveredDate);\r\n if (props.deliveredDate === 0) setDeliveryStatus('Processing');\r\n else if (props.deliveredDate === 1) setDeliveryStatus('On the Way');\r\n else if (props.deliveredDate === 2) setDeliveryStatus('Delivered');\r\n }, []);\r\n\r\n const reOrder = async () => {\r\n setLoading(true);\r\n await axios\r\n .post(\r\n `${BaseUrl}/api/order/get`,\r\n {\r\n id: props.orderNumber,\r\n },\r\n {\r\n headers: { Authorization: token },\r\n }\r\n )\r\n .then(async (res) => {\r\n if (res.success !== false) {\r\n console.log(res.data.items);\r\n\r\n await axios\r\n .post(\r\n `${BaseUrl2}/api/users/cart/delete`,\r\n {\r\n uid: uid,\r\n },\r\n {\r\n headers: { Authorization: token },\r\n }\r\n )\r\n .then((res) => {\r\n console.log('cart data has been deleted');\r\n })\r\n .catch((err) => {\r\n console.log(err.response);\r\n setLoading(false);\r\n });\r\n\r\n const allItems = res.data.items.map((it) => {\r\n return axios\r\n .post(\r\n `${BaseUrl2}/api/users/cart/add`,\r\n {\r\n uid: uid,\r\n item: it,\r\n },\r\n { headers: { Authorization: token } }\r\n )\r\n .catch((err) => {\r\n console.log(err);\r\n setLoading(false);\r\n });\r\n });\r\n await Promise.all(allItems);\r\n console.log('item has been inserted into cart');\r\n setLoading(false);\r\n history.push('../checkout');\r\n } else {\r\n console.log(res.message);\r\n setLoading(false);\r\n }\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n };\r\n\r\n return (\r\n <>\r\n {loading && <Spinner />}\r\n <div className=\"bg-white card mb-4 order-list shadow-sm\">\r\n <div className=\"gold-members p-4\">\r\n <Media>\r\n <Image className=\"mr-4\" src={props.image} alt={props.imageAlt} />\r\n <Media.Body>\r\n <span className=\"float-right text-info\">\r\n {deliveryStatus}\r\n {deliveryStatus == 'Delivered' ? (\r\n <Icofont icon=\"check-circled\" className=\"text-success ml-1\" />\r\n ) : null}\r\n </span>\r\n\r\n <h6 className=\"mb-2\">\r\n <Link to={props.detailLink} className=\"text-black\">\r\n {props.orderTitle}{' '}\r\n </Link>\r\n </h6>\r\n <p className=\"text-gray mb-1\">\r\n <Icofont icon=\"location-arrow\" /> {props.address}\r\n </p>\r\n <p className=\"text-gray mb-3\">\r\n <Icofont icon=\"list\" /> ORDER #{props.orderNumber}\r\n <Icofont icon=\"clock-time\" className=\"ml-2\" /> {props.orderDate}\r\n </p>\r\n <p className=\"text-dark\">{props.orderProducts}</p>\r\n <hr />\r\n <div className=\"float-right\">\r\n <Button className=\"btn btn-sm btn-primary\" onClick={reOrder}>\r\n <Icofont icon=\"refresh\" /> REORDER\r\n </Button>\r\n </div>\r\n <p className=\"mb-0 text-black text-primary pt-2\">\r\n <span className=\"text-black font-weight-bold\"> Total Paid:</span> {props.orderTotal}\r\n </p>\r\n </Media.Body>\r\n </Media>\r\n </div>\r\n </div>\r\n </>\r\n );\r\n}\r\n\r\nOrderCard.propTypes = {\r\n image: PropTypes.string.isRequired,\r\n imageAlt: PropTypes.string,\r\n orderNumber: PropTypes.string.isRequired,\r\n orderDate: PropTypes.string.isRequired,\r\n deliveredDate: PropTypes.string,\r\n orderTitle: PropTypes.string.isRequired,\r\n address: PropTypes.string.isRequired,\r\n orderProducts: PropTypes.string.isRequired,\r\n helpLink: PropTypes.string.isRequired,\r\n detailLink: PropTypes.string.isRequired,\r\n orderTotal: PropTypes.string.isRequired,\r\n};\r\nexport default OrderCard;\r\n","E:\\Project\\feature\\FoodDude-frontend\\src\\components\\modals\\EditAddressModal.js",["347","348","349"],"import React from 'react';\r\nimport { Form, InputGroup, Modal, ButtonToolbar, Button, ToggleButton, ToggleButtonGroup } from 'react-bootstrap';\r\n\r\nexport default function EditAddressModal(props) {\r\n const housenoRef = React.useRef();\r\n const line1Ref = React.useRef();\r\n const line2Ref = React.useRef();\r\n const cityRef = React.useRef();\r\n const stateRef = React.useRef();\r\n const pincodeRef = React.useRef();\r\n\r\n const { token, uid } = JSON.parse(localStorage.getItem('userData'));\r\n const handleSubmit = async (e) => {\r\n e.preventDefault();\r\n const address = {\r\n houseNumber: housenoRef.current.value,\r\n line1: line1Ref.current.value,\r\n line2: line2Ref.current.value,\r\n city: cityRef.current.value,\r\n state: stateRef.current.value,\r\n pincode: pincodeRef.current.value,\r\n };\r\n\r\n try {\r\n const res = await fetch(`http://localhost:3030/api/users/address/edit`, {\r\n method: 'post',\r\n headers: { 'Content-Type': 'application/json', Authorization: token },\r\n body: JSON.stringify({\r\n address: address,\r\n uid: uid,\r\n addressId: props.addressId,\r\n }),\r\n });\r\n if (res) {\r\n props.isUpdated(Math.random());\r\n props.onHide();\r\n }\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n };\r\n\r\n return (\r\n <Modal show={props.show} onHide={props.onHide} centered>\r\n <Modal.Header closeButton={true}>\r\n <Modal.Title as=\"h5\" id=\"add-address\">\r\n Edit Address\r\n </Modal.Title>\r\n </Modal.Header>\r\n\r\n <Modal.Body>\r\n <Form onSubmit={handleSubmit}>\r\n <div className=\"form-row\">\r\n <Form.Group className=\"col-md-12\">\r\n <Form.Label>House No.</Form.Label>\r\n <InputGroup>\r\n <Form.Control type=\"text\" placeholder=\"House no.\" ref={housenoRef} />\r\n </InputGroup>\r\n </Form.Group>\r\n <Form.Group className=\"col-md-12\">\r\n <Form.Label>Address Line 1</Form.Label>\r\n <InputGroup>\r\n <Form.Control type=\"text\" placeholder=\"Line 1\" ref={line1Ref} />\r\n </InputGroup>\r\n </Form.Group>\r\n <Form.Group className=\"col-md-12\">\r\n <Form.Label>Address Line 2</Form.Label>\r\n <InputGroup>\r\n <Form.Control type=\"text\" placeholder=\"Line 2\" ref={line2Ref} />\r\n </InputGroup>\r\n </Form.Group>\r\n <Form.Group className=\"col-md-12\">\r\n <Form.Label>City</Form.Label>\r\n <InputGroup>\r\n <Form.Control type=\"text\" readOnly value=\"Bhubaneswar\" ref={cityRef} />\r\n </InputGroup>\r\n </Form.Group>\r\n <Form.Group className=\"col-md-12\">\r\n <Form.Label>State</Form.Label>\r\n <InputGroup>\r\n <Form.Control type=\"text\" readOnly value=\"Orisha\" ref={stateRef} />\r\n </InputGroup>\r\n </Form.Group>\r\n <Form.Group className=\"col-md-12\">\r\n <Form.Label>Pincode</Form.Label>\r\n <InputGroup>\r\n <Form.Control type=\"number\" placeholder=\"Pincode\" ref={pincodeRef} />\r\n </InputGroup>\r\n </Form.Group>\r\n </div>\r\n </Form>\r\n </Modal.Body>\r\n\r\n <Modal.Footer>\r\n <Button\r\n type=\"button\"\r\n onClick={props.onHide}\r\n variant=\"primary\"\r\n className=\"d-flex w-50 text-center justify-content-center\"\r\n >\r\n Cancel\r\n </Button>\r\n <Button\r\n type=\"button\"\r\n onClick={handleSubmit}\r\n variant=\"primary\"\r\n className=\"d-flex w-50 text-center justify-content-center\"\r\n >\r\n Submit\r\n </Button>\r\n </Modal.Footer>\r\n </Modal>\r\n );\r\n}\r\n","E:\\Project\\feature\\FoodDude-frontend\\src\\components\\common\\AddressCard.js",["350"],"import React from 'react';\r\nimport { Link } from 'react-router-dom';\r\nimport { Card, Media, Button } from 'react-bootstrap';\r\nimport Icofont from 'react-icofont';\r\nimport PropTypes from 'prop-types';\r\n\r\nfunction AddressCard(props) {\r\n return (\r\n <Card className={'bg-white addresses-item mb-4 ' + props.boxClass} style={{ width: '100%' }}>\r\n <div className=\"gold-members p-4\" style={{ paddingLeft: '2px' }}>\r\n <Media>\r\n <div className=\"mr-3\">\r\n <Icofont icon={props.icoIcon} className={props.iconclassName} />\r\n </div>\r\n <div className=\"media-body\">\r\n <h6 className=\"mb-1 text-secondary\">{props.title}</h6>\r\n <p className=\"text-black\">{props.address}</p>\r\n <p className=\"mb-0 text-black font-weight-bold\">\r\n <Link className=\"text-primary mr-3\" to=\"#\" onClick={props.onEditClick}>\r\n <Icofont icon=\"ui-edit\" /> EDIT\r\n </Link>\r\n <Link className=\"text-danger\" to=\"#\" onClick={props.onDeleteClick}>\r\n <Icofont icon=\"ui-delete\" /> DELETE\r\n </Link>\r\n </p>\r\n </div>\r\n </Media>\r\n </div>\r\n </Card>\r\n );\r\n}\r\n\r\nAddressCard.propTypes = {\r\n title: PropTypes.string.isRequired,\r\n icoIcon: PropTypes.string.isRequired,\r\n iconclassName: PropTypes.string,\r\n address: PropTypes.string,\r\n onEditClick: PropTypes.func.isRequired,\r\n onDeleteClick: PropTypes.func.isRequired,\r\n};\r\n\r\nexport default AddressCard;\r\n","E:\\Project\\feature\\FoodDude-frontend\\src\\components\\cart\\CartDropdownHeader.js",[],{"ruleId":"351","replacedBy":"352"},{"ruleId":"353","replacedBy":"354"},{"ruleId":"355","severity":1,"message":"356","line":92,"column":7,"nodeType":"357","messageId":"358","endLine":92,"endColumn":14},{"ruleId":"355","severity":1,"message":"356","line":549,"column":7,"nodeType":"357","messageId":"358","endLine":549,"endColumn":14},{"ruleId":"355","severity":1,"message":"356","line":261,"column":7,"nodeType":"357","messageId":"358","endLine":261,"endColumn":14},{"ruleId":"355","severity":1,"message":"359","line":4,"column":35,"nodeType":"357","messageId":"358","endLine":4,"endColumn":43},{"ruleId":"355","severity":1,"message":"360","line":4,"column":27,"nodeType":"357","messageId":"358","endLine":4,"endColumn":32},{"ruleId":"355","severity":1,"message":"361","line":1,"column":17,"nodeType":"357","messageId":"358","endLine":1,"endColumn":26},{"ruleId":"355","severity":1,"message":"362","line":8,"column":10,"nodeType":"357","messageId":"358","endLine":8,"endColumn":18},{"ruleId":"355","severity":1,"message":"363","line":9,"column":10,"nodeType":"357","messageId":"358","endLine":9,"endColumn":17},{"ruleId":"355","severity":1,"message":"361","line":1,"column":17,"nodeType":"357","messageId":"358","endLine":1,"endColumn":26},{"ruleId":"364","severity":1,"message":"365","line":227,"column":6,"nodeType":"366","endLine":227,"endColumn":15,"suggestions":"367"},{"ruleId":"364","severity":1,"message":"368","line":268,"column":6,"nodeType":"366","endLine":268,"endColumn":8,"suggestions":"369"},{"ruleId":"364","severity":1,"message":"370","line":348,"column":6,"nodeType":"366","endLine":348,"endColumn":25,"suggestions":"371"},{"ruleId":"364","severity":1,"message":"372","line":54,"column":8,"nodeType":"366","endLine":54,"endColumn":10,"suggestions":"373"},{"ruleId":"364","severity":1,"message":"374","line":115,"column":9,"nodeType":"366","endLine":115,"endColumn":41,"suggestions":"375"},{"ruleId":"355","severity":1,"message":"356","line":63,"column":7,"nodeType":"357","messageId":"358","endLine":63,"endColumn":14},{"ruleId":"364","severity":1,"message":"376","line":90,"column":8,"nodeType":"366","endLine":90,"endColumn":10,"suggestions":"377"},{"ruleId":"355","severity":1,"message":"378","line":2,"column":8,"nodeType":"357","messageId":"358","endLine":2,"endColumn":13},{"ruleId":"355","severity":1,"message":"379","line":3,"column":19,"nodeType":"357","messageId":"358","endLine":3,"endColumn":23},{"ruleId":"355","severity":1,"message":"380","line":4,"column":54,"nodeType":"357","messageId":"358","endLine":4,"endColumn":59},{"ruleId":"355","severity":1,"message":"381","line":27,"column":12,"nodeType":"357","messageId":"358","endLine":27,"endColumn":17},{"ruleId":"364","severity":1,"message":"382","line":36,"column":8,"nodeType":"366","endLine":36,"endColumn":10,"suggestions":"383"},{"ruleId":"355","severity":1,"message":"384","line":28,"column":19,"nodeType":"357","messageId":"358","endLine":28,"endColumn":27},{"ruleId":"364","severity":1,"message":"385","line":46,"column":8,"nodeType":"366","endLine":46,"endColumn":10,"suggestions":"386"},{"ruleId":"387","severity":1,"message":"388","line":8,"column":49,"nodeType":"389","endLine":8,"endColumn":75},{"ruleId":"355","severity":1,"message":"380","line":3,"column":15,"nodeType":"357","messageId":"358","endLine":3,"endColumn":20},{"ruleId":"355","severity":1,"message":"390","line":5,"column":8,"nodeType":"357","messageId":"358","endLine":5,"endColumn":15},{"ruleId":"355","severity":1,"message":"379","line":2,"column":9,"nodeType":"357","messageId":"358","endLine":2,"endColumn":13},{"ruleId":"355","severity":1,"message":"360","line":3,"column":9,"nodeType":"357","messageId":"358","endLine":3,"endColumn":14},{"ruleId":"355","severity":1,"message":"379","line":2,"column":10,"nodeType":"357","messageId":"358","endLine":2,"endColumn":14},{"ruleId":"355","severity":1,"message":"391","line":3,"column":23,"nodeType":"357","messageId":"358","endLine":3,"endColumn":29},{"ruleId":"355","severity":1,"message":"392","line":8,"column":19,"nodeType":"357","messageId":"358","endLine":8,"endColumn":27},{"ruleId":"355","severity":1,"message":"393","line":1,"column":17,"nodeType":"357","messageId":"358","endLine":1,"endColumn":26},{"ruleId":"355","severity":1,"message":"391","line":3,"column":10,"nodeType":"357","messageId":"358","endLine":3,"endColumn":16},{"ruleId":"355","severity":1,"message":"394","line":9,"column":10,"nodeType":"357","messageId":"358","endLine":9,"endColumn":14},{"ruleId":"355","severity":1,"message":"395","line":9,"column":16,"nodeType":"357","messageId":"358","endLine":9,"endColumn":29},{"ruleId":"364","severity":1,"message":"396","line":42,"column":8,"nodeType":"366","endLine":42,"endColumn":17,"suggestions":"397"},{"ruleId":"398","severity":1,"message":"399","line":48,"column":5,"nodeType":"400","messageId":"401","endLine":50,"endColumn":6},{"ruleId":"355","severity":1,"message":"402","line":14,"column":12,"nodeType":"357","messageId":"358","endLine":14,"endColumn":24},{"ruleId":"364","severity":1,"message":"365","line":45,"column":8,"nodeType":"366","endLine":45,"endColumn":17,"suggestions":"403"},{"ruleId":"355","severity":1,"message":"378","line":3,"column":8,"nodeType":"357","messageId":"358","endLine":3,"endColumn":13},{"ruleId":"355","severity":1,"message":"404","line":2,"column":35,"nodeType":"357","messageId":"358","endLine":2,"endColumn":48},{"ruleId":"355","severity":1,"message":"405","line":2,"column":58,"nodeType":"357","messageId":"358","endLine":2,"endColumn":70},{"ruleId":"355","severity":1,"message":"406","line":2,"column":72,"nodeType":"357","messageId":"358","endLine":2,"endColumn":89},{"ruleId":"355","severity":1,"message":"391","line":4,"column":23,"nodeType":"357","messageId":"358","endLine":4,"endColumn":29},{"ruleId":"355","severity":1,"message":"407","line":35,"column":21,"nodeType":"357","messageId":"358","endLine":35,"endColumn":32},{"ruleId":"364","severity":1,"message":"408","line":21,"column":8,"nodeType":"366","endLine":21,"endColumn":10,"suggestions":"409"},{"ruleId":"410","severity":1,"message":"411","line":96,"column":49,"nodeType":"412","messageId":"413","endLine":96,"endColumn":51},{"ruleId":"355","severity":1,"message":"404","line":2,"column":35,"nodeType":"357","messageId":"358","endLine":2,"endColumn":48},{"ruleId":"355","severity":1,"message":"405","line":2,"column":58,"nodeType":"357","messageId":"358","endLine":2,"endColumn":70},{"ruleId":"355","severity":1,"message":"406","line":2,"column":72,"nodeType":"357","messageId":"358","endLine":2,"endColumn":89},{"ruleId":"355","severity":1,"message":"391","line":3,"column":23,"nodeType":"357","messageId":"358","endLine":3,"endColumn":29},"no-native-reassign",["414"],"no-negated-in-lhs",["415"],"no-unused-vars","'options' is assigned a value but never used.","Identifier","unusedVar","'faMobile' is defined but never used.","'Image' is defined but never used.","'useEffect' is defined but never used.","'BaseUrl2' is defined but never used.","'BaseUrl' is defined but never used.","react-hooks/exhaustive-deps","React Hook React.useEffect has missing dependencies: 'token' and 'uid'. Either include them or remove the dependency array.","ArrayExpression",["416"],"React Hook React.useEffect has missing dependencies: 'setCart', 'token', and 'uid'. Either include them or remove the dependency array.",["417"],"React Hook React.useEffect has missing dependencies: 'token', 'total', and 'uid'. Either include them or remove the dependency array.",["418"],"React Hook React.useEffect has a missing dependency: 'logout'. Either include it or remove the dependency array.",["419"],"React Hook React.useCallback has a missing dependency: 'logout'. Either include it or remove the dependency array.",["420"],"React Hook useEffect has a missing dependency: 'currentUser'. Either include it or remove the dependency array.",["421"],"'axios' is defined but never used.","'Link' is defined but never used.","'Badge' is defined but never used.","'error' is assigned a value but never used.","React Hook React.useEffect has a missing dependency: 'setCurrentUser'. Either include it or remove the dependency array.",["422"],"'setError' is assigned a value but never used.","React Hook useEffect has a missing dependency: 'history'. Either include it or remove the dependency array.",["423"],"react/jsx-no-duplicate-props","No duplicate props allowed","JSXAttribute","'Icofont' is defined but never used.","'Button' is defined but never used.","'setFocus' is assigned a value but never used.","'Component' is defined but never used.","'auth' is defined but never used.","'phoneProvider' is defined but never used.","React Hook React.useEffect has a missing dependency: 'sendingData'. Either include it or remove the dependency array.",["424"],"no-lone-blocks","Nested block is redundant.","BlockStatement","redundantNestedBlock","'recievedData' is assigned a value but never used.",["425"],"'ButtonToolbar' is defined but never used.","'ToggleButton' is defined but never used.","'ToggleButtonGroup' is defined but never used.","'currentUser' is assigned a value but never used.","React Hook React.useEffect has a missing dependency: 'props.deliveredDate'. Either include it or remove the dependency array.",["426"],"eqeqeq","Expected '===' and instead saw '=='.","BinaryExpression","unexpected","no-global-assign","no-unsafe-negation",{"desc":"427","fix":"428"},{"desc":"429","fix":"430"},{"desc":"431","fix":"432"},{"desc":"433","fix":"434"},{"desc":"435","fix":"436"},{"desc":"437","fix":"438"},{"desc":"439","fix":"440"},{"desc":"441","fix":"442"},{"desc":"443","fix":"444"},{"desc":"427","fix":"445"},{"desc":"446","fix":"447"},"Update the dependencies array to be: [token, uid, updated]",{"range":"448","text":"449"},"Update the dependencies array to be: [setCart, token, uid]",{"range":"450","text":"451"},"Update the dependencies array to be: [checkingPromocode, token, total, uid]",{"range":"452","text":"453"},"Update the dependencies array to be: [logout]",{"range":"454","text":"455"},"Update the dependencies array to be: [cartItems, setCart, logout]",{"range":"456","text":"457"},"Update the dependencies array to be: [currentUser]",{"range":"458","text":"459"},"Update the dependencies array to be: [setCurrentUser]",{"range":"460","text":"461"},"Update the dependencies array to be: [history]",{"range":"462","text":"463"},"Update the dependencies array to be: [pincode, sendingData]",{"range":"464","text":"465"},{"range":"466","text":"449"},"Update the dependencies array to be: [props.deliveredDate]",{"range":"467","text":"468"},[7156,7165],"[token, uid, updated]",[8111,8113],"[setCart, token, uid]",[10335,10354],"[checkingPromocode, token, total, uid]",[2083,2085],"[logout]",[4393,4425],"[cartItems, setCart, logout]",[2628,2630],"[currentUser]",[1391,1393],"[setCurrentUser]",[1673,1675],"[history]",[1621,1630],"[pincode, sendingData]",[1748,1757],[957,959],"[props.deliveredDate]"]