diff --git a/src/components/portal/portal-ticket-detail.tsx b/src/components/portal/portal-ticket-detail.tsx index b0cb970..c1fb29b 100644 --- a/src/components/portal/portal-ticket-detail.tsx +++ b/src/components/portal/portal-ticket-detail.tsx @@ -277,9 +277,14 @@ export function PortalTicketDetail({ ticketId }: PortalTicketDetailProps) { const viewerId = convexUserId ?? null const viewerRole = (role ?? "").toLowerCase() + const viewerEmail = (session?.user.email ?? machineContext?.assignedUserEmail ?? "") + .trim() + .toLowerCase() const reopenDeadline = ticket?.reopenDeadline ?? null - const isRequester = - Boolean(ticket?.requester?.id) && Boolean(viewerId) && ticket?.requester?.id === viewerId + const requesterEmail = (ticket?.requester?.email ?? "").trim().toLowerCase() + const isRequesterById = Boolean(ticket?.requester?.id && viewerId && ticket.requester.id === viewerId) + const isRequesterByEmail = Boolean(viewerEmail && requesterEmail && viewerEmail === requesterEmail) + const isRequester = isRequesterById || isRequesterByEmail const reopenWindowActive = reopenDeadline ? reopenDeadline > Date.now() : false const canReopenTicket = !!ticket &&