diff --git a/app/css/index.css b/app/css/index.css index 3d14d7c..371be73 100644 --- a/app/css/index.css +++ b/app/css/index.css @@ -15,6 +15,7 @@ border-radius: 25px; margin-inline: auto; justify-content: center; + margin-bottom: 0px; } div { display: flex; @@ -162,11 +163,6 @@ body { flex-direction: column; } -a { - color: inherit; - text-decoration: inherit; -} - .text-white:hover { text-decoration: underline; } diff --git a/app/ts/components/App.tsx b/app/ts/components/App.tsx index 26336cd..3ab11e8 100644 --- a/app/ts/components/App.tsx +++ b/app/ts/components/App.tsx @@ -15,7 +15,7 @@ interface WalletComponentProps { } const WalletComponent = ({ maybeAccountAddress, loadingAccount, isWindowEthereum }: WalletComponentProps) => { - if (!isWindowEthereum.value) return

An Ethereum enabled wallet is required to make immutable domains.

+ if (!isWindowEthereum.value) return

An Ethereum enabled wallet is required to make almost* immutable domains.

if (loadingAccount.value) return <> const connect = async () => { maybeAccountAddress.deepValue = await requestAccounts() @@ -207,7 +207,7 @@ export function App() {
Icon PetalLock
-

Make immutable ENS domains and subdomains

+

Make almost* immutable ENS domains and subdomains

+
+

*) + There are two bugs in the Ethereum Name Service (ENS) that allow the ENS DAO to seize ENS names. These flaws make it impossible to create truly immutable names. +
+ https://discuss.ens.domains/t/temp-check-executable-revoke-the-daos-ability-to-upgrade-the-name-wrapper/19920/8 +

+
PetalLock by  diff --git a/app/ts/components/requirements.tsx b/app/ts/components/requirements.tsx index 2abb7fe..2bb1f56 100644 --- a/app/ts/components/requirements.tsx +++ b/app/ts/components/requirements.tsx @@ -60,14 +60,36 @@ export const ParentRequirements = ( { checkBoxes, fuses } : { checkBoxes: Parent } +export const EnsRequirements = () => { + return <> +

Ethereum Name Service

+
+
+
+ +
+
+
+ +} + + export const Requirements = ({ checkBoxesArray } : { checkBoxesArray: OptionalSignal }) => { const allCheckBoxes = checkBoxesArray.deepValue if (allCheckBoxes === undefined) return <> - return
{ [...allCheckBoxes].reverse().map((check, index) => { - const fuses = getRequiredFusesWithoutApproval(allCheckBoxes.length - index - 1, allCheckBoxes.map((c) => c.domainInfo)) - if (check.type === 'parent') return - return - }) }
+ return
+ { [...allCheckBoxes].reverse().map((check, index) => { + const fuses = getRequiredFusesWithoutApproval(allCheckBoxes.length - index - 1, allCheckBoxes.map((c) => c.domainInfo)) + if (check.type === 'parent') return + return + }) } + +
} interface RequirementProps { @@ -123,7 +145,7 @@ export const Immutable = ( { checkBoxesArray } : { checkBoxesArray: OptionalSign
{ checkBoxes.immutable ? <>

- {`IMMUTABLE for about ${ dateDiff } (until ${ dateString })` } + {`Almost* IMMUTABLE for about ${ dateDiff } (until ${ dateString })` }

:

NOT IMMUTABLE

}
@@ -287,7 +309,7 @@ const NonImmutableDomain = ({ checkBoxes, maybeAccountAddress, updateInfos, crea const domainExistIssue = useComputed(() => { const first = checkBoxes.deepValue?.at(0) if (first === undefined || first.exists) return undefined - return ` - The domain ${ first.domainInfo.subDomain } need to be created before you can use PetalLock to create immutable subdomains under it` + return ` - The domain ${ first.domainInfo.subDomain } need to be created before you can use PetalLock to create almost* immutable subdomains under it` }) const contentSetProperly = useComputed(() => { if (resolutionAddressInput.value.length === 0 && validContenthash.value) return true @@ -298,7 +320,7 @@ const NonImmutableDomain = ({ checkBoxes, maybeAccountAddress, updateInfos, crea return
-

Make the domain immutable!

+

Make the domain almost* immutable!

{ `Content hash:` }

- +
}