Dine360-Ads-Frontend/src/Components/PartnersPageCardComponent.jsx
MOHAN 6e8694ba96 Update resource URL to backend.dine360ads.com
Changed all image/video URLs from ads.dine360ads.com/api/ to backend.dine360ads.com/

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-13 15:32:57 +05:30

93 lines
3.7 KiB
JavaScript
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import React from 'react'
import { motion } from "framer-motion";
import { FaPlus, FaCircle } from "react-icons/fa";
import { api } from "../API/api";
import { useNavigate } from 'react-router-dom';
import { useLoading } from '../Context/LoadingContext';
export default function PartnersCardComponent({ Data, setUpd }) {
const navigate = useNavigate();
const { setLoading } = useLoading();
const handleDelete = async (partnerid) => {
console.log(partnerid)
try {
setLoading(true);
const response = await api.delete(`/admin/delete-partner/${partnerid}`);
console.log(response);
setUpd(partnerid)
} catch (error) {
console.error("Error fetching files:", error);
}
setLoading(false)
};
return (
<>
<div className="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-6">
<motion.div
className="bg-gray-800 p-6 rounded-lg shadow-lg text-center cursor-pointer hover:bg-gray-700 transition flex items-center justify-center"
whileHover={{ scale: 1.05 }}
whileTap={{ scale: 0.95 }}
onClick={() => navigate("/add-partner")}
>
<div>
<FaPlus className="text-5xl text-blue-500 mx-auto mb-4" />
<p className="text-lg font-semibold">Add New Partner</p>
</div>
</motion.div>
{Data?.map((client) => (
<motion.div
key={client.transid}
className="bg-gray-800 p-6 rounded-lg shadow-lg relative cursor-pointer hover:bg-gray-700 transition"
initial={{ opacity: 0, y: 20 }}
animate={{ opacity: 1, y: 0 }}
transition={{ delay: 0 }}
whileHover={{ scale: 1.03 }}
whileTap={{ scale: 0.98 }}
onClick={() => navigate(`/manage-partner/${client.transid}`)}
>
{/* Red Delete Button at Top Right Corner */}
<button
onClick={(e) => {
e.stopPropagation(); // Prevents triggering the card's onClick event
if (confirm("Are you sure you want to delete this Partner?")) {
handleDelete(client.transid);
}
}}
className="absolute top-2 right-2 text-red-500 hover:text-red-700 text-xl"
>
🗑
</button>
<div
className="bg-cover bg-center h-40 rounded-lg "
style={{
backgroundImage: `url('https://backend.dine360ads.com/${client.logo_url || ""}')`,
}}
></div>
<div className="mt-4">
<h2 className="text-xl font-bold">{client.name}</h2>
<p className="text-gray-400">🕒 {client.open_time} - {client.close_time}</p>
{/* <div className="mt-2 ml-1 flex items-center">
<FaCircle className={`mr-2 ${client.is_active ? "text-green-400" : "text-red-400"}`} />
<span> {client.is_active ? "Active" : "Inactive"}</span>
</div> */}
</div>
</motion.div>
))}
</div>
</>
)
}