import React, { useEffect } from "react"; import Button from "@material-ui/core/Button"; import { useState } from "react"; import { Link } from "react-router-dom"; import axios from "axios"; import swal from "sweetalert"; import { isAutheticated } from "src/auth.js"; const Campaign = () => { const token = isAutheticated(); const [loading, setLoading] = useState(true); const [success, setSuccess] = useState(true); const [campaignData, setCampaignData] = useState([]); const [currentPage, setCurrentPage] = useState(1); const [itemPerPage, setItemPerPage] = useState(10); const [showData, setShowData] = useState(campaignData); const handleShowEntries = (e) => { setCurrentPage(1); setItemPerPage(e.target.value); }; const getCampaign = () => { axios .get(`/api/campaign/getAll`, { headers: { "Access-Control-Allow-Origin": "*", Authorization: `Bearer ${token}`, }, }) .then((res) => { setCampaignData(res.data?.campaigns); // console.log(res.data?.campaigns); setLoading(false); }) .catch((err) => { console.log(err); setLoading(false); }); }; useEffect(() => { getCampaign(); }, [success]); useEffect(() => { const loadData = () => { const indexOfLastPost = currentPage * itemPerPage; const indexOfFirstPost = indexOfLastPost - itemPerPage; setShowData(campaignData.slice(indexOfFirstPost, indexOfLastPost)); }; loadData(); }, [currentPage, itemPerPage, campaignData]); // const handleVarification = (id) => { // swal({ // title: 'Are you sure?', // icon: 'warning', // buttons: { Yes: { text: 'Yes', value: true }, Cancel: { text: 'Cancel', value: 'cancel' } }, // }).then((value) => { // if (value === true) { // axios // .get(`/api/i/admin/verify/${id}`, { // headers: { // 'Access-Control-Allow-Origin': '*', // Authorization: `Bearer ${token}`, // }, // }) // .then((res) => { // swal({ // title: 'success', // text: res.data.message ? res.data.message : 'Verified Successfully!', // icon: 'success', // button: 'ok', // dangerMode: true, // }) // setSuccess((prev) => !prev) // }) // .catch((err) => { // swal({ // title: 'Failled', // text: 'Something went wrong!', // icon: 'error', // button: 'Retry', // dangerMode: true, // }) // }) // } // }) // } const handleDelete = (id) => { // swal({ // title: "Are you sure?", // icon: "error", // buttons: { // Yes: { text: "Yes", value: true }, // Cancel: { text: "Cancel", value: "cancel" }, // }, // }).then((value) => { // if (value === true) { // axios // .delete(`/api/businesses/delete/${id}`, { // headers: { // "Access-Control-Allow-Origin": "*", // Authorization: `Bearer ${token}`, // }, // }) // .then((res) => { // setSuccess((prev) => !prev); // }) // .catch((err) => { // swal({ // title: "Warning", // text: "Something went wrong!", // icon: "error", // button: "Retry", // dangerMode: true, // }); // }); // } // }); }; const formatDate = (inputDate) => { const options = { year: "numeric", month: "short", day: "numeric" }; const date = new Date(inputDate); return date.toLocaleDateString("en-US", options); }; return (
Campaigns
{/* */} {/* */} {!loading && showData.length === 0 && ( )} {loading ? ( ) : ( showData.map((i, idx) => { return ( {/* {i.banner && i.banner ? :

No image!

} */} {/* */} ); }) )}
Campaign Name LogoCampaign Type RecipientsStatusAction Launch Date Status
No Data Available
Loading...
{i.campaignName} No Image {i.campaignType} {formatDate(i.createdAt)} {/* */} 0 active
Showing {currentPage * itemPerPage - itemPerPage + 1} to{" "} {Math.min( currentPage * itemPerPage, campaignData.length )}{" "} of {campaignData.length} entries
  • setCurrentPage((prev) => prev - 1)} > Previous
  • {!(currentPage - 1 < 1) && (
  • setCurrentPage((prev) => prev - 1) } > {currentPage - 1}
  • )}
  • {currentPage}
  • {!( (currentPage + 1) * itemPerPage - itemPerPage > campaignData.length - 1 ) && (
  • { setCurrentPage((prev) => prev + 1); }} > {currentPage + 1}
  • )}
  • campaignData.length - 1 ) ? "paginate_button page-item next" : "paginate_button page-item next disabled" } > setCurrentPage((prev) => prev + 1)} > Next
); }; export default Campaign;