From 248e0f05e09f4aff25d760a4ec0ce4646e060cc6 Mon Sep 17 00:00:00 2001 From: vzaisun Date: Tue, 5 Mar 2024 15:16:10 +0530 Subject: [PATCH] seo and analytics added --- src/_nav.js | 8 ++ src/routes.js | 13 +++ src/views/seo/AddSeoRequest.jsx | 139 ++++++++++++++++++++++++++++++++ 3 files changed, 160 insertions(+) create mode 100644 src/views/seo/AddSeoRequest.jsx diff --git a/src/_nav.js b/src/_nav.js index 2b80410..e55816f 100644 --- a/src/_nav.js +++ b/src/_nav.js @@ -154,6 +154,14 @@ const _nav = [ icon: , to: "/contact/request", }, + + { + component: CNavItem, + name: "SEO and Analytics", + icon: , + to: "/seo/request/new", + }, + { component: CNavItem, name: "Content ", diff --git a/src/routes.js b/src/routes.js index e17e906..187f7f1 100644 --- a/src/routes.js +++ b/src/routes.js @@ -58,6 +58,9 @@ import ApplicationName from "./views/configuration/ApplicationName"; import CopyrightMessage from "./views/configuration/CopyrightMessage"; import ContactRequests from "./views/ContactRequests/ContactRequests"; import AddContactRequest from "./views/ContactRequests/AddContactRequest"; + +import AddSeoRequest from "./views/seo/AddSeoRequest"; + import Testimonials from "./views/Testimonials/Testimonials"; import AddTestimonial from "./views/Testimonials/AddTestimonial"; import ViewTestimonial from "./views/Testimonials/ViewTestimonial"; @@ -98,6 +101,8 @@ import RegisterImage from "./views/Images/RegisterImage"; import LoginImage from "./views/Images/LoginImage"; import ShopImage from "./views/Images/ShopImage"; + + const routes = [ { path: "/", exact: true, name: "Home" }, { @@ -382,6 +387,14 @@ const routes = [ { path: "/tax/edit/:id", name: "Edit Tax", element: Edittax }, // -------------------------------------------// + { + path: "/seo/request/new", + name: "seo Request", + element: AddSeoRequest, + } + + + // ]; diff --git a/src/views/seo/AddSeoRequest.jsx b/src/views/seo/AddSeoRequest.jsx new file mode 100644 index 0000000..1587ae0 --- /dev/null +++ b/src/views/seo/AddSeoRequest.jsx @@ -0,0 +1,139 @@ +import React, { useState } from "react"; +import Button from "@material-ui/core/Button"; +import { Link } from "react-router-dom"; +import swal from "sweetalert"; +import axios from "axios"; + +const AddSeoRequest = () => { + const [data, setData] = useState({ + googleTag: "", + facebookPixel: "", + googleAnalytics: "", + microsoftClarity: "" + }); + + const [loading, setLoading] = useState(false); + + const handleChange = (e) => { + setData((prev) => ({ ...prev, [e.target.id]: e.target.value })); + }; + + const handleSubmit = () => { + setLoading(true); + const formData = new FormData(); + formData.set("GoogleTag", data.googleTag); + formData.set("FacebookPixel", data.facebookPixel); + formData.set("GoogleAnalytics", data.googleAnalytics); + formData.set("MicrosoftClarity", data.microsoftClarity); + + axios + .post(`api/seo/new`, formData) + .then((res) => { + swal({ + title: "Added", + text: "SEO Requests added successfully!", + icon: "success", + button: "ok", + }); + setLoading(false); + }) + .catch((err) => { + setLoading(false); + const message = err.response?.data?.message || "Something went wrong!"; + swal({ + title: "Warning", + text: message, + icon: "error", + button: "Retry", + dangerMode: true, + }); + }); + }; + + return ( +
+
+
+

New SEO Request

+
+
+
+
+
+
+
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ + + + + +
+
+
+
+
+ ); +}; + +export default AddSeoRequest;