feat: add input with all functionalities for id
This commit is contained in:
parent
c2fedd098d
commit
db8c4b3ae1
|
@ -0,0 +1,65 @@
|
||||||
|
import { Button, Input, Text as StatusText } from '@status-im/components'
|
||||||
|
import { CompleteIdIcon, CopyIcon } from '@status-im/icons'
|
||||||
|
import { Text } from '@tamagui/web'
|
||||||
|
import { useState } from 'react'
|
||||||
|
import { Link } from 'react-router-dom'
|
||||||
|
import { XStack, YStack } from 'tamagui'
|
||||||
|
import { v4 as uuidv4 } from 'uuid'
|
||||||
|
|
||||||
|
type GenerateIdProps = {
|
||||||
|
isAwaitingPairing: boolean
|
||||||
|
}
|
||||||
|
|
||||||
|
const GenerateId = ({ isAwaitingPairing }: GenerateIdProps) => {
|
||||||
|
const [generatedId, setGeneratedId] = useState('')
|
||||||
|
|
||||||
|
const generateIdHandler = () => {
|
||||||
|
setGeneratedId(uuidv4())
|
||||||
|
}
|
||||||
|
|
||||||
|
const copyGeneratedIdHandler = () => {
|
||||||
|
navigator.clipboard.writeText(generatedId)
|
||||||
|
}
|
||||||
|
|
||||||
|
return (
|
||||||
|
<YStack space={'$2'}>
|
||||||
|
<XStack style={{ justifyContent: 'space-between' }}>
|
||||||
|
<StatusText size={19} weight={'semibold'}>
|
||||||
|
Pair with Command line
|
||||||
|
</StatusText>
|
||||||
|
<Button
|
||||||
|
variant="outline"
|
||||||
|
size={24}
|
||||||
|
icon={<CompleteIdIcon size={20} />}
|
||||||
|
onPress={generateIdHandler}
|
||||||
|
>
|
||||||
|
Generate ID
|
||||||
|
</Button>
|
||||||
|
</XStack>
|
||||||
|
<YStack space={'$2'}>
|
||||||
|
<StatusText size={15} color={'#647084'}>
|
||||||
|
Generated Pairing ID Input
|
||||||
|
</StatusText>
|
||||||
|
<Input
|
||||||
|
placeholder={'nimbus pair <random-pairing-id>'}
|
||||||
|
icon={
|
||||||
|
<CopyIcon size={20} onClick={copyGeneratedIdHandler} style={{ cursor: 'pointer' }} />
|
||||||
|
}
|
||||||
|
value={generatedId}
|
||||||
|
error={isAwaitingPairing}
|
||||||
|
/>
|
||||||
|
</YStack>
|
||||||
|
<StatusText size={13} weight={'medium'} color={'#647084'}>
|
||||||
|
Please execute the following command with your randomly generated pairing id on the machine
|
||||||
|
where the Nimbus Service is running.{' '}
|
||||||
|
<Text style={{ fontStyle: 'italic', fontWeight: 'normal' }}>Learn how with our </Text>
|
||||||
|
<Link style={{ textDecoration: 'underline', color: 'inherit' }} to="/">
|
||||||
|
Documentation
|
||||||
|
</Link>
|
||||||
|
.
|
||||||
|
</StatusText>
|
||||||
|
</YStack>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
export default GenerateId
|
Loading…
Reference in New Issue