refactor(ticket): make details lot-based and remove class-detail flow

This commit is contained in:
2026-07-31 12:49:38 +05:30
parent 44d3be5d27
commit 2caeae7c91
20 changed files with 84 additions and 460 deletions

View File

@@ -2,19 +2,19 @@
import { PERMISSIONS } from '@/constants/permissions';
import { PermissionGuard } from '@/guards';
import type { TicketAssignmentSummary, TicketDetail } from '@/types';
import type { TicketAssignmentSummary } from '@/types';
import { NoTicketAction } from './actions/NoTicketAction';
import { RequestExtensionAction } from './actions/RequestExtensionAction';
import { ReviewExtensionRequestAction } from './actions/ReviewExtensionRequestAction';
interface TicketStatusActionsProps {
ticket: TicketDetail;
ticketId: string;
assignment?: TicketAssignmentSummary;
}
function getTicketAction(
ticket: TicketDetail,
ticketId: string,
assignment?: TicketAssignmentSummary,
) {
if (assignment && !assignment.is_complete) {
@@ -27,7 +27,7 @@ function getTicketAction(
fallback={<NoTicketAction />}
>
<RequestExtensionAction
ticket={ticket}
ticketId={ticketId}
assignmentId={assignment.id}
dueAt={assignment.due_at}
/>
@@ -35,7 +35,7 @@ function getTicketAction(
}
>
<ReviewExtensionRequestAction
ticket={ticket}
ticketId={ticketId}
assignmentId={assignment.id}
/>
</PermissionGuard>
@@ -46,10 +46,10 @@ function getTicketAction(
}
export function TicketStatusActions({
ticket,
ticketId,
assignment,
}: TicketStatusActionsProps) {
const action = getTicketAction(ticket, assignment);
const action = getTicketAction(ticketId, assignment);
return action ? <div className="space-y-3">{action}</div> : null;
}