From 824d8c52b9ccabbb8b69f5ace9a3592a3772d35f Mon Sep 17 00:00:00 2001
From: Adwit Mukherji <66975870+4dw1tz@users.noreply.github.com>
Date: Sun, 27 Oct 2024 09:08:58 +0000
Subject: [PATCH 1/2] setting up
---
env | 2 --
1 file changed, 2 deletions(-)
delete mode 100644 env
diff --git a/env b/env
deleted file mode 100644
index 6beaef3..0000000
--- a/env
+++ /dev/null
@@ -1,2 +0,0 @@
-NEXT_PUBLIC_RPC_URL=https://coston2.enosys.global/ext/C/rpc
-NEXT_PUBLIC_CONTRACT_ADDRESS=0xe84032D41216B21153f4Ab0d98EA396f777fc957
From 866a2abe98da1f7cd5e18e1002ec55a8762a984d Mon Sep 17 00:00:00 2001
From: Adwit Mukherji <66975870+4dw1tz@users.noreply.github.com>
Date: Sun, 27 Oct 2024 10:24:19 +0000
Subject: [PATCH 2/2] added media
---
app/events/page.tsx | 44 ++++++++++--
app/host/page.tsx | 2 +-
app/profile/page.tsx | 158 ++++++++++++++++++++++++-------------------
3 files changed, 129 insertions(+), 75 deletions(-)
diff --git a/app/events/page.tsx b/app/events/page.tsx
index 8324a90..2560502 100644
--- a/app/events/page.tsx
+++ b/app/events/page.tsx
@@ -152,7 +152,11 @@ const EventsPage: React.FC = () => {
- Loading...
}>
+ Loading...
+ }
+ >
{
{showSortMenu && (
-
@@ -238,6 +254,22 @@ const EventsPage: React.FC = () => {
/>
Past Events
+
+ {/* Filter by Host */}
+
)}
@@ -246,7 +278,7 @@ const EventsPage: React.FC = () => {
-
+
Available Events
diff --git a/app/host/page.tsx b/app/host/page.tsx
index 1b63f2b..765d6a3 100644
--- a/app/host/page.tsx
+++ b/app/host/page.tsx
@@ -74,7 +74,7 @@ const Page = () => {
loop
muted
className="absolute inset-0 w-full h-full object-cover z-0"
- src="BGVid2.mp4"
+ src="BGVid3.mp4"
>
Your browser does not support the video tag.
diff --git a/app/profile/page.tsx b/app/profile/page.tsx
index 1d0c8d1..d6455a9 100644
--- a/app/profile/page.tsx
+++ b/app/profile/page.tsx
@@ -23,9 +23,17 @@ if (!RPC_URL || !CONTRACT_ADDRESS) {
);
}
+interface TicketDetails {
+ ticketId: number;
+ eventName: string;
+ eventLocation: string;
+ eventDate: string;
+ imageUrl: string;
+}
+
export default function ProfilePage() {
const [isClient, setIsClient] = useState(false);
- const [userTickets, setUserTickets] = useState
([]);
+ const [userTickets, setUserTickets] = useState([]);
const [userAddress, setUserAddress] = useState('');
const [loading, setLoading] = useState(false);
const [error, setError] = useState('');
@@ -86,17 +94,27 @@ export default function ProfilePage() {
console.log('Fetching tickets for address:', address);
- const tickets = await contract.getUserTickets(address);
- console.log('Raw tickets data:', tickets);
+ const ticketIds = await contract.getUserTickets(address);
+ console.log('Raw tickets data:', ticketIds);
- if (Array.isArray(tickets)) {
- const ticketNumbers = tickets.map((ticket: ethers.BigNumber) =>
- ticket.toNumber()
- );
- console.log('Processed ticket numbers:', ticketNumbers);
- setUserTickets(ticketNumbers);
+ if (Array.isArray(ticketIds)) {
+ const ticketDetailsPromises = ticketIds.map(async (ticketId) => {
+ const ticketNumber = ticketId.toNumber();
+ // Simulate fetching event details with dummy data
+ const eventDetails: TicketDetails = {
+ ticketId: ticketNumber,
+ eventName: `Event #${ticketNumber}`,
+ eventLocation: 'Location XYZ',
+ eventDate: '2023-12-01',
+ imageUrl: 'https://via.placeholder.com/150',
+ };
+ return eventDetails;
+ });
+
+ const details = await Promise.all(ticketDetailsPromises);
+ setUserTickets(details);
} else {
- console.error('Unexpected response from getUserTickets:', tickets);
+ console.error('Unexpected response from getUserTickets:', ticketIds);
setError('Unexpected response from contract. Please try again.');
}
} catch (error) {
@@ -108,69 +126,73 @@ export default function ProfilePage() {
return (
+
+ {isClient && (
+
+ )}
+
+
-
- {isClient && (
-
+
+
Your Profile
+ {userAddress ? (
+
Connected Address: {userAddress}
+ ) : (
+
Not connected
)}
-
+ {error && (
+
+ {error}
+
+ )}
-
-
Your Profile
- {userAddress ? (
-
Connected Address: {userAddress}
- ) : (
-
Not connected
- )}
-
Current Network: {networkName}
+ {loading ? (
+
Loading...
+ ) : (
+
+ {userTickets.length > 0 ? (
+ userTickets.map((details) => (
+
+
+
+ {details.eventName}
+ {details.eventLocation}
+
+
+ Ticket ID: {details.ticketId}
+ Date: {details.eventDate}
+
+
+ ))
+ ) : (
+
You don't have any tickets yet.
+ )}
+
+ )}
- {error && (
-
- {error}
-
- )}
-
-
-
- Your Tickets
-
- Here are the tickets associated with your wallet
-
-
-
- {loading ? (
- Loading...
- ) : userTickets.length > 0 ? (
-
- {userTickets.map((ticketId) => (
- -
- Ticket ID: {ticketId}
-
- ))}
-
- ) : (
- You don't have any tickets yet.
- )}
-
-
-
-
- {loading
- ? 'Connecting...'
- : userAddress
- ? 'Refresh Tickets'
- : 'Connect Wallet'}
-
-
+
+ {loading
+ ? 'Connecting...'
+ : userAddress
+ ? 'Refresh Tickets'
+ : 'Connect Wallet'}
+