task-d5.5.1

This commit is contained in:
phaichayon
2026-06-25 12:16:41 +07:00
parent f2c7156851
commit c2a74b6764
121 changed files with 3407 additions and 2679 deletions

View File

@@ -57,7 +57,7 @@ export function LeadDetail({
<Badge variant='outline'>{lead.statusLabel ?? lead.status}</Badge>
</div>
<p className='text-muted-foreground mt-2 text-sm'>
Lead workspace for marketing qualification before sales enquiry handoff
Lead workspace for marketing qualification before sales opportunity handoff
</p>
</div>
@@ -103,7 +103,7 @@ export function LeadDetail({
<Tabs defaultValue='followups' className='space-y-4'>
<TabsList>
<TabsTrigger value='followups'>Follow-ups</TabsTrigger>
<TabsTrigger value='linked-enquiries'>Linked Enquiries</TabsTrigger>
<TabsTrigger value='linked-opportunities'>Linked Opportunities</TabsTrigger>
<TabsTrigger value='activity'>Activity</TabsTrigger>
</TabsList>
@@ -111,29 +111,29 @@ export function LeadDetail({
<LeadFollowupPanel leadId={leadId} detail={data} />
</TabsContent>
<TabsContent value='linked-enquiries'>
<TabsContent value='linked-opportunities'>
<Card>
<CardHeader>
<CardTitle>Linked Enquiries</CardTitle>
<CardTitle>Linked Opportunities</CardTitle>
</CardHeader>
<CardContent className='space-y-3'>
{lead.linkedEnquiries.length === 0 ? (
<div className='text-muted-foreground text-sm'>No linked enquiries yet.</div>
{lead.linkedOpportunities.length === 0 ? (
<div className='text-muted-foreground text-sm'>No linked opportunities yet.</div>
) : (
lead.linkedEnquiries.map((enquiry) => (
<div key={enquiry.id} className='border-border rounded-md border p-3'>
lead.linkedOpportunities.map((opportunity) => (
<div key={opportunity.id} className='border-border rounded-md border p-3'>
<div className='flex items-center justify-between gap-3'>
<Link
href={`/dashboard/crm/enquiries/${enquiry.id}`}
href={`/dashboard/crm/opportunities/${opportunity.id}`}
className='font-medium hover:underline'
>
{enquiry.code}
{opportunity.code}
</Link>
<Badge variant='outline'>{enquiry.status}</Badge>
<Badge variant='outline'>{opportunity.status}</Badge>
</div>
<div className='mt-1 text-sm'>{enquiry.title}</div>
<div className='mt-1 text-sm'>{opportunity.title}</div>
<div className='text-muted-foreground mt-2 text-xs'>
Owner: {enquiry.assignedToName ?? '-'}
Owner: {opportunity.assignedToName ?? '-'}
</div>
</div>
))
@@ -174,7 +174,7 @@ export function LeadDetail({
</CardHeader>
<CardContent className='space-y-3'>
<FieldItem label='Current Workspace' value='Lead' />
<FieldItem label='Related Enquiries' value={String(lead.relatedEnquiryCount)} />
<FieldItem label='Related Opportunities' value={String(lead.relatedOpportunityCount)} />
<FieldItem
label='Assigned At'
value={lead.assignedAt ? new Date(lead.assignedAt).toLocaleString() : null}
@@ -188,3 +188,4 @@ export function LeadDetail({
</div>
);
}