aboutsummaryrefslogtreecommitdiffstats
path: root/src/pages/ManageAds.jsx
blob: 8f72d0feb0dbd90ef7e5ed6cf7e3e276f12030d9 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
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;