From b64f41e8e6275c62b87eb28f0d87e1d86d690f62 Mon Sep 17 00:00:00 2001 From: bigint <69431456+bigint@users.noreply.github.com> Date: Thu, 21 Dec 2023 22:53:05 +0530 Subject: [PATCH] feat: add EoaOwnershipCondition check --- .../ProfileOwnershipCondition copy.tsx | 33 +++++++++++++++++++ .../Criteria/SecondTierCondition/index.tsx | 2 ++ .../Criteria/ThirdTierCondition/index.tsx | 4 +++ .../EncryptedPublication/Criteria/index.tsx | 10 ++---- 4 files changed, 42 insertions(+), 7 deletions(-) create mode 100644 apps/web/src/components/Publication/EncryptedPublication/Criteria/ProfileOwnershipCondition copy.tsx diff --git a/apps/web/src/components/Publication/EncryptedPublication/Criteria/ProfileOwnershipCondition copy.tsx b/apps/web/src/components/Publication/EncryptedPublication/Criteria/ProfileOwnershipCondition copy.tsx new file mode 100644 index 000000000000..c37803466961 --- /dev/null +++ b/apps/web/src/components/Publication/EncryptedPublication/Criteria/ProfileOwnershipCondition copy.tsx @@ -0,0 +1,33 @@ +import type { FC } from 'react'; + +import { EoaOwnershipCondition } from '@hey/lens'; +import formatAddress from '@hey/lib/formatAddress'; +import { Tooltip } from '@hey/ui'; +import useEnsName from 'src/hooks/useEnsName'; + +interface EoaOwnershipConditionProps { + condition: EoaOwnershipCondition; +} + +const EoaOwnershipCondition: FC = ({ + condition +}) => { + const { ens } = useEnsName({ + address: condition.address, + enabled: Boolean(condition.address) + }); + const ensName = condition.address === ens ? null : ens; + + return ( +
+
Must own the EVM Address:
+
+ + {formatAddress(condition.address)} {ensName ? `(${ensName})` : null} + +
+
+ ); +}; + +export default EoaOwnershipCondition; diff --git a/apps/web/src/components/Publication/EncryptedPublication/Criteria/SecondTierCondition/index.tsx b/apps/web/src/components/Publication/EncryptedPublication/Criteria/SecondTierCondition/index.tsx index e41ba63207b9..aa9aa73be529 100644 --- a/apps/web/src/components/Publication/EncryptedPublication/Criteria/SecondTierCondition/index.tsx +++ b/apps/web/src/components/Publication/EncryptedPublication/Criteria/SecondTierCondition/index.tsx @@ -11,6 +11,8 @@ interface SecondTierConditionProps { const SecondTierCondition: FC = ({ condition }) => { return (
+ + {condition.__typename === 'AndCondition' ? (
diff --git a/apps/web/src/components/Publication/EncryptedPublication/Criteria/ThirdTierCondition/index.tsx b/apps/web/src/components/Publication/EncryptedPublication/Criteria/ThirdTierCondition/index.tsx index c35fdd237510..5facf0f3062c 100644 --- a/apps/web/src/components/Publication/EncryptedPublication/Criteria/ThirdTierCondition/index.tsx +++ b/apps/web/src/components/Publication/EncryptedPublication/Criteria/ThirdTierCondition/index.tsx @@ -3,6 +3,7 @@ import type { FC } from 'react'; import { ThirdTierCondition } from '@hey/lens'; import ProfileOwnershipCondition from '../ProfileOwnershipCondition'; +import EoaOwnershipCondition from '../ProfileOwnershipCondition copy'; interface ThirdTierConditionProps { condition: ThirdTierCondition; @@ -14,6 +15,9 @@ const ThirdTierCondition: FC = ({ condition }) => { {condition.__typename === 'ProfileOwnershipCondition' ? ( ) : null} + {condition.__typename === 'EoaOwnershipCondition' ? ( + + ) : null} {condition.__typename === 'NftOwnershipCondition' ? (
{condition.contract.address}
) : null} diff --git a/apps/web/src/components/Publication/EncryptedPublication/Criteria/index.tsx b/apps/web/src/components/Publication/EncryptedPublication/Criteria/index.tsx index 7912bc84088c..4e65bce44de0 100644 --- a/apps/web/src/components/Publication/EncryptedPublication/Criteria/index.tsx +++ b/apps/web/src/components/Publication/EncryptedPublication/Criteria/index.tsx @@ -14,13 +14,9 @@ const Criteria: FC = ({ accessCondition }) => { return null; } - return ( -
- {accessCondition?.criteria.map((criterion) => ( - - ))} -
- ); + return accessCondition?.criteria.map((criterion) => ( + + )); }; export default Criteria;