From fd9d7b06d962d933cde62d66857d3f9a352e6bf6 Mon Sep 17 00:00:00 2001 From: ayomaska18 Date: Fri, 25 Oct 2024 21:23:02 +0100 Subject: [PATCH] added getEventImages and getEventTickets (to be tested) --- app/page.tsx | 6 +++ components/sc/getEventImages.tsx | 63 +++++++++++++++++++++++++++++++ components/sc/getEventTickets.tsx | 58 ++++++++++++++++++++++++++++ 3 files changed, 127 insertions(+) create mode 100644 components/sc/getEventImages.tsx create mode 100644 components/sc/getEventTickets.tsx diff --git a/app/page.tsx b/app/page.tsx index 11930cf..282bbcf 100644 --- a/app/page.tsx +++ b/app/page.tsx @@ -3,6 +3,8 @@ import EventCounter from '@/components/sc/eventCounter'; import CreateEvent from '@/components/sc/createEvent'; import GetEventPrice from '@/components/sc/getEventPrice'; import FlareFeed from '@/components/sc/getFlareFeed'; +import GetEventImages from '@/components/sc/getEventImages'; +import GetEventTickets from '@/components/sc/getEventTickets'; export default function Home() { return ( @@ -35,6 +37,10 @@ export default function Home() { + + + +
{ + const [eventId, setEventId] = useState(null); + const [images, setImages] = useState(null); + + const handleGetImages = async () => { + try { + const contract = getContract(); + + if (eventId === null) return; + + const eventImages = await contract.getEventImages(eventId); + setImages(eventImages); + } catch (error) { + console.error('Error fetching event images:', error); + } + }; + + return ( +
+

Get Event Images

+ setEventId(Number(e.target.value))} + className="border p-2 mb-2" + /> + + + {images && ( +
+

Images for Event {eventId}:

+ {images.length > 0 ? ( + images.map((img, index) => ( +
+

{img}

+ {`Event +
+ )) + ) : ( +

No images available for this event.

+ )} +
+ )} +
+ ); +}; + +export default GetEventImages; diff --git a/components/sc/getEventTickets.tsx b/components/sc/getEventTickets.tsx new file mode 100644 index 0000000..a33876b --- /dev/null +++ b/components/sc/getEventTickets.tsx @@ -0,0 +1,58 @@ +'use client'; + +import React, { useState } from 'react'; +import { getContract } from '@/lib/ethers'; // Adjust the path to your ethers helper + +const GetEventTickets = () => { + const [eventId, setEventId] = useState(null); + const [tickets, setTickets] = useState(null); + + const handleGetTickets = async () => { + try { + const contract = getContract(); + + if (eventId === null) return; + + const eventTickets = await contract.getEventTickets(eventId); + setTickets(eventTickets); + } catch (error) { + console.error('Error fetching event tickets:', error); + } + }; + + return ( +
+

Get Event Tickets

+ setEventId(Number(e.target.value))} + className="border p-2 mb-2" + /> + + + {tickets && ( +
+

Tickets for Event {eventId}:

+ {tickets.length > 0 ? ( +
    + {tickets.map((ticketId, index) => ( +
  • Ticket ID: {ticketId}
  • + ))} +
+ ) : ( +

No tickets available for this event.

+ )} +
+ )} +
+ ); +}; + +export default GetEventTickets;