diff --git a/src/apps/copilots/src/pages/copilot-opportunity-details/tabs/copilot-applications/CopilotApplicationAction.tsx b/src/apps/copilots/src/pages/copilot-opportunity-details/tabs/copilot-applications/CopilotApplicationAction.tsx
index 6387cb756..3acc9d1c7 100644
--- a/src/apps/copilots/src/pages/copilot-opportunity-details/tabs/copilot-applications/CopilotApplicationAction.tsx
+++ b/src/apps/copilots/src/pages/copilot-opportunity-details/tabs/copilot-applications/CopilotApplicationAction.tsx
@@ -1,7 +1,7 @@
import { useParams } from 'react-router-dom'
import { toast } from 'react-toastify'
import { mutate } from 'swr'
-import { useCallback } from 'react'
+import { useCallback, useMemo } from 'react'
import { assignCopilotOpportunity, copilotBaseUrl } from '~/apps/copilots/src/services/copilot-opportunities'
import { CopilotApplication, CopilotApplicationStatus } from '~/apps/copilots/src/models/CopilotApplication'
@@ -9,8 +9,15 @@ import { IconSolid, Tooltip } from '~/libs/ui'
import styles from './styles.module.scss'
-const CopilotApplicationAction = (copilotApplication: CopilotApplication): JSX.Element => {
+const CopilotApplicationAction = (
+ copilotApplication: CopilotApplication,
+ allCopilotApplications: CopilotApplication[],
+): JSX.Element => {
const { opportunityId }: {opportunityId?: string} = useParams<{ opportunityId?: string }>()
+ const isInvited = useMemo(
+ () => allCopilotApplications.findIndex(item => item.status === CopilotApplicationStatus.INVITED) > -1,
+ [allCopilotApplications],
+ )
const onClick = useCallback(async () => {
if (copilotApplication.status !== CopilotApplicationStatus.PENDING) {
return
@@ -39,7 +46,7 @@ const CopilotApplicationAction = (copilotApplication: CopilotApplication): JSX.E
}
{
- copilotApplication.status === CopilotApplicationStatus.PENDING && (
+ !isInvited && copilotApplication.status === CopilotApplicationStatus.PENDING && (
)
}
diff --git a/src/libs/ui/lib/components/table/Table.tsx b/src/libs/ui/lib/components/table/Table.tsx
index 7bdc00170..a66afcb26 100644
--- a/src/libs/ui/lib/components/table/Table.tsx
+++ b/src/libs/ui/lib/components/table/Table.tsx
@@ -177,6 +177,7 @@ const Table: (props: TableProps) =
{
readonly index: number
readonly propertyName?: string
readonly className?: string
- readonly renderer?: (data: T) => JSX.Element | undefined
+ readonly renderer?: (data: T, allRows?: ReadonlyArray) => JSX.Element | undefined
readonly type: TableCellType
readonly onExpand?: () => void
readonly as?: ElementType
readonly showExpandIndicator?: boolean
readonly isExpanded?: boolean
readonly colSpan?: number
+ allRows?: ReadonlyArray
}
const TableCell: (
@@ -40,7 +41,7 @@ const TableCell: (
case 'action':
case 'element':
case 'numberElement':
- data = props.renderer?.(props.data)
+ data = props.renderer?.(props.data, props.allRows)
break
case 'money':
data = textFormatMoneyLocaleString(
diff --git a/src/libs/ui/lib/components/table/table-row/TableRow.tsx b/src/libs/ui/lib/components/table/table-row/TableRow.tsx
index a038dfd51..0456abb4c 100644
--- a/src/libs/ui/lib/components/table/table-row/TableRow.tsx
+++ b/src/libs/ui/lib/components/table/table-row/TableRow.tsx
@@ -22,6 +22,7 @@ interface Props {
index: number
readonly showExpand?: boolean
readonly preventDefault?: boolean
+ allRows?: ReadonlyArray
}
export const TableRow: (
@@ -50,6 +51,7 @@ export const TableRow: (
{...col}
data={props.data}
index={props.index}
+ allRows={props.allRows}
key={getKey(`${props.index}${colIndex}`)}
showExpandIndicator={colIndex === 0 && props.showExpand}
isExpanded={isExpanded && colIndex === 0}