+ {error && (
+
+
+
Error loading guests: {error.message}
+
+ )}
+
Guest List
-
@@ -170,7 +490,7 @@ const GuestListTable = () => {
-
@@ -190,54 +510,239 @@ const GuestListTable = () => {
- {filteredGuests.map((guest) => (
-
- {guest.fullName}
- {guest.email}
- {guest.phone}
-
-
- {guest.invitationCode}
-
-
-
-
-
- {getStatusBadge(guest.status)}
- {guest.additionalGuests}
-
-
-
-
-
-
-
-
- Edit
- Resend Invitation
-
- Delete
-
-
-
+ {isLoadingGuests ? (
+
+
+ Loading guests...
- ))}
+ ) : filteredGuests.length === 0 ? (
+
+
+ No guests found. Add your first guest!
+
+
+ ) : (
+ filteredGuests.map((guest) => (
+
+
+ {guest.full_name}
+
+ {guest.email || "-"}
+ {guest.phone || "-"}
+
+
+ {guest.invitation_code}
+ copyToClipboard(guest.invitation_code)}
+ >
+
+
+
+
+ {getStatusBadge(guest.status)}
+ {guest.max_additional_guests || 0}
+
+
+
+
+
+
+
+
+ prepareEditGuest(guest)}
+ >
+ Edit
+
+ copyToClipboard(guest.invitation_code)}
+ >
+ Copy Invitation Code
+
+ Resend Invitation
+
+ prepareDeleteGuest(guest)}
+ >
+ Delete
+
+
+
+
+
+ ))
+ )}
- Showing {filteredGuests.length} of {guests.length} guests
+ Showing {filteredGuests.length} of {guests?.length || 0} guests
Total Confirmed:{" "}
- {guests.filter((g) => g.status === "CONFIRMED").length} | Total
- Additional Guests:{" "}
- {guests.reduce((acc, g) => acc + g.additionalGuests, 0)}
+ {guests?.filter((g) => g.status === GuestStatus.CONFIRMED).length ||
+ 0}{" "}
+ | Total Additional Guests:{" "}
+ {guests?.reduce(
+ (acc, g) => acc + (g.max_additional_guests || 0),
+ 0,
+ ) || 0}
+
+ {/* Edit Guest Dialog */}
+