Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .changeset/gov-ui-kit-2-11-2.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@aragon/app": patch
---

Adopt `AddressOutput` for visible address values.
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
import {
Button,
Card,
Clipboard,
DefinitionList,
IconType,
InputContainer,
Expand Down Expand Up @@ -293,15 +292,12 @@ export const CapitalDistributorCreateCampaignActionCreateForm: React.FC<
)}
</DefinitionList.Item>
<DefinitionList.Item
link={{ isOnchainEntity: true }}
term={t(
'app.actions.capitalDistributor.capitalDistributorCreateCampaignActionCreateForm.jsonUpload.alert.merkleRootTerm',
)}
>
<Clipboard
copyValue={merkleTreeInfo.merkleRoot}
>
{`${merkleTreeInfo.merkleRoot.slice(0, 10)}...${merkleTreeInfo.merkleRoot.slice(-8)}`}
</Clipboard>
{merkleTreeInfo.merkleRoot}
</DefinitionList.Item>
</DefinitionList.Container>
</Card>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ import {
Avatar,
addressUtils,
ChainEntityType,
Clipboard,
DateFormat,
DefinitionList,
formatterUtils,
Expand Down Expand Up @@ -186,15 +185,13 @@ export const CapitalDistributorCreateCampaignActionDetails: React.FC<
</DefinitionList.Item>
)}
<DefinitionList.Item
copyValue={payoutTokenAddress}
link={{ href: payoutTokenLink }}
copyValue={tokenSymbol ? payoutTokenAddress : undefined}
link={{ href: payoutTokenLink, isOnchainEntity: true }}
term={t(
'app.actions.capitalDistributor.capitalDistributorCreateCampaignActionDetails.assetTerm',
)}
>
{tokenSymbol
? `${tokenSymbol} (${addressUtils.truncateAddress(payoutTokenAddress)})`
: addressUtils.truncateAddress(payoutTokenAddress)}
{tokenSymbol ?? payoutTokenAddress}
</DefinitionList.Item>
<DefinitionList.Item
term={t(
Expand All @@ -204,13 +201,12 @@ export const CapitalDistributorCreateCampaignActionDetails: React.FC<
{t(payoutTypeKey)}
</DefinitionList.Item>
<DefinitionList.Item
link={{ isOnchainEntity: true }}
term={t(
'app.actions.capitalDistributor.capitalDistributorCreateCampaignActionDetails.merkleRootTerm',
)}
>
<Clipboard copyValue={merkleRoot}>
{addressUtils.truncateHash(merkleRoot)}
</Clipboard>
{merkleRoot}
</DefinitionList.Item>
<DefinitionList.Item
term={t(
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import {
AddressOutput,
Avatar,
addressUtils,
Button,
DataList,
IconType,
Expand Down Expand Up @@ -55,7 +55,7 @@ export const GaugeRegistrarGaugeListItem: React.FC<
<div className="flex flex-col gap-1 font-normal leading-tight">
<p className="text-lg text-neutral-800">{gauge.name}</p>
<p className="text-neutral-500 text-sm">
{addressUtils.truncateAddress(gauge.gaugeAddress)}
<AddressOutput address={gauge.gaugeAddress} />
</p>
</div>
</div>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@

import {
Avatar,
addressUtils,
ChainEntityType,
DefinitionList,
type IProposalAction,
Expand Down Expand Up @@ -114,13 +113,12 @@ export const GaugeRegistrarRegisterGaugeActionDetails: React.FC<
</DefinitionList.Item>
)}
<DefinitionList.Item
copyValue={qiTokenAddress}
link={{ href: qiTokenAddressLink }}
link={{ href: qiTokenAddressLink, isOnchainEntity: true }}
term={t(
'app.actions.gaugeRegistrar.gaugeRegistrarRegisterGaugeActionDetails.qiTokenTerm',
)}
>
{addressUtils.truncateAddress(qiTokenAddress)}
{qiTokenAddress}
</DefinitionList.Item>
<DefinitionList.Item
term={t(
Expand All @@ -132,13 +130,15 @@ export const GaugeRegistrarRegisterGaugeActionDetails: React.FC<
: 'Borrow'}
</DefinitionList.Item>
<DefinitionList.Item
copyValue={rewardControllerAddress}
link={{ href: rewardControllerAddressLink }}
link={{
href: rewardControllerAddressLink,
isOnchainEntity: true,
}}
term={t(
'app.actions.gaugeRegistrar.gaugeRegistrarRegisterGaugeActionDetails.rewardControllerTerm',
)}
>
{addressUtils.truncateAddress(rewardControllerAddress)}
{rewardControllerAddress}
</DefinitionList.Item>
</DefinitionList.Container>
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@

import {
Avatar,
addressUtils,
ChainEntityType,
DefinitionList,
type IProposalAction,
Expand Down Expand Up @@ -47,13 +46,12 @@ export const GaugeVoterCreateGaugeActionDetails: React.FC<
return (
<DefinitionList.Container>
<DefinitionList.Item
copyValue={gaugeAddress}
link={{ href: gaugeAddressLink }}
link={{ href: gaugeAddressLink, isOnchainEntity: true }}
term={t(
'app.actions.gaugeVoter.gaugeVoterCreateGaugeActionDetails.gaugeAddressTerm',
)}
>
{addressUtils.truncateAddress(gaugeAddress)}
{gaugeAddress}
</DefinitionList.Item>
<DefinitionList.Item
term={t(
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import {
AddressOutput,
Avatar,
addressUtils,
Button,
DataList,
IconType,
Expand Down Expand Up @@ -55,7 +55,7 @@ export const GaugeVoterGaugeListItem: React.FC<
<div className="flex flex-col gap-1 font-normal leading-tight">
<p className="text-lg text-neutral-800">{gauge.name}</p>
<p className="text-neutral-500 text-sm">
{addressUtils.truncateAddress(gauge.address)}
<AddressOutput address={gauge.address} />
</p>
</div>
</div>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@

import {
Avatar,
addressUtils,
ChainEntityType,
DefinitionList,
type IProposalAction,
Expand Down Expand Up @@ -47,13 +46,12 @@ export const GaugeVoterUpdateGaugeMetadataActionDetails: React.FC<
return (
<DefinitionList.Container>
<DefinitionList.Item
copyValue={gaugeAddress}
link={{ href: gaugeAddressLink }}
link={{ href: gaugeAddressLink, isOnchainEntity: true }}
term={t(
'app.actions.gaugeVoter.gaugeVoterUpdateGaugeMetadataActionDetails.gaugeAddressTerm',
)}
>
{addressUtils.truncateAddress(gaugeAddress)}
{gaugeAddress}
</DefinitionList.Item>
<DefinitionList.Item
term={t(
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
'use client';

import {
AddressOutput,
addressUtils,
Button,
Card,
Expand Down Expand Up @@ -177,7 +178,6 @@ export const AlchemixSubmitVote: React.FC<IAlchemixSubmitVoteProps> = (
);
const delegateeName =
delegateeEnsName ?? addressUtils.truncateAddress(delegatee);
const userName = userEnsName ?? addressUtils.truncateAddress(address);

const disabledOptions: IDisabledVotingOption[] = [];

Expand Down Expand Up @@ -293,7 +293,12 @@ export const AlchemixSubmitVote: React.FC<IAlchemixSubmitVoteProps> = (
<div className="flex min-w-0 grow flex-col gap-0.5">
<div className="flex items-center gap-2">
<p className="truncate font-semibold text-base text-neutral-800 leading-tight">
{delegateeName}
{delegatee != null && (
<AddressOutput
address={delegatee}
label={delegateeEnsName ?? undefined}
/>
)}
</p>
<Tag
label={t(
Expand Down Expand Up @@ -334,7 +339,12 @@ export const AlchemixSubmitVote: React.FC<IAlchemixSubmitVoteProps> = (
<div className="flex min-w-0 grow flex-col gap-0.5">
<div className="flex items-center gap-2">
<p className="truncate font-semibold text-base text-neutral-800 leading-tight">
{userName}
{address != null && (
<AddressOutput
address={address}
label={userEnsName ?? undefined}
/>
)}
</p>
<Tag
label={t(
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,9 @@
'use client';

import {
addressUtils,
AddressOutput,
ChainEntityType,
Clipboard,
DaoAvatar,
Link,
Wallet,
} from '@aragon/gov-ui-kit';
import classNames from 'classnames';
Expand Down Expand Up @@ -135,15 +133,13 @@ export const NavigationDao: React.FC<INavigationDaoProps> = (props) => {
<p className="truncate text-lg text-neutral-800 sm:text-xl">
{daoDisplayName}
</p>
<Clipboard className="w-full" copyValue={dao.address}>
<Link
className="truncate text-neutral-500 text-sm sm:text-base"
href={addressLink}
isExternal={true}
>
{addressUtils.truncateAddress(dao.address)}
</Link>
</Clipboard>
<AddressOutput
address={dao.address}
className="w-full text-neutral-500 text-sm sm:text-base"
copy={false}
href={addressLink}
isExternal={true}
/>
</div>
</div>
</Navigation.Dialog>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
import { DaoAvatar } from '@aragon/gov-ui-kit';
import {
AddressOutput,
DaoAvatar,
InteractiveAncestorContext,
} from '@aragon/gov-ui-kit';
import classNames from 'classnames';
import type { ComponentProps } from 'react';
import type { IDao } from '@/shared/api/daoService';
Expand All @@ -15,6 +19,7 @@ export interface INavigationDaoHome extends ComponentProps<'button'> {
export const NavigationDaoHome: React.FC<INavigationDaoHome> = (props) => {
const { dao, className, ...otherProps } = props;
const daoDisplayName = daoUtils.getDaoDisplayName(dao);
const daoName = dao.name?.trim();

const daoAvatar = ipfsUtils.cidToSrc(dao.avatar);

Expand All @@ -27,10 +32,15 @@ export const NavigationDaoHome: React.FC<INavigationDaoHome> = (props) => {

return (
<button className={buttonClassName} {...otherProps}>
<DaoAvatar name={daoDisplayName} size="lg" src={daoAvatar} />
<p className="hidden truncate font-normal text-base text-neutral-800 leading-tight md:block">
{daoDisplayName}
</p>
<InteractiveAncestorContext.Provider value={true}>
<DaoAvatar name={daoDisplayName} size="lg" src={daoAvatar} />
<p className="hidden truncate font-normal text-base text-neutral-800 leading-tight md:block">
<AddressOutput
address={dao.address}
label={daoName || undefined}
/>
</p>
</InteractiveAncestorContext.Provider>
</button>
);
};
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
'use client';

import {
AddressOutput,
addressUtils,
DaoAvatar,
Icon,
Expand Down Expand Up @@ -128,9 +129,12 @@ export const NavigationWizard: React.FC<INavigationWizardProps> = (props) => {
</p>
{displayDao != null && (
<div className="flex items-center gap-x-2">
<p className="truncate text-nowrap text-neutral-500 text-sm leading-tight">
{displayDaoName}
</p>
<AddressOutput
address={displayDao.address}
className="text-nowrap text-neutral-500 text-sm leading-tight"
copy={false}
label={displayDao.name?.trim() || undefined}
/>
<DaoAvatar
name={displayDaoName}
size="sm"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,9 @@
import {
addressUtils,
AddressOutput,
Button,
ChainEntityType,
Clipboard,
Dialog,
IconType,
Link,
MemberAvatar,
useBlockExplorer,
} from '@aragon/gov-ui-kit';
Expand Down Expand Up @@ -44,8 +42,6 @@ export const UserDialog: React.FC<IUserDialogProps> = (props) => {
});
const { data: ensAvatar } = useEnsAvatar(ensName);

const formattedAddress = addressUtils.truncateAddress(address);

const { buildEntityUrl } = useBlockExplorer();
const addressLink = buildEntityUrl({
type: ChainEntityType.ADDRESS,
Expand Down Expand Up @@ -147,22 +143,18 @@ export const UserDialog: React.FC<IUserDialogProps> = (props) => {
<p className="font-normal text-neutral-800 text-xl leading-tight">
{displayName}
</p>
<Clipboard copyValue={address}>
<Link
className="truncate text-base"
href={addressLink}
isExternal={true}
>
{formattedAddress}
</Link>
</Clipboard>
<AddressOutput
address={address}
className="text-base"
href={addressLink}
isExternal={true}
/>
</div>
) : (
<Clipboard copyValue={address}>
<span className="truncate text-neutral-800 text-xl">
{formattedAddress}
</span>
</Clipboard>
<AddressOutput
address={address}
className="text-neutral-800 text-xl"
/>
)}
</div>
<div className="flex flex-col gap-3 px-8">
Expand Down
Loading