diff --git a/.changeset/shaggy-pumpkins-rule.md b/.changeset/shaggy-pumpkins-rule.md
new file mode 100644
index 0000000000..01788b0283
--- /dev/null
+++ b/.changeset/shaggy-pumpkins-rule.md
@@ -0,0 +1,5 @@
+---
+"@coinbase/onchainkit": patch
+---
+
+- **fix**: default accountChain for `Identity` component. By @zizzamia #1071
diff --git a/playground/nextjs-app-router/next.config.mjs b/playground/nextjs-app-router/next.config.mjs
index c0340b428b..6cf837e0a9 100644
--- a/playground/nextjs-app-router/next.config.mjs
+++ b/playground/nextjs-app-router/next.config.mjs
@@ -1,5 +1,6 @@
/** @type {import('next').NextConfig} */
const nextConfig = {
+ basePath: '/playground',
typescript: {
ignoreBuildErrors: true,
}
diff --git a/src/identity/components/Avatar.test.tsx b/src/identity/components/Avatar.test.tsx
index 17df296637..8d53570e97 100644
--- a/src/identity/components/Avatar.test.tsx
+++ b/src/identity/components/Avatar.test.tsx
@@ -69,9 +69,7 @@ describe('Avatar Component', () => {
useIdentityContextMock.mockReturnValue({ address: null });
useAvatarMock.mockReturnValue({ data: null, isLoading: true });
useNameMock.mockReturnValue({ data: null, isLoading: true });
-
render();
-
await waitFor(() => {
const svgElement = screen.getByTestId('ockAvatarLoadingSvg');
expect(svgElement).toBeInTheDocument();
@@ -82,9 +80,7 @@ describe('Avatar Component', () => {
useIdentityContextMock.mockReturnValue({ address: null });
useAvatarMock.mockReturnValue({ data: null, isLoading: false });
useNameMock.mockReturnValue({ data: null, isLoading: false });
-
render();
-
await waitFor(() => {
const defaultAvatarElement = screen.getByTestId('ockAvatarDefaultSvg');
expect(defaultAvatarElement).toBeInTheDocument();
@@ -101,11 +97,9 @@ describe('Avatar Component', () => {
data: 'ens_name',
isLoading: false,
});
-
render(
,
);
-
await waitFor(() => {
const imgElement = screen.getByTestId('ockAvatar_Image');
expect(imgElement).toHaveAttribute('src', 'avatar_url');
@@ -119,18 +113,15 @@ describe('Avatar Component', () => {
useIdentityContextMock.mockReturnValue({ address: null });
useAvatarMock.mockReturnValue({ data: null, isLoading: true });
useNameMock.mockReturnValue({ data: null, isLoading: true });
-
const CustomLoadingComponent = (
Loading...
);
-
render(
,
);
-
const customLoadingElement = screen.getByTestId('ockAvatarCustomLoading');
expect(customLoadingElement).toBeInTheDocument();
expect(customLoadingElement).toHaveTextContent('Loading...');
@@ -140,18 +131,15 @@ describe('Avatar Component', () => {
useIdentityContextMock.mockReturnValue({ address: null });
useAvatarMock.mockReturnValue({ data: null, isLoading: false });
useNameMock.mockReturnValue({ data: null, isLoading: false });
-
const CustomDefaultComponent = (
Default Avatar
);
-
render(
,
);
-
const customDefaultElement = screen.getByTestId('ockAvatarCustomDefault');
expect(customDefaultElement).toBeInTheDocument();
expect(customDefaultElement).toHaveTextContent('Default Avatar');
@@ -172,13 +160,11 @@ describe('Avatar Component', () => {
data: 'ens_name',
isLoading: false,
});
-
render(
,
);
-
await waitFor(() => {
const inner = screen.getByTestId('ockAvatar_BadgeContainer');
expect(inner).toBeInTheDocument();
@@ -191,9 +177,7 @@ describe('Avatar Component', () => {
useIdentityContextMock.mockReturnValue({
address: testIdentityProviderAddress,
});
-
render();
-
expect(useNameMock).toHaveBeenCalledWith({
address: testIdentityProviderAddress,
});
@@ -203,9 +187,7 @@ describe('Avatar Component', () => {
useIdentityContextMock.mockReturnValue({
address: testIdentityProviderAddress,
});
-
render();
-
expect(useNameMock).toHaveBeenCalledWith({
address: testAvatarComponentAddress,
});
@@ -216,9 +198,7 @@ describe('Avatar Component', () => {
chain: optimism,
address: testIdentityProviderAddress,
});
-
render();
-
expect(useNameMock).toHaveBeenCalledWith({
address: testIdentityProviderAddress,
chain: optimism,
@@ -230,14 +210,11 @@ describe('Avatar Component', () => {
chain: optimism,
address: testIdentityProviderAddress,
});
-
useNameMock.mockReturnValue({
data: 'ens_name',
isLoading: false,
});
-
render();
-
expect(useNameMock).toHaveBeenCalledWith({
address: testIdentityProviderAddress,
chain: baseSepolia,
diff --git a/src/identity/components/Avatar.tsx b/src/identity/components/Avatar.tsx
index 555a7ac2c0..68af8ef2ba 100644
--- a/src/identity/components/Avatar.tsx
+++ b/src/identity/components/Avatar.tsx
@@ -89,7 +89,7 @@ export function Avatar({
)}
{badge && (
-
+
{
if (!address) {
@@ -30,7 +28,6 @@ export function Identity({
}
}, [address]);
- // istanbul ignore next
const onClick = hasCopyAddressOnClick ? handleCopy : undefined;
return (
diff --git a/src/version.ts b/src/version.ts
index b1d8e39bb2..9f30f583ee 100644
--- a/src/version.ts
+++ b/src/version.ts
@@ -1 +1 @@
-export const version = '0.29.0';
+export const version = '0.29.1';
diff --git a/vitest.config.ts b/vitest.config.ts
index 838e112fea..bd0212ef7b 100644
--- a/vitest.config.ts
+++ b/vitest.config.ts
@@ -23,13 +23,13 @@ export default defineConfig({
reportOnFailure: true,
thresholds: {
statements: 99.58,
- branches: 99.25,
+ branches: 99.35,
functions: 97.89,
lines: 99.58,
},
},
environment: 'jsdom',
- exclude: ['**/node_modules/**', 'playground/**', 'site/**'],
+ exclude: ['**/node_modules/**', 'framegear/**', 'playground/**', 'site/**'],
setupFiles: ['./vitest.setup.ts'],
globals: true,
},