aboutsummaryrefslogblamecommitdiffstats
path: root/src/pages/ManageAds.jsx
blob: 8f72d0feb0dbd90ef7e5ed6cf7e3e276f12030d9 (plain) (tree)
1
2
3
4
5
6
7
8
9


                                                   
                                                  
                                            



                                               

                                                                













                                       



                                         
                                         
                                            

    



                                      
                                                            











                                                                     




                         
import React, { useState, useEffect } from 'react';
import AdCard from '../components/AdCard';
import AdForm from '../components/AdForm';
import UploadForm from '../components/UploadForm';
import ViewAds from '../components/ViewAds';
import { fetchAds, addAd } from '../utils/api';

const ManageAds = () => {
  const [ads, setAds] = useState([]);
  const [showUploadedAds, setShowUploadedAds] = useState(false);
  const [uploadedUrls, setUploadedUrls] = useState([]);

  useEffect(() => {
    const getAds = async () => {
      const adsData = await fetchAds();
      setAds(adsData);
    };
    getAds();
  }, []);

  const handleAddAd = async (ad) => {
    await addAd(ad);
    setAds([...ads, ad]);
  };

  const toggleViewAds = () => {
    setShowUploadedAds(!showUploadedAds);
  };

  const handleUploadComplete = (url) => {
    setUploadedUrls([...uploadedUrls, url]);
  };

  return (
    <div>
      <h1>Manage Ads</h1>
      <AdForm onAddAd={handleAddAd} />
      <UploadForm onUploadComplete={handleUploadComplete} />
      <button onClick={toggleViewAds}>
        {showUploadedAds ? 'Hide Uploaded Ads' : 'View Uploaded Ads'}
      </button>
      {showUploadedAds ? (
        <ViewAds />
      ) : (
        <div>
          {ads.map((ad) => (
            <AdCard key={ad.id} ad={ad} />
          ))}
        </div>
      )}
    </div>
  );
};

export default ManageAds;