ux(portal): simplificar exibicao do botao de reabertura

This commit is contained in:
Esdras Renan 2025-11-14 11:58:35 -03:00
parent 2468892d77
commit 8b905dc467

View file

@ -276,16 +276,7 @@ export function PortalTicketDetail({ ticketId }: PortalTicketDetailProps) {
) )
const viewerId = convexUserId ?? null const viewerId = convexUserId ?? null
const viewerRole = (role ?? "").toLowerCase()
const viewerEmail = (session?.user.email ?? machineContext?.assignedUserEmail ?? "")
.trim()
.toLowerCase()
const rawReopenDeadline = ticket?.reopenDeadline ?? null const rawReopenDeadline = ticket?.reopenDeadline ?? null
const reopenedAt = ticket?.reopenedAt ?? null
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 DEFAULT_REOPEN_DAYS = 7 const DEFAULT_REOPEN_DAYS = 7
const fallbackClosedMs = ticket?.closedAt?.getTime() ?? ticket?.resolvedAt?.getTime() ?? null const fallbackClosedMs = ticket?.closedAt?.getTime() ?? ticket?.resolvedAt?.getTime() ?? null
@ -295,11 +286,7 @@ export function PortalTicketDetail({ ticketId }: PortalTicketDetailProps) {
? fallbackClosedMs + DEFAULT_REOPEN_DAYS * 24 * 60 * 60 * 1000 ? fallbackClosedMs + DEFAULT_REOPEN_DAYS * 24 * 60 * 60 * 1000
: null : null
const reopenWindowActive = inferredDeadline ? inferredDeadline > Date.now() : true const reopenWindowActive = inferredDeadline ? inferredDeadline > Date.now() : true
const canReopenTicket = const canReopenTicket = !!ticket && ticket.status === "RESOLVED" && reopenWindowActive
!!ticket &&
ticket.status === "RESOLVED" &&
reopenWindowActive &&
(isStaff || viewerRole === "manager" || isRequester)
const reopenDeadlineLabel = useMemo(() => { const reopenDeadlineLabel = useMemo(() => {
const deadline = inferredDeadline ?? rawReopenDeadline const deadline = inferredDeadline ?? rawReopenDeadline
if (!deadline) return null if (!deadline) return null