Skip to content

Commit

Permalink
fix(widget): used primaryname hook instead of hybridPrimaryName
Browse files Browse the repository at this point in the history
  • Loading branch information
anthony23991 committed Jan 9, 2025
1 parent 6af4627 commit 90d5919
Show file tree
Hide file tree
Showing 5 changed files with 69 additions and 118 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import {
useEnabledMApps,
useEnsAvatar,
useMountedAccount,
useOffchainResolvers,
useRecords
} from '@justaname.id/react';
import {
Expand Down Expand Up @@ -47,6 +48,9 @@ export interface JustWeb3Buttonrops {
logout?: () => void;
}

const ENS_MAINNET_RESOLVER = '0x4976fb03C32e5B8cfe2b6cCB31c09Ba78EBaBa41';
const ENS_SEPOLIA_RESOLVER = '0x8FADE66B79cC9f707aB26799354482EB93a5B7dD';

export const JustWeb3Button: FC<JustWeb3Buttonrops> = ({
children,
logout,
Expand All @@ -58,7 +62,7 @@ export const JustWeb3Button: FC<JustWeb3Buttonrops> = ({
const [openConfiguration, setOpenConfiguration] = useState(false);
const { plugins, mApps, config } = useContext(JustWeb3Context);
const { createPluginApi } = useContext(PluginContext);
const { address, isConnected } = useMountedAccount();
const { address, isConnected, chainId } = useMountedAccount();
const [mobileDialogOpen, setMobileDialogOpen] = useState(false);
const { disconnect } = useDisconnect();
const {
Expand All @@ -72,6 +76,8 @@ export const JustWeb3Button: FC<JustWeb3Buttonrops> = ({
ens: connectedEns?.ens || '',
});

const { offchainResolvers } = useOffchainResolvers();

const { enabledMApps } = useEnabledMApps({
ens: connectedEns?.ens || '',
});
Expand All @@ -98,7 +104,21 @@ export const JustWeb3Button: FC<JustWeb3Buttonrops> = ({
return acc;
},
[] as Records[]
);
).filter((name) => {
const resolverAddress =
chainId === 1 ? ENS_MAINNET_RESOLVER : ENS_SEPOLIA_RESOLVER;
const offchainResolver = offchainResolvers?.offchainResolvers.find(
(resolver) => resolver.chainId === chainId
);

return !(
name.records.resolverAddress !== resolverAddress &&
name.records.resolverAddress !== offchainResolver?.resolverAddress
);
})
.sort((a, b) => {
return a.ens.localeCompare(b.ens);
});
}, [accountEnsNames, accountSubnames]);

const hasTwitterOrX = useMemo(() => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ import {
} from '@justweb3/ui';
import { FC, useContext } from 'react';
import { useDisconnect } from 'wagmi';
import { JustWeb3Context, useJustWeb3 } from '../../providers';
import { JustWeb3Context } from '../../providers';
import { DefaultDialog } from '../DefaultDialog';

export interface ConfigurationDialogProps {
Expand All @@ -31,7 +31,6 @@ export const ConfigurationDialog: FC<ConfigurationDialogProps> = ({
} = useContext(JustWeb3Context);
const { address, isConnected } = useMountedAccount();
const { disconnect } = useDisconnect();
const { connectedEns, isEnsAuthPending } = useJustWeb3();

const { NameHashJustaNameResolverSet, isSetNameHashJustaNameResolverPending, setNameHashJustaNameResolver } = useSetNameHashJustaNameResolver()

Expand Down Expand Up @@ -71,33 +70,24 @@ export const ConfigurationDialog: FC<ConfigurationDialogProps> = ({
: null
}
>
{!connectedEns || isEnsAuthPending ? (
<div
style={{
position: 'relative',
padding: '24px',
}}
>
<LoadingSpinner color={'var(--justweb3-primary-color)'} />
</div>
) : (
<Flex justify="space-between" direction="column" gap="20px">
<Flex direction='row' gap={'10px'} align={'center'} style={{ marginTop: 9 }} >
<BackBtn onClick={() => handleOpenDialog(false)} />
<H2 style={{
fontWeight: 700,
}}>Configure</H2>
</Flex>
<P style={{ fontSize: 12 }}>
To use your JustaName primary account across the blockchain ecosystem, you need to configure your resolver.
</P>
{isSetNameHashJustaNameResolverPending ? <LoadingSpinner color={'var(--justweb3-primary-color)'} /> :
<Button disabled={NameHashJustaNameResolverSet} variant='primary' onClick={setNameHashJustaNameResolver} >
{NameHashJustaNameResolverSet ? 'Configured' : 'Configure'}
</Button>
}
<Flex justify="space-between" direction="column" gap="20px">
<Flex direction='row' gap={'10px'} align={'center'} style={{ marginTop: 9 }} >
<BackBtn onClick={() => handleOpenDialog(false)} />
<H2 style={{
fontWeight: 700,
}}>Configure</H2>
</Flex>
)}
<P style={{ fontSize: 12 }}>
To use your JustaName primary account across the blockchain ecosystem, you need to configure your resolver.
</P>
{isSetNameHashJustaNameResolverPending ? <Flex style={{
position: 'relative'
}}> <LoadingSpinner color={'var(--justweb3-primary-color)'} /> </Flex> :
<Button disabled={NameHashJustaNameResolverSet} variant='primary' onClick={setNameHashJustaNameResolver} >
{NameHashJustaNameResolverSet ? 'Configured' : 'Configure'}
</Button>
}
</Flex>
</DefaultDialog>
);
};
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { Records, useAccountEnsNames, useAccountSubnames, useMountedAccount, usePrimaryName, useSetPrimaryName } from '@justaname.id/react';
import { Records, useAccountEnsNames, useAccountSubnames, useMountedAccount, useOffchainResolvers, usePrimaryName, useSetPrimaryName } from '@justaname.id/react';
import {
Avatar,
BackBtn,
Expand All @@ -17,6 +17,9 @@ import { useDisconnect } from 'wagmi';
import { JustWeb3Context, useJustWeb3 } from '../../providers';
import { DefaultDialog } from '../DefaultDialog';

const ENS_MAINNET_RESOLVER = '0x4976fb03C32e5B8cfe2b6cCB31c09Ba78EBaBa41';
const ENS_SEPOLIA_RESOLVER = '0x8FADE66B79cC9f707aB26799354482EB93a5B7dD';

export interface PrimaryNamesDialogProps {
open: boolean;
handleOpenDialog: (open: boolean) => void;
Expand All @@ -31,13 +34,16 @@ export const PrimaryNamesDialog: FC<PrimaryNamesDialogProps> = ({
const {
config: { disableOverlay },
} = useContext(JustWeb3Context);
const { address, isConnected } = useMountedAccount();
const { address, isConnected, chainId } = useMountedAccount();
const { disconnect } = useDisconnect();
const { connectedEns, isEnsAuthPending } = useJustWeb3();

const { accountSubnames, isAccountSubnamesPending } = useAccountSubnames();
const { accountEnsNames, isAccountEnsNamesPending } = useAccountEnsNames();

const { offchainResolvers } =
useOffchainResolvers();

const allNames = useMemo(() => {
return [...accountEnsNames, ...accountSubnames].reduce(
(acc, subname) => {
Expand All @@ -47,7 +53,21 @@ export const PrimaryNamesDialog: FC<PrimaryNamesDialogProps> = ({
return acc;
},
[] as Records[]
);
).filter((name) => {
const resolverAddress =
chainId === 1 ? ENS_MAINNET_RESOLVER : ENS_SEPOLIA_RESOLVER;
const offchainResolver = offchainResolvers?.offchainResolvers.find(
(resolver) => resolver.chainId === chainId
);

return !(
name.records.resolverAddress !== resolverAddress &&
name.records.resolverAddress !== offchainResolver?.resolverAddress
);
})
.sort((a, b) => {
return a.ens.localeCompare(b.ens);
})
}, [accountEnsNames, accountSubnames]);

const { primaryName, isPrimaryNameLoading } = usePrimaryName({ address, enabled: !!address })
Expand Down
11 changes: 6 additions & 5 deletions packages/@justweb3/widget/src/lib/dialogs/SignInDialog/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import {
useJustaName,
useMountedAccount,
useOffchainResolvers,
usePrimaryName,
} from '@justaname.id/react';
import {
Badge,
Expand All @@ -26,7 +27,7 @@ import clsx from 'clsx';
import React, { FC, Fragment, useMemo, useState } from 'react';
import { SelectSubnameItem } from '../../components/SelectSubnameItem';
import { useDebounce } from '../../hooks/useDebounce';
import { useHybridPrimaryName } from '../../hooks/useHybridPrimaryName';
// import { useHybridPrimaryName } from '../../hooks/useHybridPrimaryName';
import { DefaultDialog } from '../DefaultDialog';
import styles from './SignInDialog.module.css';

Expand Down Expand Up @@ -83,9 +84,9 @@ export const SignInDialog: FC<SignInDialogProps> = ({
const { accountSubnames, isAccountSubnamesPending } = useAccountSubnames();
const { accountEnsNames, isAccountEnsNamesPending } = useAccountEnsNames();

const { hybridPrimaryName } = useHybridPrimaryName({
address: address,
chainId: chainId,
const { primaryName } = usePrimaryName({
address,
chainId,
enabled: !!address && !!chainId,
})

Expand Down Expand Up @@ -309,7 +310,7 @@ export const SignInDialog: FC<SignInDialogProps> = ({
setSubnameSigningIn('');
});
}}
isPrimary={subname.ens === hybridPrimaryName}
isPrimary={subname.ens === primaryName}
/>
</Fragment>
))}
Expand Down

This file was deleted.

0 comments on commit 90d5919

Please sign in to comment.