Display empty invitations

This commit is contained in:
Manuel Bustillo 2025-06-01 15:35:02 +02:00
parent 16cd9e6175
commit ecc2550146

View File

@ -18,6 +18,13 @@ export default function InvitationsBoard({ guests, invitations }: {
) )
); );
// Sort invitations to display those without guests at the top
const sortedInvitations = [...invitations].sort((a, b) => {
if (a.guests.length === 0 && b.guests.length > 0) return -1;
if (a.guests.length > 0 && b.guests.length === 0) return 1;
return 0;
});
function handleCreateInvitation() { function handleCreateInvitation() {
api.create(serializer, new Invitation(), () => { api.create(serializer, new Invitation(), () => {
console.log("Invitation created successfully"); console.log("Invitation created successfully");
@ -56,17 +63,23 @@ export default function InvitationsBoard({ guests, invitations }: {
</button> </button>
<div className="grid grid-cols-4 gap-6"> <div className="grid grid-cols-4 gap-6">
{invitations.map((invitation, index) => ( {sortedInvitations.map((invitation, index) => (
<div <div
key={invitation.id} key={invitation.id}
className="flex items-center justify-center w-full bg-green-800 border border-green-900" className="flex items-center justify-center w-full bg-green-800 border border-green-900"
style={{ aspectRatio: "1.618 / 1" }} style={{ aspectRatio: "1.618 / 1" }}
> >
<ul className="text-center text-yellow-500 font-cursive text-lg"> {invitation.guests.length === 0 ? (
<p className="text-center text-yellow-500 text-lg italic">
(empty invitation)
</p>
) : (
<ul className="text-center text-yellow-500 text-lg">
{invitation.guests.map((guest) => ( {invitation.guests.map((guest) => (
<li key={guest.id}>{guest.name}</li> <li key={guest.id}>{guest.name}</li>
))} ))}
</ul> </ul>
)}
</div> </div>
))} ))}
</div> </div>