%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /var/www/html/.next/cache/eslint/
Upload File :
Create Path :
Current File : /var/www/html/.next/cache/eslint/.cache_uqv5pk

[{"/var/www/html/pages/_app.js":"1","/var/www/html/pages/_document.js":"2","/var/www/html/pages/contact/index.js":"3","/var/www/html/pages/index.js":"4","/var/www/html/pages/privacy-policy/index.js":"5","/var/www/html/pages/rent/[slug]/index.js":"6","/var/www/html/pages/rent/index.js":"7","/var/www/html/pages/terms-and-conditions/index.js":"8","/var/www/html/pages/tours/[slug]/index.js":"9","/var/www/html/pages/tours/index.js":"10","/var/www/html/pages/news/[slug]/index.js":"11","/var/www/html/pages/news/index.js":"12","/var/www/html/src/Components/About.js":"13","/var/www/html/src/Components/Backgrounds.js":"14","/var/www/html/src/Components/ChooseTour.js":"15","/var/www/html/src/Components/Contact.js":"16","/var/www/html/src/Components/Footer.js":"17","/var/www/html/src/Components/Global/CustomHead.js":"18","/var/www/html/src/Components/Header.js":"19","/var/www/html/src/Components/HeroLogo.js":"20","/var/www/html/src/Components/Icons.js":"21","/var/www/html/src/Components/Menu.js":"22","/var/www/html/src/Components/News.js":"23","/var/www/html/src/Components/Rent.js":"24","/var/www/html/src/Components/VideoComponent.js":"25","/var/www/html/src/Components/data/rent-db.js":"26","/var/www/html/src/Components/data/tours-db.js":"27","/var/www/html/src/Components/store/Action.js":"28","/var/www/html/src/Components/store/context/GlobalContext.js":"29","/var/www/html/src/Components/store/reducers/GlobalReducers.js":"30","/var/www/html/src/Components/useInView.js":"31"},{"size":1814,"mtime":1713451031875,"results":"32","hashOfConfig":"33"},{"size":1359,"mtime":1713343489865,"results":"34","hashOfConfig":"33"},{"size":581,"mtime":1660225734304,"results":"35","hashOfConfig":"33"},{"size":1214,"mtime":1686750546879,"results":"36","hashOfConfig":"33"},{"size":859,"mtime":1717493924576,"results":"37","hashOfConfig":"33"},{"size":13397,"mtime":1713451816391,"results":"38","hashOfConfig":"33"},{"size":225,"mtime":1660220977357,"results":"39","hashOfConfig":"33"},{"size":2506,"mtime":1717494645336,"results":"40","hashOfConfig":"33"},{"size":13130,"mtime":1713451816391,"results":"41","hashOfConfig":"33"},{"size":221,"mtime":1660220977357,"results":"42","hashOfConfig":"33"},{"size":2263,"mtime":1713451031875,"results":"43","hashOfConfig":"33"},{"size":2661,"mtime":1713451031875,"results":"44","hashOfConfig":"33"},{"size":4011,"mtime":1713451031875,"results":"45","hashOfConfig":"33"},{"size":12274,"mtime":1660220977357,"results":"46","hashOfConfig":"33"},{"size":3992,"mtime":1686750546879,"results":"47","hashOfConfig":"33"},{"size":9293,"mtime":1713539225086,"results":"48","hashOfConfig":"33"},{"size":2830,"mtime":1713343489869,"results":"49","hashOfConfig":"33"},{"size":1962,"mtime":1697725031554,"results":"50","hashOfConfig":"33"},{"size":2103,"mtime":1660220977357,"results":"51","hashOfConfig":"33"},{"size":7536,"mtime":1713539096948,"results":"52","hashOfConfig":"33"},{"size":267316,"mtime":1713451031879,"results":"53","hashOfConfig":"33"},{"size":6183,"mtime":1713343489869,"results":"54","hashOfConfig":"33"},{"size":3278,"mtime":1686750546879,"results":"55","hashOfConfig":"33"},{"size":2800,"mtime":1713451031879,"results":"56","hashOfConfig":"33"},{"size":544,"mtime":1659952856820,"results":"57","hashOfConfig":"33"},{"size":7374,"mtime":1686664517871,"results":"58","hashOfConfig":"33"},{"size":9160,"mtime":1686664517871,"results":"59","hashOfConfig":"33"},{"size":155,"mtime":1713451031879,"results":"60","hashOfConfig":"33"},{"size":1669,"mtime":1713451031879,"results":"61","hashOfConfig":"33"},{"size":569,"mtime":1713451031879,"results":"62","hashOfConfig":"33"},{"size":544,"mtime":1713451031879,"results":"63","hashOfConfig":"33"},{"filePath":"64","messages":"65","suppressedMessages":"66","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"whonc7",{"filePath":"67","messages":"68","suppressedMessages":"69","errorCount":0,"fatalErrorCount":0,"warningCount":2,"fixableErrorCount":0,"fixableWarningCount":0,"source":"70"},{"filePath":"71","messages":"72","suppressedMessages":"73","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"74","messages":"75","suppressedMessages":"76","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"77","messages":"78","suppressedMessages":"79","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"80","messages":"81","suppressedMessages":"82","errorCount":0,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"83"},{"filePath":"84","messages":"85","suppressedMessages":"86","errorCount":0,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"87"},{"filePath":"88","messages":"89","suppressedMessages":"90","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"91","messages":"92","suppressedMessages":"93","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"94","messages":"95","suppressedMessages":"96","errorCount":0,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"97"},{"filePath":"98","messages":"99","suppressedMessages":"100","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"101","messages":"102","suppressedMessages":"103","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"104","messages":"105","suppressedMessages":"106","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"107","messages":"108","suppressedMessages":"109","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"110","messages":"111","suppressedMessages":"112","errorCount":0,"fatalErrorCount":0,"warningCount":3,"fixableErrorCount":0,"fixableWarningCount":0,"source":"113"},{"filePath":"114","messages":"115","suppressedMessages":"116","errorCount":0,"fatalErrorCount":0,"warningCount":2,"fixableErrorCount":0,"fixableWarningCount":0,"source":"117"},{"filePath":"118","messages":"119","suppressedMessages":"120","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"121","messages":"122","suppressedMessages":"123","errorCount":0,"fatalErrorCount":0,"warningCount":2,"fixableErrorCount":0,"fixableWarningCount":0,"source":"124"},{"filePath":"125","messages":"126","suppressedMessages":"127","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"128","messages":"129","suppressedMessages":"130","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"131","messages":"132","suppressedMessages":"133","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"134","messages":"135","suppressedMessages":"136","errorCount":0,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"137"},{"filePath":"138","messages":"139","suppressedMessages":"140","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"141","messages":"142","suppressedMessages":"143","errorCount":0,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"144"},{"filePath":"145","messages":"146","suppressedMessages":"147","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"148","messages":"149","suppressedMessages":"150","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"151","messages":"152","suppressedMessages":"153","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"154","messages":"155","suppressedMessages":"156","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"157","messages":"158","suppressedMessages":"159","errorCount":0,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"160"},{"filePath":"161","messages":"162","suppressedMessages":"163","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"164","messages":"165","suppressedMessages":"166","errorCount":0,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"167"},"/var/www/html/pages/_app.js",[],[],"/var/www/html/pages/_document.js",["168","169"],[],"import { Html, Head, Main, NextScript } from \"next/document\";\n\nexport default function Document() {\n  return (\n    <Html>\n      <Head>\n        <link rel=\"preconnect\" href=\"https://fonts.googleapis.com\" />\n        <link\n          rel=\"preconnect\"\n          href=\"https://fonts.gstatic.com\"\n          crossOrigin=\"true\"\n        />\n        <link\n          href=\"https://fonts.googleapis.com/css2?family=Anton&display=block\"\n          rel=\"stylesheet\"\n        ></link>\n        <link\n          href=\"https://fonts.googleapis.com/css2?family=Inter:wght@100..900&display=block\"\n          rel=\"stylesheet\"\n        ></link>\n        {/* <link\n          rel=\"preload\"\n          href=\"/fonts/Inter-SemiBold.ttf\"\n          as=\"font\"\n          type=\"font/ttf\"\n          crossorigin\n        />\n        <link\n          rel=\"preload\"\n          href=\"/fonts/Inter-Medium.ttf\"\n          as=\"font\"\n          type=\"font/ttf\"\n          crossorigin\n        />\n        <link\n          rel=\"preload\"\n          href=\"/fonts/Inter-Regular.ttf\"\n          as=\"font\"\n          type=\"font/ttf\"\n          crossorigin\n        />\n        <link\n          rel=\"preload\"\n          href=\"/fonts/Anton-Regular.ttf\"\n          as=\"font\"\n          type=\"font/ttf\"\n          crossorigin\n        /> */}\n      </Head>\n      <body>\n        <Main />\n        <NextScript />\n      </body>\n    </Html>\n  );\n}\n","/var/www/html/pages/contact/index.js",[],[],"/var/www/html/pages/index.js",[],[],"/var/www/html/pages/privacy-policy/index.js",[],[],"/var/www/html/pages/rent/[slug]/index.js",["170"],[],"import { useEffect, useState } from \"react\";\nimport { useRouter } from \"next/router\";\nimport Image from \"next/image\";\nimport parse from \"html-react-parser\";\nimport { string, object } from \"yup\";\nimport CustomHead from \"../../../src/Components/Global/CustomHead\";\n\n//icons\nimport {\n  ArrowsRightBlack,\n  BookCheckmark,\n  BookNotCheckmark,\n} from \"../../../src/Components/Icons\";\n\nimport { BookBorder, ToursBg } from \"../../../src/Components/Backgrounds\";\nimport Footer from \"../../../src/Components/Footer\";\nimport { ErrorMessage, Field, Form, Formik } from \"formik\";\nimport gsap from \"gsap\";\nimport ScrollTrigger from \"gsap/dist/ScrollTrigger\";\n// import { useGlobalContext } from \"../../../src/Components/store/context/GlobalContext\";\n// import { useInView } from \"../../../src/Components/useInView\";\n\ngsap.registerPlugin(ScrollTrigger);\n\nfunction RentDetails({ data, title, seo }) {\n  const router = useRouter();\n  const { slug } = router.query;\n\n  const [duration, setDuration] = useState(data.prices[0].duration);\n  const [price, setPrices] = useState(data.prices[0].price);\n  const [modal, setModal] = useState(false);\n  const [msg, setMsg] = useState(\"\");\n\n  // const { setIsColor } = useGlobalContext();\n  // const targetColorRef = useRef(null);\n  // const useTarget = useInView(targetColorRef, {\n  //   rootMargin: \"200px 0px 0px 0px\",\n  //   threshold: 0.4,\n  // });\n\n  // useEffect(() => {\n  //   if (useTarget) {\n  //     setIsColor(\"white\");\n  //   } else {\n  //     setIsColor(\"original\");\n  //   }\n  // }, [useTarget]);\n\n  useEffect(() => {\n    setTimeout(() => {\n      setDuration(data.prices[0].duration);\n      setPrices(data.prices[0].price);\n    }, []);\n  }, [slug]);\n\n  return (\n    <>\n      <CustomHead data={seo} />\n      <div className=\"mainTourDetails\">\n        <div className=\"animationWrap\">\n          <div className=\"animate\">\n            <div className=\"items sec\">\n              <span>Rent</span>\n              <span>Rent</span>\n            </div>\n            <div className=\"items\">\n              <span>Rent</span>\n              <span>Rent</span>\n            </div>\n          </div>\n        </div>\n        <div className=\"content\">\n          <div className=\"contentWrapper\">\n            <div className=\"toursBackground\">\n              <ToursBg />\n            </div>\n            <div className=\"toursDiv\">\n              <h4>Rent</h4>\n            </div>\n            <h1>{title}</h1>\n            <div className=\"intro\">\n              <div className=\"introSpecs\"></div>\n              <div className=\"image\">\n                <Image\n                  src={data?.image_hero}\n                  alt=\"\"\n                  layout=\"responsive\"\n                  width={1550}\n                  height={819}\n                  objectFit=\"cover\"\n                />\n              </div>\n              <div className=\"about\">\n                <div className=\"info\">\n                  <div className=\"aboutDiv\">\n                    <h4>{data?.small_title_about}</h4>\n                  </div>\n                  {parse(data?.title_about)}\n                  <p>{parse(data?.description_about)}</p>\n                </div>\n                <div className=\"imgInfo\">\n                  {data?.max_people && (\n                    <h5>Max {data?.max_people} people per vehicle</h5>\n                  )}\n                  <div className=\"img\">\n                    <Image\n                      src={data?.image_about}\n                      alt=\"\"\n                      width={586}\n                      height={615}\n                      objectFit=\"contain\"\n                      quality={100}\n                    />\n                  </div>\n                </div>\n              </div>\n            </div>\n          </div>\n        </div>\n      </div>\n      <div className=\"bookNow\">\n        <div className=\"animationWrap\">\n          <div className=\"animate\">\n            <div className=\"items sec\">\n              <span>Rent </span>\n              <span>Rent</span>\n            </div>\n\n            <div className=\"items\">\n              <span>Rent</span>\n              <span>Rent</span>\n            </div>\n          </div>\n        </div>\n        <div className=\"bookIntro\">\n          <div className=\"bookNowDiv\">\n            <h4>{data?.small_title_rent}</h4>\n          </div>\n          <h2>{data?.small_title_rent}</h2>\n          <h1>{parse(data?.title_rent)}</h1>\n        </div>\n        <div className=\"bookContent\">\n          <div className=\"requirements\">\n            <div className=\"included\">\n              <h1>Included in price</h1>\n              <ul>\n                {data?.price_includes.map((item, idx) => {\n                  return (\n                    <li key={idx}>\n                      <BookCheckmark /> {item.text}\n                    </li>\n                  );\n                })}\n              </ul>\n            </div>\n            <BookBorder />\n            {/* <div className=\"notIncluded\">\n              <h1>Not included in price</h1>\n              <ul>\n                {data?.price_not_includes.map((item, idx) => {\n                  return (\n                    <li key={idx}>\n                      <BookNotCheckmark /> {item.text}\n                    </li>\n                  );\n                })}\n              </ul>\n              <BookBorder />\n            </div> */}\n            <div className=\"included\">\n              <h1>What to bring</h1>\n              <ul>\n                {data?.what_to_bring.map((item, index) => (\n                  <li key={index}>\n                    <Image\n                      src={item?.icon}\n                      alt=\"\"\n                      width={24}\n                      height={24}\n                      objectFit=\"contain\"\n                    />{\" \"}\n                    <span>{item?.text}</span>\n                  </li>\n                ))}\n              </ul>\n            </div>\n            <div className=\"included\">\n              <BookBorder />\n              <h1>Requirements</h1>\n              <ul>\n                {data?.requirments.map((item, idx) => {\n                  return (\n                    <li key={idx}>\n                      <BookCheckmark /> {item.text}\n                    </li>\n                  );\n                })}\n              </ul>\n            </div>\n          </div>\n          <div className=\"calendar\">\n            <div className=\"chooseInputs\">\n              <div className=\"time\">\n                <h1>Choose Duration</h1>\n                <div className=\"select-wrapper\">\n                  <select\n                    name=\"time\"\n                    id=\"time\"\n                    value={duration}\n                    onChange={(e) => {\n                      data?.prices.filter((i) => {\n                        if (i.duration === e.target.value) {\n                          setDuration(i.duration);\n                          setPrices(i.price);\n                        }\n                      });\n                    }}\n                  >\n                    {data?.prices?.map((option, idx) => {\n                      return (\n                        <option value={option.duration} key={idx}>\n                          {option.duration}\n                        </option>\n                      );\n                    })}\n                  </select>\n                </div>\n              </div>\n            </div>\n            <div className=\"tourInfo\">\n              <h1>Rent Information</h1>\n              <h2>\n                Renting: <span>{data?.title_rent}</span>\n              </h2>\n              <h2>\n                Duration:\n                <span> {duration} </span>\n              </h2>\n              {/* {data.max_people && (\n                <h2>\n                  Number of people:\n                  <span> {data.max_people} </span>\n                </h2>\n              )} */}\n\n              <div className=\"calendarBookRent\">\n                <button\n                  className=\"book bokunButton\"\n                  onClick={() => setModal(true)}\n                >\n                  <div className=\"arrows\">\n                    <ArrowsRightBlack />\n                  </div>\n                  <span>ON REQUEST</span>\n                </button>\n                {/* <h3>{parse(price)}</h3> */}\n              </div>\n              {msg ? <p className=\"msg\">{msg.message}</p> : \"\"}\n            </div>\n            <p className=\"important-info\">\n              <span>Important information:</span> consuming alcohol and other\n              addictive substances during tour is strictly forbidden. Alcoholic\n              drivers will be excluded without the right of a refund.\n            </p>\n          </div>\n        </div>\n      </div>\n\n      {modal && (\n        <div className=\"modalForm\">\n          <div className=\"modalBody\">\n            <Formik\n              validationSchema={object({\n                Email: string().email().required(`Email is required`),\n              })}\n              initialValues={{\n                Subject: data.title_rent,\n                Duration: duration,\n                Price: price,\n                First_name: \"\",\n                Last_name: \"\",\n                Email: \"\",\n                Phone: \"\",\n                Participants: \"\",\n                Date: \"\",\n              }}\n              onSubmit={async (values) => {\n                const {\n                  Subject,\n                  Duration,\n                  Price,\n                  First_name,\n                  Last_name,\n                  Email,\n                  Phone,\n                  Participants,\n                  Date,\n                } = values;\n                let body = {\n                  Subject: Subject,\n                  Duration: Duration,\n                  Price: Price,\n                  First_name: First_name,\n                  Last_name: Last_name,\n                  Email: Email,\n                  Phone: Phone,\n                  Participants: Participants,\n                  Date: Date,\n                };\n                setModal(false);\n                const res = await fetch(\n                  `https://api.atvbuggy-dubrovnik.com/wp-json/api/v1/sendMail`,\n                  {\n                    method: \"POST\",\n                    headers: { \"Content-Type\": \"application/json\" },\n                    body: JSON.stringify(body),\n                  }\n                );\n\n                const data = await res.json();\n                setMsg(data);\n              }}\n            >\n              {({ isSubmitting, isValidating }) => (\n                <Form>\n                  <div className=\"form-block\">\n                    <h3>On Request</h3>\n                    <button\n                      type=\"button\"\n                      className=\"closeBtn\"\n                      onClick={() => setModal(false)}\n                    >\n                      X\n                    </button>\n                  </div>\n                  <div className=\"form-block\">\n                    <div className=\"form-control\">\n                      <label htmlFor=\"First_name\">Enter your first name</label>\n                      <Field type={\"text\"} name={\"First_name\"} />\n                    </div>\n\n                    <div className=\"form-control\">\n                      <label htmlFor=\"Last_name\">Enter your last name</label>\n                      <Field type={\"text\"} name={\"Last_name\"} />\n                    </div>\n                  </div>\n                  <div className=\"form-block\">\n                    <div className=\"form-control\">\n                      <label htmlFor=\"Email\">Enter your email</label>\n                      <Field type={\"text\"} name={\"Email\"} />\n                      <ErrorMessage name=\"Email\">\n                        {(msg) => <div className=\"error-msg\">{msg}</div>}\n                      </ErrorMessage>\n                    </div>\n                    <div className=\"form-control\">\n                      <label htmlFor=\"Phone\">Enter your phone number</label>\n                      <Field type={\"text\"} name={\"Phone\"} />\n                    </div>\n                  </div>\n                  <div className=\"form-block\">\n                    <div className=\"form-control\">\n                      <label htmlFor=\"Participants\">Participants</label>\n                      <Field type={\"text\"} name={\"Participants\"} />\n                    </div>\n                    <div className=\"form-control\">\n                      <label htmlFor=\"Date\">Choose a date</label>\n                      <Field type={\"date\"} name={\"Date\"} />\n                    </div>\n                  </div>\n                  <div className=\"form-control\">\n                    <button\n                      type=\"submit\"\n                      disabled={isSubmitting && isValidating ? true : false}\n                    >\n                      SEND\n                    </button>\n                  </div>\n                </Form>\n              )}\n            </Formik>\n          </div>\n        </div>\n      )}\n      <Footer />\n    </>\n  );\n}\n\nexport default RentDetails;\n\nexport async function getServerSideProps(ctx) {\n  const slug = ctx.query.slug;\n\n  const res = await fetch(\n    `https://api.atvbuggy-dubrovnik.com/wp-json/wp/v2/rent?slug=${slug}`\n  )\n    .then((response) => response.json())\n    .then((data) => data);\n\n  if (!res) {\n    return {\n      notFound: true,\n    };\n  }\n\n  return {\n    props: {\n      data: res[0].acf,\n      title: res[0].title.rendered,\n      seo: res[0].yoast_head_json,\n    },\n  };\n}\n","/var/www/html/pages/rent/index.js",["171"],[],"import { useEffect } from \"react\";\nimport { useRouter } from \"next/router\";\n\nfunction Renting() {\n  const router = useRouter();\n\n  useEffect(() => {\n    router.push(\"/\");\n  }, []);\n\n  return <></>;\n}\n\nexport default Renting;\n","/var/www/html/pages/terms-and-conditions/index.js",[],[],"/var/www/html/pages/tours/[slug]/index.js",[],[],"/var/www/html/pages/tours/index.js",["172"],[],"import { useEffect } from \"react\";\nimport { useRouter } from \"next/router\";\n\nfunction Tours() {\n  const router = useRouter();\n\n  useEffect(() => {\n    router.push(\"/\");\n  }, []);\n\n  return <></>;\n}\n\nexport default Tours;\n","/var/www/html/pages/news/[slug]/index.js",[],[],"/var/www/html/pages/news/index.js",[],[],"/var/www/html/src/Components/About.js",[],[],"/var/www/html/src/Components/Backgrounds.js",[],[],"/var/www/html/src/Components/ChooseTour.js",["173","174","175"],[],"import Image from \"next/image\";\nimport Link from \"next/link\";\nimport parse from \"html-react-parser\";\n\n//icons\nimport { ArrowsRightBlack } from \"./Icons\";\n\n//bg\nimport { ToursBg } from \"./Backgrounds\";\n\nfunction ChooseTour({ data }) {\n  return (\n    <div className=\"mainTour\">\n      <div className=\"intro\">\n        <div className=\"toursBackground\">\n          <ToursBg />\n        </div>\n        <div className=\"animationWrap\">\n          <div className=\"animate\">\n            <div className=\"items\">\n              <span>{data.small_title_tours}</span>\n              <span>{data.small_title_tours}</span>\n            </div>\n            <div className=\"items\">\n              <span>{data.small_title_tours}</span>\n              <span>{data.small_title_tours}</span>\n            </div>\n          </div>\n        </div>\n        <div className=\"tourDiv\">\n          <h4>{data.small_title_tours}</h4>\n        </div>\n        <>{parse(data.title_tours)}</>\n      </div>\n      <div className=\"tours\">\n        {data.tours.map((tour, id) => {\n          return (\n            <div key={id} className=\"group\">\n              <div className=\"indexWrap\">\n                <span className=\"index\">0{id + 1}</span>\n              </div>\n              <div className=\"main\">\n                <h1>{tour.title}</h1>\n                <p>{tour.description}</p>\n                <div className=\"specs\">\n                  <div className=\"first\">\n                    {tour.bullets.slice(0, 3).map((bullet, id) => {\n                      return (\n                        <div className=\"iconWrap\" key={id}>\n                          <div className=\"atvIcon\">\n                            <Image\n                              src={`${bullet.icon}`}\n                              width={20}\n                              height={20}\n                              // layout=\"responsive\"\n                            />\n                          </div>{\" \"}\n                          <span>{bullet.text}</span>\n                        </div>\n                      );\n                    })}\n                  </div>\n                  <div className=\"second\">\n                    {tour.bullets.slice(3, 6).map((bullet, id) => {\n                      return (\n                        <div className=\"iconWrap\" key={id}>\n                          <div className=\"atvIcon\">\n                            <Image\n                              src={`${bullet.icon}`}\n                              width={20}\n                              height={20}\n                            />\n                          </div>\n                          <span>{bullet.text}</span>\n                        </div>\n                      );\n                    })}\n                  </div>\n                </div>\n\n                <div className=\"price\">\n                  <div className=\"startFrom\">\n                    <div className=\"price-block\">\n                      <span>{tour.single_price_label}</span>\n                      <h3>{parse(tour.price)}</h3>\n                    </div>\n                    <div className=\"price-block\">\n                      <span>{tour.double_price_label}</span>\n                      <h3>{parse(tour.double_price)}</h3>\n                    </div>\n                  </div>\n                  <Link href={`/tours/${tour.slug}`}>\n                    <div className=\"book\">\n                      <div className=\"arrows\">\n                        <ArrowsRightBlack />\n                      </div>\n                      <span>Book Now</span>\n                    </div>\n                  </Link>\n                </div>\n              </div>\n              <div className=\"image\">\n                <Image\n                  src={tour.image}\n                  alt=\"\"\n                  layout=\"responsive\"\n                  width={517}\n                  height={689}\n                  quality={100}\n                />\n              </div>\n            </div>\n          );\n        })}\n      </div>\n    </div>\n  );\n}\n\nexport default ChooseTour;\n","/var/www/html/src/Components/Contact.js",["176","177"],[],"import { useEffect, useRef, useState } from \"react\";\nimport Link from \"next/link\";\nimport Image from \"next/image\";\nimport { Form, Formik, ErrorMessage, Field } from \"formik\";\nimport { boolean, string, object } from \"yup\";\nimport parse from \"html-react-parser\";\n\nimport {\n  ArrowsRightWhite,\n  TwitterIcon,\n  FbIcon,\n  InstaIcon,\n  CloseIcon,\n  DPLogo,\n} from \"./Icons\";\nimport { useGlobalContext } from \"./store/context/GlobalContext\";\n// import { useInView } from \"./useInView\";\n\nfunction Contact() {\n  const { contact, footer, setIsColor } = useGlobalContext();\n  const [msg, setMsg] = useState(false);\n  const [errMsg, setErrMsg] = useState(false);\n  // const targetColorRef = useRef(null);\n  // const targetColorSecondRef = useRef(null);\n  // const useTarget = useInView(targetColorRef, {\n  //   rootMargin: \"200px 0px -700px 0px\",\n  //   threshold: 0.8,\n  // });\n  // const useSecondTarget = useInView(targetColorSecondRef, {\n  //   rootMargin: \"200px 0px -700px 0px\",\n  //   threshold: 0.2,\n  // });\n\n  // useEffect(() => {\n  //   if (useTarget) {\n  //     console.log(\"a\");\n  //     setIsColor(\"white\");\n  //   } else if (useSecondTarget) {\n  //     console.log(\"b\");\n  //     setIsColor(\"original\");\n  //   } else {\n  //     setIsColor(\"original\");\n  //   }\n  // }, [useTarget, useSecondTarget]);\n\n  useEffect(() => {\n    // window.addEventListener(\"loadstart\", () => {\n    //   ScrollTrigger.clearScrollMemory();\n    // });\n    // window.history.scrollRestoration = \"manual\";\n    window.scrollTo({\n      top: 0,\n      left: 0,\n      behavior: \"smooth\",\n    });\n  }, []);\n\n  const [legalModal, setLegalModal] = useState(false);\n\n  const hideScroll = () => {\n    let html = document.querySelector(\"html\");\n    html.classList.add(\"overflowHidden\");\n  };\n\n  const showScroll = () => {\n    let html = document.querySelector(\"html\");\n    html.classList.remove(\"overflowHidden\");\n  };\n\n  return (\n    <div className=\"mainContact\">\n      <div className=\"newsBackground\">\n        <div className=\"intro\">\n          <div className=\"contactUsDiv\">\n            <h4>{contact?.small_title}</h4>\n          </div>\n          <h2>{contact?.title}</h2>\n          <h1>\n            <a href={`tel:${contact?.phone}`}>{contact?.phone}</a>\n          </h1>\n        </div>\n      </div>\n      <div className=\"content\">\n        <Formik\n          validationSchema={object({\n            Email: string().email().required(`Email is required`),\n            terms: boolean().oneOf(\n              [true],\n              \"You must accept the terms and conditions\"\n            ),\n          })}\n          initialValues={{\n            First_name: \"\",\n            Email: \"\",\n            Message: \"\",\n            terms: false,\n          }}\n          onSubmit={async (values, { resetForm }) => {\n            setMsg(false);\n            setErrMsg(false);\n            const { First_name, Email, Message, terms } = values;\n            let body = {\n              First_name: First_name,\n              Email: Email,\n              Message: Message,\n            };\n\n            const res = await fetch(\n              `https://api.atvbuggy-dubrovnik.com/wp-json/api/v1/sendMail`,\n              {\n                method: \"POST\",\n                headers: { \"Content-Type\": \"application/json\" },\n                body: JSON.stringify(body),\n              }\n            )\n              .then((response) => response.json())\n              .then((data) => data);\n\n            if (res.status === true) {\n              resetForm({ values: \"\" });\n              setMsg(true);\n            } else {\n              setErrMsg(true);\n            }\n          }}\n        >\n          {({ isSubmitting, isValidating }) => (\n            <Form>\n              <div className=\"form\">\n                <h3>{contact?.form_description}</h3>\n\n                <Field\n                  type={\"text\"}\n                  placeholder={\"Enter your name\"}\n                  name={\"First_name\"}\n                />\n\n                <Field\n                  type={\"text\"}\n                  placeholder={\"Enter your email address\"}\n                  name={\"Email\"}\n                />\n                <ErrorMessage name=\"Email\">\n                  {(msg) => <div className=\"error-msg\">{msg}</div>}\n                </ErrorMessage>\n\n                <Field\n                  type={\"text\"}\n                  placeholder={\"Enter your message here\"}\n                  name={\"Message\"}\n                />\n\n                <div className=\"policy\">\n                  <div className=\"conditions\">\n                    <Field type=\"checkbox\" name=\"terms\" />\n                    <label htmlFor=\"terms\">\n                      I have read and accepted the{\" \"}\n                      <Link href={\"/terms-and-conditions\"}>\n                        Terms and Conditions\n                      </Link>{\" \"}\n                      and <Link href={\"/privacy-policy\"}>Privacy Policy</Link>.\n                    </label>\n                  </div>\n                  <ErrorMessage name=\"terms\">\n                    {(msg) => <div className=\"error-msg\">{msg}</div>}\n                  </ErrorMessage>\n\n                  {msg ? (\n                    <p className=\"success-msg\">Thank you for contacting us!</p>\n                  ) : (\n                    <>\n                      <button\n                        type=\"submit\"\n                        disabled={isSubmitting || isValidating}\n                        className=\"disabled-btn\"\n                      >\n                        <div className=\"arrowsDiv\">\n                          <ArrowsRightWhite />\n                        </div>\n                        Submit Your Message\n                      </button>\n                      {errMsg && (\n                        <p className=\"error-msg\">\n                          Something went wrong, please try again\n                        </p>\n                      )}\n                    </>\n                  )}\n\n                  <p className=\"email-text\">\n                    Or send us and email to:{\" \"}\n                    <a\n                      href={\"mailto:\" + footer?.socials?.email}\n                    >{`${footer?.socials?.email}`}</a>\n                  </p>\n                </div>\n              </div>\n            </Form>\n          )}\n        </Formik>\n\n        <div className=\"newsletter\">\n          {/* <h2>Click on the image for Google maps location.</h2> */}\n          <Link\n            href={contact?.location_url ? contact?.location_url : \"/\"}\n            passHref\n          >\n            <a target={\"_blank\"} rel=\"noopener noreferrer\">\n              <span className=\"newsletterLink\">\n                Click on the image for Google maps location.\n              </span>\n              {contact?.location_image ? (\n                <Image\n                  src={`${contact?.location_image}`}\n                  width={736}\n                  height={770}\n                  objectFit=\"cover\"\n                  objectPosition=\"right\"\n                />\n              ) : (\n                \"\"\n              )}\n            </a>\n          </Link>\n        </div>\n      </div>\n      <div className=\"footer\">\n        <a\n          href={\"https://digitalpresent.io/\"}\n          target=\"_blank\"\n          rel=\"noopener noreferrer\"\n          aria-label=\"developed by Digital Present\"\n          className={\"developed\"}\n        >\n          <p className={\"developed__p\"}>Developed by</p>\n          <DPLogo color={\"#fff\"} />\n        </a>\n        <p>Copyright {new Date().getFullYear()} ATV. All rights reserved.</p>\n        {footer?.footer?.slice(0, 1).map((links, index) => (\n          <div className=\"legal\" key={index}>\n            <p\n              onClick={() => {\n                setLegalModal(true);\n                hideScroll();\n              }}\n            >\n              {links?.title}\n            </p>\n            <div\n              className=\"legal-modal\"\n              style={{ display: legalModal ? \"flex\" : \"none\" }}\n            >\n              <div className=\"legal-modal-content\">\n                <button\n                  onClick={(e) => {\n                    setLegalModal(false);\n                    showScroll();\n                  }}\n                >\n                  <CloseIcon />\n                </button>\n                <p>{parse(footer?.legal)}</p>\n              </div>\n            </div>\n          </div>\n        ))}\n\n        {footer?.footer?.slice(1).map((links, index) => (\n          <div className=\"terms\" key={index}>\n            <Link href={`/${links.slug}`}>\n              <p>{links.title}</p>\n            </Link>\n          </div>\n        ))}\n\n        <div className=\"icons\">\n          {`${footer?.socials?.tw}` ? (\n            <a href={`${footer?.socials?.tw}`} target=\"_blank\" rel=\"noreferrer\">\n              <TwitterIcon />\n            </a>\n          ) : (\n            \"\"\n          )}\n          {`${footer?.socials?.in}` ? (\n            <a href={`${footer?.socials?.in}`} target=\"_blank\" rel=\"noreferrer\">\n              <InstaIcon />\n            </a>\n          ) : (\n            \"\"\n          )}\n          {`${footer?.socials?.fb}` ? (\n            <a href={`${footer?.socials?.fb}`} target=\"_blank\" rel=\"noreferrer\">\n              <FbIcon />\n            </a>\n          ) : (\n            \"\"\n          )}\n        </div>\n      </div>\n    </div>\n  );\n}\n\nexport default Contact;\n","/var/www/html/src/Components/Footer.js",[],[],"/var/www/html/src/Components/Global/CustomHead.js",["178","179"],[],"import Head from \"next/head\";\n\nconst CustomHead = (seo) => {\n  return (\n    <Head>\n      <link rel=\"canonical\" href={seo.data.og_url.replace(\"api.\", \"\")} />\n      <meta name=\"viewport\" content=\"width=device-width, user-scalable=0\" />\n\n      <title>{seo.data.title}</title>\n      <meta name=\"title\" content={seo.data.title} />\n      <meta\n        name=\"description\"\n        content={seo.data.description ?? \"ATV Dubrovnik\"}\n      />\n\n      <meta property=\"og:type\" content=\"website\" />\n      <meta property=\"og:url\" content={seo.data.og_url.replace(\"api.\", \"\")} />\n      <meta property=\"og:title\" content={seo.data.title} />\n      <meta\n        property=\"og:description\"\n        content={seo.data.description ?? \"ATV Dubrovnik\"}\n      />\n      <meta\n        property=\"og:image\"\n        content={\n          seo.data.og_image\n            ? seo.data.og_image.url\n            : \"https://api.atvbuggy-dubrovnik.com/wp-content/uploads/2022/08/atv_dubrovnik.png\"\n        }\n      />\n\n      <meta property=\"twitter:card\" content=\"summary_large_image\" />\n      <meta\n        property=\"twitter:url\"\n        content={seo.data.og_url.replace(\"api.\", \"\")}\n      />\n      <meta property=\"twitter:title\" content={seo.data.title} />\n      <meta\n        property=\"twitter:description\"\n        content={seo.data.description ?? \"ATV Dubrovnik\"}\n      />\n      <meta\n        property=\"twitter:image\"\n        content={\n          seo.data.og_image\n            ? seo.data.og_image.url\n            : \"https://api.atvbuggy-dubrovnik.com/wp-content/uploads/2022/08/atv_dubrovnik.png\"\n        }\n      />\n\n      <script src=\"https://www.googletagmanager.com/gtag/js?id=G-YP99VQ2N62\" />\n\n      <script\n        dangerouslySetInnerHTML={{\n          __html: `window.dataLayer = window.dataLayer || [];\n        function gtag(){dataLayer.push(arguments);}\n        gtag('js', new Date());\n        gtag('config', 'G-YP99VQ2N62');`,\n        }}\n      />\n    </Head>\n  );\n};\n\nexport default CustomHead;\n","/var/www/html/src/Components/Header.js",[],[],"/var/www/html/src/Components/HeroLogo.js",[],[],"/var/www/html/src/Components/Icons.js",[],[],"/var/www/html/src/Components/Menu.js",["180"],[],"import { useEffect, useState } from \"react\";\nimport React from \"react\";\n\nimport parse from \"html-react-parser\";\n\nimport { useRouter } from \"next/router\";\nimport Image from \"next/image\";\nimport Link from \"next/link\";\n\nimport { ArrowsRightWhite, CloseSvg } from \"./Icons\";\nimport { BorderLine } from \"./Backgrounds\";\n\nimport { useGlobalContext } from \"./store/context/GlobalContext\";\n\nfunction Menu({ closeMenu }) {\n  const [currentSlug, setCurrentSlug] = useState(\"\");\n  const [buggyRent, setBuggyRent] = useState(\"\");\n  const { menu } = useGlobalContext();\n\n  const router = useRouter();\n\n  useEffect(() => {\n    let slug = router.pathname;\n    setCurrentSlug(slug);\n  }, []);\n\n  const showScroll = () => {\n    let html = document.querySelector(\"html\");\n    html.classList.remove(\"overflowHidden\");\n  };\n\n  return (\n    <div className=\"mainMenu\">\n      <div className=\"myMenu\">\n        <div className=\"tours\">\n          <div className=\"buttons\">\n            <h1>Tours</h1>\n            <div className=\"menuItems\">\n              <div className=\"routes\">\n                {menu?.menu?.slice(0, 1).map((item, index) => (\n                  <Link href=\"/\" key={index}>\n                    <a\n                      style={{\n                        display: currentSlug === \"/\" ? \"none\" : \"inline-block\",\n                      }}\n                      onClick={() => {\n                        showScroll();\n                        closeMenu();\n                      }}\n                    >\n                      {item?.title}\n                    </a>\n                  </Link>\n                ))}\n\n                {menu?.menu?.slice(1).map((item, index) => (\n                  <Link href={`/${item.slug}`} key={index}>\n                    <a\n                      onClick={() => {\n                        showScroll();\n                        closeMenu();\n                      }}\n                    >\n                      {item?.title}\n                    </a>\n                  </Link>\n                ))}\n              </div>\n              <div\n                className=\"close\"\n                onClick={() => {\n                  closeMenu();\n                  showScroll();\n                }}\n              >\n                <span>Close</span>\n                <div className=\"closeSvg\">\n                  <CloseSvg />\n                </div>\n              </div>\n            </div>\n          </div>\n          <div className=\"bookAtv\">\n            {menu?.header?.tours?.map((tour, index) => {\n              return (\n                <div key={index} className=\"card\">\n                  <div className=\"imgDiv\">\n                    <Image\n                      src={tour?.image}\n                      alt=\"\"\n                      width={202}\n                      height={202}\n                      // objectFit=\"contain\"\n                    />\n                  </div>\n                  <div className=\"content\">\n                    <h4>{tour?.title}</h4>\n                    <div className=\"bookNow\">\n                      <div className=\"price\">\n                        <span>{tour?.single_price_label}</span>\n                        <h3>{parse(tour?.price)}</h3>\n                        <span>{tour?.double_price_label}</span>\n                        <h3>{parse(tour?.double_price)}</h3>\n                      </div>\n                      <div\n                        className=\"click\"\n                        onClick={() => {\n                          closeMenu();\n                          showScroll();\n                          router\n                            .push(`/tours/${tour.slug}`)\n                            .then(() => router.reload());\n                        }}\n                      >\n                        <div className=\"arrows\">\n                          <ArrowsRightWhite />\n                        </div>\n                      </div>\n                    </div>\n                  </div>\n                </div>\n              );\n            })}\n          </div>\n        </div>\n        <div className=\"rent\">\n          <h1>Rent</h1>\n          <div className=\"buggies\">\n            {menu?.header?.rents.map((rent, index) => (\n              <React.Fragment key={index}>\n                <div\n                  className=\"buggyCard\"\n                  onMouseEnter={() => {\n                    setBuggyRent(\"outl\");\n                  }}\n                  onMouseLeave={() => {\n                    setBuggyRent(\"\");\n                  }}\n                >\n                  <div className=\"buggyImg\">\n                    <Image\n                      src={rent?.image}\n                      alt=\"\"\n                      // layout=\"responsive\"\n                      width={227}\n                      height={227}\n                      objectFit=\"contain\"\n                    />\n                  </div>\n                  <div className=\"specs\">\n                    <div className=\"specImg\">\n                      <Image\n                        src={rent?.brandImageBlack}\n                        alt=\"\"\n                        layout=\"responsive\"\n                        width={78}\n                        height={10}\n                        objectFit=\"contain\"\n                      />\n                    </div>\n                    <>{parse(rent?.title)}</>\n                  </div>\n                  <div\n                    className=\"rentBtn\"\n                    style={{ display: buggyRent === \"outl\" ? \"block\" : \"none\" }}\n                    onClick={() => {\n                      closeMenu();\n                      showScroll();\n                    }}\n                  >\n                    <button\n                      onClick={() =>\n                        router\n                          .push(`/rent/${rent.slug}`)\n                          .then(() => router.reload())\n                      }\n                    >\n                      View More\n                    </button>\n                  </div>\n                </div>\n                <div className=\"border\">\n                  <BorderLine />\n                </div>\n              </React.Fragment>\n            ))}\n          </div>\n        </div>\n      </div>\n    </div>\n  );\n}\n\nexport default Menu;\n","/var/www/html/src/Components/News.js",[],[],"/var/www/html/src/Components/Rent.js",["181"],[],"import Image from \"next/image\";\nimport Link from \"next/link\";\nimport parse from \"html-react-parser\";\n\nimport { ArrowsRightBlack } from \"./Icons\";\n// import { useEffect, useRef } from \"react\";\n// import { useInView } from \"./useInView\";\n// import { useGlobalContext } from \"./store/context/GlobalContext\";\n\nfunction Rent({ data }) {\n  // const targetColorRef1 = useRef(null);\n  // const useTarget = useInView(targetColorRef1, {\n  //   rootMargin: \"200px 0px 0px 0px\",\n  //   threshold: 0.2,\n  // });\n  // const { setIsColor } = useGlobalContext();\n\n  // useEffect(() => {\n  //   if (useTarget) {\n  //     setIsColor(\"fullWhite\");\n  //   } else {\n  //     setIsColor(\"original\");\n  //   }\n  // }, [useTarget]);\n\n  return (\n    <div className=\"mainRent\">\n      <div className=\"animationWrap\">\n        <div className=\"animate\">\n          <div className=\"items\">\n            <span>{data.small_title_rent}</span>\n            <span>{data.small_title_rent}</span>\n          </div>\n          <div className=\"items\">\n            <span>{data.small_title_rent}</span>\n            <span>{data.small_title_rent}</span>\n          </div>\n        </div>\n      </div>\n      <div className=\"rentRow\">\n        <div className=\"title\">\n          <div className=\"rentDiv\">\n            <h4>{data.small_title_rent}</h4>\n          </div>\n          <h1>{parse(data.title_rent)}</h1>\n        </div>\n        <div className=\"text\">\n          <p>{parse(data.description_rent)}</p>\n        </div>\n      </div>\n      <div className=\"grid-rent\">\n        {data.rents.map((rent, id) => (\n          <div key={id}>\n            <div className=\"imgRow\">\n              <div className=\"firstImg\">\n                <Image\n                  src={`${rent.image}`}\n                  alt=\"\"\n                  width={652}\n                  height={542}\n                  objectFit=\"contain\"\n                  quality={100}\n                />\n              </div>\n            </div>\n            <div className=\"specsRow\">\n              <div className=\"first\">\n                <Image src={rent.brandImage} alt=\"\" width={166} height={23} />\n                <h1>{rent.title}</h1>\n                <ul>\n                  {rent.bullets.map((bullet, id) => (\n                    <li key={id}>{bullet.text}</li>\n                  ))}\n                </ul>\n                <div className=\"buttons\">\n                  <Link href={`/rent/${rent.slug}`}>\n                    <div className=\"book\">\n                      <div className=\"arrows\">\n                        <ArrowsRightBlack />\n                      </div>\n                      <span>View More</span>\n                    </div>\n                  </Link>\n                </div>\n              </div>\n            </div>\n          </div>\n        ))}\n      </div>\n    </div>\n  );\n}\n\nexport default Rent;\n","/var/www/html/src/Components/VideoComponent.js",[],[],"/var/www/html/src/Components/data/rent-db.js",[],[],"/var/www/html/src/Components/data/tours-db.js",[],[],"/var/www/html/src/Components/store/Action.js",[],[],"/var/www/html/src/Components/store/context/GlobalContext.js",["182"],[],"import { createContext, useReducer, useEffect, useContext } from \"react\";\nimport useSWR from \"swr\";\nimport { GET_CONTACT, GET_FOOTER, GET_MENU, IS_COLOR } from \"../Action\";\nimport reducer from \"../reducers/GlobalReducers\";\n\nconst fetcher = (url) => fetch(url).then((r) => r.json());\n\nconst initialState = {\n  contact: [],\n  menu: [],\n  footer: [],\n  isColor: \"original\",\n};\nconst GlobalContext = createContext();\n\nexport const GlobalProvider = ({ children }) => {\n  const [state, dispatch] = useReducer(reducer, initialState);\n\n  // REQUEST FOR CONTACT\n  const { data, error } = useSWR(\n    `https://api.atvbuggy-dubrovnik.com/wp-json/api/v1/global`,\n    fetcher\n  );\n  const getContact = () => {\n    return dispatch({\n      type: GET_CONTACT,\n      payload: data.contact,\n    });\n  };\n  const getFooter = () => {\n    return dispatch({\n      type: GET_FOOTER,\n      payload: {\n        footer: data.menu.footer,\n        socials: data.socials,\n        legal: data.legal,\n      },\n    });\n  };\n  const getHeader = () => {\n    return dispatch({\n      type: GET_MENU,\n      payload: { header: data.header, menu: data.menu.header },\n    });\n  };\n\n  const setIsColor = (color) => {\n    return dispatch({\n      type: IS_COLOR,\n      payload: color,\n    });\n  };\n\n  useEffect(() => {\n    if (error) return \"An error has occurred.\";\n    if (!data) return \"Loading...\";\n\n    getContact();\n    getFooter();\n    getHeader();\n  }, [data]);\n\n  return (\n    <GlobalContext.Provider\n      value={{\n        ...state,\n        setIsColor,\n      }}\n    >\n      {children}\n    </GlobalContext.Provider>\n  );\n};\n\nexport const useGlobalContext = () => {\n  return useContext(GlobalContext);\n};\n","/var/www/html/src/Components/store/reducers/GlobalReducers.js",[],[],"/var/www/html/src/Components/useInView.js",["183"],[],"import { useEffect, useRef, useState } from \"react\";\n\nexport const useInView = (ref, options) => {\n  const [isIntersecting, setIsIntersecting] = useState(false);\n  const observerRef = useRef(null);\n\n  useEffect(() => {\n    observerRef.current = new IntersectionObserver(([entry]) => {\n      setIsIntersecting(entry.isIntersecting);\n    }, options);\n  }, []);\n\n  useEffect(() => {\n    observerRef.current.observe(ref.current);\n\n    return () => {\n      observerRef.current.disconnect();\n    };\n  }, [ref, options]);\n\n  return isIntersecting;\n};\n",{"ruleId":"184","severity":1,"message":"185","line":13,"column":9,"nodeType":"186","endLine":16,"endColumn":10},{"ruleId":"184","severity":1,"message":"185","line":17,"column":9,"nodeType":"186","endLine":20,"endColumn":10},{"ruleId":"187","severity":1,"message":"188","line":54,"column":6,"nodeType":"189","endLine":54,"endColumn":12,"suggestions":"190"},{"ruleId":"187","severity":1,"message":"191","line":9,"column":6,"nodeType":"189","endLine":9,"endColumn":8,"suggestions":"192"},{"ruleId":"187","severity":1,"message":"191","line":9,"column":6,"nodeType":"189","endLine":9,"endColumn":8,"suggestions":"193"},{"ruleId":"194","severity":1,"message":"195","line":51,"column":29,"nodeType":"186","endLine":56,"endColumn":31},{"ruleId":"194","severity":1,"message":"195","line":68,"column":29,"nodeType":"186","endLine":72,"endColumn":31},{"ruleId":"196","severity":1,"message":"197","line":92,"column":19,"nodeType":"186","endLine":92,"endColumn":54},{"ruleId":"194","severity":1,"message":"195","line":213,"column":17,"nodeType":"186","endLine":219,"endColumn":19},{"ruleId":"196","severity":1,"message":"197","line":270,"column":13,"nodeType":"186","endLine":270,"endColumn":43},{"ruleId":"198","severity":1,"message":"199","line":51,"column":7,"nodeType":"186","endLine":51,"endColumn":80},{"ruleId":"200","severity":1,"message":"201","line":51,"column":7,"nodeType":"186","endLine":51,"endColumn":80},{"ruleId":"187","severity":1,"message":"202","line":25,"column":6,"nodeType":"189","endLine":25,"endColumn":8,"suggestions":"203"},{"ruleId":"196","severity":1,"message":"197","line":76,"column":19,"nodeType":"186","endLine":76,"endColumn":53},{"ruleId":"187","severity":1,"message":"204","line":61,"column":6,"nodeType":"189","endLine":61,"endColumn":12,"suggestions":"205"},{"ruleId":"187","severity":1,"message":"206","line":11,"column":6,"nodeType":"189","endLine":11,"endColumn":8,"suggestions":"207"},"@next/next/google-font-display","Block behavior is not recommended. See: https://nextjs.org/docs/messages/google-font-display","JSXOpeningElement","react-hooks/exhaustive-deps","React Hook useEffect has a missing dependency: 'data.prices'. Either include it or remove the dependency array. If 'setDuration' needs the current value of 'data.prices', you can also switch to useReducer instead of useState and read 'data.prices' in the reducer.","ArrayExpression",["208"],"React Hook useEffect has a missing dependency: 'router'. Either include it or remove the dependency array.",["209"],["210"],"jsx-a11y/alt-text","Image elements must have an alt prop, either with meaningful text, or an empty string for decorative images.","@next/next/link-passhref","passHref is missing. See: https://nextjs.org/docs/messages/link-passhref","@next/next/no-sync-scripts","External synchronous scripts are forbidden. See: https://nextjs.org/docs/messages/no-sync-scripts","@next/next/next-script-for-ga","Use the `next/script` component for loading third party scripts. See: https://nextjs.org/docs/messages/next-script-for-ga","React Hook useEffect has a missing dependency: 'router.pathname'. Either include it or remove the dependency array.",["211"],"React Hook useEffect has missing dependencies: 'error', 'getContact', 'getFooter', and 'getHeader'. Either include them or remove the dependency array.",["212"],"React Hook useEffect has a missing dependency: 'options'. Either include it or remove the dependency array.",["213"],{"desc":"214","fix":"215"},{"desc":"216","fix":"217"},{"desc":"216","fix":"218"},{"desc":"219","fix":"220"},{"desc":"221","fix":"222"},{"desc":"223","fix":"224"},"Update the dependencies array to be: [data.prices, slug]",{"range":"225","text":"226"},"Update the dependencies array to be: [router]",{"range":"227","text":"228"},{"range":"229","text":"228"},"Update the dependencies array to be: [router.pathname]",{"range":"230","text":"231"},"Update the dependencies array to be: [data, error, getContact, getFooter, getHeader]",{"range":"232","text":"233"},"Update the dependencies array to be: [options]",{"range":"234","text":"235"},[1678,1684],"[data.prices, slug]",[176,178],"[router]",[174,176],[672,674],"[router.pathname]",[1417,1423],"[data, error, getContact, getFooter, getHeader]",[354,356],"[options]"]

Zerion Mini Shell 1.0