feat(ticket): make assigned issue images collapsible

This commit is contained in:
2026-08-07 16:43:44 +05:30
parent 3d04995f97
commit da5b1009e3

View File

@@ -1,11 +1,22 @@
'use client'; 'use client';
import { useEffect } from 'react'; import { useEffect } from 'react';
import { BriefcaseBusiness, CalendarClock, ListChecks } from 'lucide-react'; import {
BriefcaseBusiness,
CalendarClock,
ChevronDown,
Images,
ListChecks,
} from 'lucide-react';
import { PersonInfo } from '@/components/person-avatar'; import { PersonInfo } from '@/components/person-avatar';
import { Badge } from '@/components/ui/badge'; import { Badge } from '@/components/ui/badge';
import { Button } from '@/components/ui/button'; import { Button } from '@/components/ui/button';
import {
Collapsible,
CollapsibleContent,
CollapsibleTrigger,
} from '@/components/ui/collapsible';
import { import {
Card, Card,
CardContent, CardContent,
@@ -260,7 +271,25 @@ export function TicketAssignmentsCard({
> >
<AssignmentOverview assignment={selectedAssignment} /> <AssignmentOverview assignment={selectedAssignment} />
{videoId ? ( {videoId ? (
<div className={'mt-4 border-t pt-4'}> <Collapsible
key={selectedAssignment.id}
className="group mt-4 overflow-hidden rounded-lg border"
>
<CollapsibleTrigger asChild>
<Button
type="button"
variant="ghost"
className="h-auto w-full justify-between rounded-none px-4 py-3"
>
<span className="flex items-center gap-2 font-medium">
<Images className="size-4 text-primary" />
Assigned issue images
</span>
<ChevronDown className="size-4 text-muted-foreground transition-transform group-data-[state=open]:rotate-180" />
</Button>
</CollapsibleTrigger>
<CollapsibleContent>
<div className="border-t p-4">
<TicketDetectionPreview <TicketDetectionPreview
key={`${videoId}:${selectedAssignment.id}`} key={`${videoId}:${selectedAssignment.id}`}
ticketId={ticketId} ticketId={ticketId}
@@ -268,6 +297,8 @@ export function TicketAssignmentsCard({
assignmentId={selectedAssignment.id} assignmentId={selectedAssignment.id}
/> />
</div> </div>
</CollapsibleContent>
</Collapsible>
) : null} ) : null}
</div> </div>
</div> </div>