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;
}
`