import React, { useState } from 'react' import { Label } from '../../typography/Label' import { TextInline } from '../../typography/Text' import { Title } from '../../typography/Title' import { MainContent, Container, Section, SectionRow, ContentBlock, ContentRow } from '../base/base' import { useLookupAddress, useResolveName } from '@usedapp/core' import styled from 'styled-components' import { BorderRad, Colors, Transitions } from '../../global/styles' import { Button } from '../base/Button' export const ENSExample = () => { return (
) } export const ResolveName = () => { const [input, setInput] = useState('') const [name, setName] = useState(undefined) const { address, isLoading } = useResolveName(name) return ( <> Resolve name setInput(e.currentTarget.value)} disabled={isLoading} /> setName(input)} disabled={isLoading}> {isLoading ? 'Loading' : 'Resolve'} {address === null ? 'Address not found' : address} ) } export const LookupAddress = () => { const [input, setInput] = useState('') const [address, setAddress] = useState(undefined) const { ens, isLoading } = useLookupAddress(address) return ( <> Lookup address setInput(e.currentTarget.value)} disabled={isLoading} /> setAddress(input)} disabled={isLoading}> {isLoading ? 'Loading' : 'Lookup'} {ens === null ? 'No name found' : ens} ) } const Input = styled.input` height: 100%; width: 100%; padding: 0 0 0 24px; border: 0; border-radius: ${BorderRad.m}; -moz-appearance: textfield; outline: none; &::-webkit-outer-spin-button, &::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; } &:-webkit-autofill, &:-webkit-autofill:hover, &:-webkit-autofill:focus, &:-webkit-autofill:active { -webkit-background-clip: text; } ` const InputRow = styled.div` height: 44px; display: flex; margin: 0 auto; color: ${Colors.Gray['600']}; align-items: center; border: ${Colors.Gray['300']} 1px solid; border-radius: ${BorderRad.m}; overflow: hidden; transition: ${Transitions.all}; &:hover, &:focus-within { border-color: ${Colors.Black[900]}; } ` const SmallButton = styled(Button)` display: flex; justify-content: center; min-width: 95px; height: 100%; padding: 8px 24px; &:disabled { color: ${Colors.Gray['600']}; cursor: unset; } &:disabled:hover, &:disabled:focus { background-color: unset; color: unset; } `