diff --git a/libs/datagrid/src/lib/cells/market-name-cell.tsx b/libs/datagrid/src/lib/cells/market-name-cell.tsx
index 3ccc37167..ad6ca5ccb 100644
--- a/libs/datagrid/src/lib/cells/market-name-cell.tsx
+++ b/libs/datagrid/src/lib/cells/market-name-cell.tsx
@@ -2,28 +2,22 @@ import type { MouseEvent } from 'react';
import { useCallback } from 'react';
import get from 'lodash/get';
import { Pill } from '@vegaprotocol/ui-toolkit';
-import type { Market } from '@vegaprotocol/types';
-
-const productTypeMap = {
- Future: 'Futr',
- FutureProduct: 'Futr',
- Spot: 'Spot',
- SpotProduct: 'Spot',
- Perpetual: 'Perp',
- PerpetualProduct: 'Perp',
-} as const;
-export type ProductType = keyof typeof productTypeMap | undefined;
+import {
+ ProductTypeShortName,
+ type Market,
+ type ProductType,
+} from '@vegaprotocol/types';
export const MarketProductPill = ({
productType,
}: {
- productType?: ProductType;
+ productType: ProductType;
}) => {
- return productType ? (
+ return (
- {productTypeMap[productType] || productType}
+ {ProductTypeShortName[productType]}
- ) : null;
+ );
};
interface MarketNameCellProps {
@@ -66,7 +60,7 @@ export const MarketNameCell = ({
{value}
-
+ {productType && }
>
);
return onMarketClick && id ? (
diff --git a/libs/positions/src/lib/positions-data-providers.ts b/libs/positions/src/lib/positions-data-providers.ts
index 85b7ac6be..1e90d94b8 100644
--- a/libs/positions/src/lib/positions-data-providers.ts
+++ b/libs/positions/src/lib/positions-data-providers.ts
@@ -26,7 +26,7 @@ import {
PositionsDocument,
PositionsSubscriptionDocument,
} from './__generated__/Positions';
-import type { PositionStatus } from '@vegaprotocol/types';
+import type { PositionStatus, ProductType } from '@vegaprotocol/types';
export interface Position {
assetId: string;
@@ -51,7 +51,7 @@ export interface Position {
totalBalance: string;
unrealisedPNL: string;
updatedAt: string | null;
- productType?: string;
+ productType: ProductType;
}
export const getMetrics = (
diff --git a/libs/positions/src/lib/positions-table.spec.tsx b/libs/positions/src/lib/positions-table.spec.tsx
index 870e2c850..be4532bfe 100644
--- a/libs/positions/src/lib/positions-table.spec.tsx
+++ b/libs/positions/src/lib/positions-table.spec.tsx
@@ -189,13 +189,8 @@ describe('Positions', () => {
/>
);
});
-<<<<<<< HEAD
- const cells = screen.getAllByRole('gridcell');
- expect(cells[11].textContent).toEqual('');
-=======
- expect(screen.getByRole('button', { name: 'Close' })).toBeInTheDocument();
->>>>>>> 997dc6380 (test: update tests after tooltip changes)
+ expect(screen.getByTestId('close-position')).toBeInTheDocument();
});
it('do not display close button if openVolume is zero', async () => {
diff --git a/libs/positions/src/lib/positions-table.tsx b/libs/positions/src/lib/positions-table.tsx
index 80975d5d4..02c7331cd 100644
--- a/libs/positions/src/lib/positions-table.tsx
+++ b/libs/positions/src/lib/positions-table.tsx
@@ -21,6 +21,7 @@ import {
ExternalLink,
VegaIcon,
VegaIconNames,
+ Pill,
} from '@vegaprotocol/ui-toolkit';
import {
volumePrefix,
@@ -122,7 +123,21 @@ export const PositionsTable = ({
}: VegaICellRendererParams) => {
if (!data || !value) return '-';
return (
-
+
+ {data?.assetSymbol}
+
+ {productTypeMap[productType] || productType}
+
+ >
+ }
+ />
);
},
},
diff --git a/libs/types/src/global-types-mappings.ts b/libs/types/src/global-types-mappings.ts
index 4458530e2..e2096be2c 100644
--- a/libs/types/src/global-types-mappings.ts
+++ b/libs/types/src/global-types-mappings.ts
@@ -25,6 +25,7 @@ import type {
DispatchMetric,
StopOrderStatus,
} from './__generated__/types';
+import type { ProductType } from './product';
export const AccountTypeMapping: {
[T in AccountType]: string;
@@ -513,3 +514,11 @@ export const PeggedReferenceMapping: { [R in PeggedReference]: string } = {
PEGGED_REFERENCE_BEST_BID: 'Bid',
PEGGED_REFERENCE_MID: 'Mid',
};
+
+export const ProductTypeMapping: Record = {
+ Future: 'Future',
+};
+
+export const ProductTypeShortName: Record = {
+ Future: 'FUTR',
+};
diff --git a/libs/types/src/index.ts b/libs/types/src/index.ts
index 763376bbb..620b07f56 100644
--- a/libs/types/src/index.ts
+++ b/libs/types/src/index.ts
@@ -1,3 +1,4 @@
export * from './__generated__/types';
export * from './candle';
export * from './global-types-mappings';
+export * from './product';
diff --git a/libs/types/src/product.ts b/libs/types/src/product.ts
new file mode 100644
index 000000000..4811f83a3
--- /dev/null
+++ b/libs/types/src/product.ts
@@ -0,0 +1,3 @@
+import type { Product } from './__generated__/types';
+
+export type ProductType = NonNullable;