- { data.name && }
+ { data.name && }
{ data.compiler_version && }
{ data.evm_version && }
{ licenseLink && (
diff --git a/ui/address/contract/__screenshots__/ContractCode.pw.tsx_default_with-certified-icon-mobile-1.png b/ui/address/contract/__screenshots__/ContractCode.pw.tsx_default_with-certified-icon-mobile-1.png
new file mode 100644
index 0000000000..f9660a84e5
Binary files /dev/null and b/ui/address/contract/__screenshots__/ContractCode.pw.tsx_default_with-certified-icon-mobile-1.png differ
diff --git a/ui/address/contract/__screenshots__/ContractCode.pw.tsx_mobile_with-certified-icon-mobile-1.png b/ui/address/contract/__screenshots__/ContractCode.pw.tsx_mobile_with-certified-icon-mobile-1.png
new file mode 100644
index 0000000000..964b95edd1
Binary files /dev/null and b/ui/address/contract/__screenshots__/ContractCode.pw.tsx_mobile_with-certified-icon-mobile-1.png differ
diff --git a/ui/pages/VerifiedContracts.pw.tsx b/ui/pages/VerifiedContracts.pw.tsx
index ad0553eacd..da5de285ec 100644
--- a/ui/pages/VerifiedContracts.pw.tsx
+++ b/ui/pages/VerifiedContracts.pw.tsx
@@ -1,4 +1,4 @@
-import { test, expect } from '@playwright/experimental-ct-react';
+import { test, expect, devices } from '@playwright/experimental-ct-react';
import React from 'react';
import * as textAdMock from 'mocks/ad/textAd';
@@ -25,7 +25,7 @@ test.beforeEach(async({ page }) => {
});
});
-test('base view +@mobile', async({ mount, page }) => {
+test('base view', async({ mount, page }) => {
await page.route(VERIFIED_CONTRACTS_API_URL, (route) => route.fulfill({
status: 200,
body: JSON.stringify(verifiedContractsMock.baseResponse),
@@ -43,3 +43,26 @@ test('base view +@mobile', async({ mount, page }) => {
await expect(component).toHaveScreenshot();
});
+
+test.describe('mobile', () => {
+ test.use({ viewport: devices['iPhone 13 Pro'].viewport });
+ test('base view', async({ mount, page }) => {
+
+ await page.route(VERIFIED_CONTRACTS_API_URL, (route) => route.fulfill({
+ status: 200,
+ body: JSON.stringify(verifiedContractsMock.baseResponse),
+ }));
+ await page.route(VERIFIED_CONTRACTS_COUNTERS_API_URL, (route) => route.fulfill({
+ status: 200,
+ body: JSON.stringify(verifiedContractsCountersMock),
+ }));
+
+ const component = await mount(
+
+
+ ,
+ );
+
+ await expect(component).toHaveScreenshot();
+ });
+});
diff --git a/ui/pages/__screenshots__/VerifiedContracts.pw.tsx_default_base-view-1.png b/ui/pages/__screenshots__/VerifiedContracts.pw.tsx_default_base-view-1.png
new file mode 100644
index 0000000000..89cb577685
Binary files /dev/null and b/ui/pages/__screenshots__/VerifiedContracts.pw.tsx_default_base-view-1.png differ
diff --git a/ui/pages/__screenshots__/VerifiedContracts.pw.tsx_default_base-view-mobile-1.png b/ui/pages/__screenshots__/VerifiedContracts.pw.tsx_default_base-view-mobile-1.png
deleted file mode 100644
index 3a5eb8c821..0000000000
Binary files a/ui/pages/__screenshots__/VerifiedContracts.pw.tsx_default_base-view-mobile-1.png and /dev/null differ
diff --git a/ui/pages/__screenshots__/VerifiedContracts.pw.tsx_default_mobile-base-view-1.png b/ui/pages/__screenshots__/VerifiedContracts.pw.tsx_default_mobile-base-view-1.png
new file mode 100644
index 0000000000..e90c55e337
Binary files /dev/null and b/ui/pages/__screenshots__/VerifiedContracts.pw.tsx_default_mobile-base-view-1.png differ
diff --git a/ui/pages/__screenshots__/VerifiedContracts.pw.tsx_mobile_base-view-mobile-1.png b/ui/pages/__screenshots__/VerifiedContracts.pw.tsx_mobile_base-view-mobile-1.png
deleted file mode 100644
index 1d34aeadae..0000000000
Binary files a/ui/pages/__screenshots__/VerifiedContracts.pw.tsx_mobile_base-view-mobile-1.png and /dev/null differ
diff --git a/ui/searchResults/SearchResultListItem.tsx b/ui/searchResults/SearchResultListItem.tsx
index d09cb77983..21ae64472c 100644
--- a/ui/searchResults/SearchResultListItem.tsx
+++ b/ui/searchResults/SearchResultListItem.tsx
@@ -69,7 +69,7 @@ const SearchResultListItem = ({ data, searchTerm, isLoading }: Props) => {
textOverflow="ellipsis"
/>
- { data.is_verified_via_admin_panel && }
+ { data.is_verified_via_admin_panel && }
);
}
diff --git a/ui/searchResults/SearchResultTableItem.tsx b/ui/searchResults/SearchResultTableItem.tsx
index d9a1cf6d74..8bb666873c 100644
--- a/ui/searchResults/SearchResultTableItem.tsx
+++ b/ui/searchResults/SearchResultTableItem.tsx
@@ -69,7 +69,7 @@ const SearchResultTableItem = ({ data, searchTerm, isLoading }: Props) => {
dangerouslySetInnerHTML={{ __html: highlightText(name, searchTerm) }}
/>
- { data.is_verified_via_admin_panel && }
+ { data.is_verified_via_admin_panel && }
diff --git a/ui/shared/ContractCertifiedLabel.tsx b/ui/shared/ContractCertifiedLabel.tsx
new file mode 100644
index 0000000000..98e79f7cbb
--- /dev/null
+++ b/ui/shared/ContractCertifiedLabel.tsx
@@ -0,0 +1,21 @@
+import { Box, Tooltip, chakra } from '@chakra-ui/react';
+import React from 'react';
+
+import IconSvg from './IconSvg';
+
+type Props = {
+ iconSize: number;
+ className?: string;
+}
+
+const ContractCertifiedLabel = ({ iconSize, className }: Props) => {
+ return (
+
+
+
+
+
+ );
+};
+
+export default chakra(ContractCertifiedLabel);
diff --git a/ui/shared/Page/specs/DefaultView.tsx b/ui/shared/Page/specs/DefaultView.tsx
index 0c117d1411..b347b5e32f 100644
--- a/ui/shared/Page/specs/DefaultView.tsx
+++ b/ui/shared/Page/specs/DefaultView.tsx
@@ -32,7 +32,7 @@ const DefaultView = () => {
const contentAfter = (
<>
-
+
{
const contentAfter = (
<>
-
+
{
const icon = ;
- const verifiedIcon = ;
+ const verifiedIcon = ;
const name = (
{
{ verifiedInfoQuery.data?.tokenAddress && (
-
+
) }
diff --git a/ui/verifiedContracts/VerifiedContractsListItem.tsx b/ui/verifiedContracts/VerifiedContractsListItem.tsx
index 04765654a5..c0830fd8db 100644
--- a/ui/verifiedContracts/VerifiedContractsListItem.tsx
+++ b/ui/verifiedContracts/VerifiedContractsListItem.tsx
@@ -8,6 +8,7 @@ import config from 'configs/app';
import { CONTRACT_LICENSES } from 'lib/contracts/licenses';
import dayjs from 'lib/date/dayjs';
import { currencyUnits } from 'lib/units';
+import ContractCertifiedLabel from 'ui/shared/ContractCertifiedLabel';
import CopyToClipboard from 'ui/shared/CopyToClipboard';
import AddressEntity from 'ui/shared/entities/address/AddressEntity';
import HashStringShorten from 'ui/shared/HashStringShorten';
@@ -36,12 +37,15 @@ const VerifiedContractsListItem = ({ data, isLoading }: Props) => {
return (
-
+
+
+ { data.certified && }
+
diff --git a/ui/verifiedContracts/VerifiedContractsTableItem.tsx b/ui/verifiedContracts/VerifiedContractsTableItem.tsx
index 3bafd4446e..5ba5053b5a 100644
--- a/ui/verifiedContracts/VerifiedContractsTableItem.tsx
+++ b/ui/verifiedContracts/VerifiedContractsTableItem.tsx
@@ -7,6 +7,7 @@ import type { VerifiedContract } from 'types/api/contracts';
import config from 'configs/app';
import { CONTRACT_LICENSES } from 'lib/contracts/licenses';
import dayjs from 'lib/date/dayjs';
+import ContractCertifiedLabel from 'ui/shared/ContractCertifiedLabel';
import CopyToClipboard from 'ui/shared/CopyToClipboard';
import AddressEntity from 'ui/shared/entities/address/AddressEntity';
import HashStringShorten from 'ui/shared/HashStringShorten';
@@ -34,13 +35,15 @@ const VerifiedContractsTableItem = ({ data, isLoading }: Props) => {
return (
-
+
+
+ { data.certified && }
+
| |