Compare commits
6 Commits
93b5bc8680
...
3ca99e8d1c
Author | SHA1 | Date | |
---|---|---|---|
3ca99e8d1c | |||
d3f30dbdbd | |||
e7a004d0e7 | |||
|
1f7980e2ca | ||
2829623487 | |||
|
fff0fd762d |
@ -130,8 +130,10 @@ export const CreatePage = () => {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
if (userInput.startsWith('npub')) {
|
const input = userInput.toLowerCase()
|
||||||
const pubkey = npubToHex(userInput)
|
|
||||||
|
if (input.startsWith('npub')) {
|
||||||
|
const pubkey = npubToHex(input)
|
||||||
if (pubkey) {
|
if (pubkey) {
|
||||||
addUser(pubkey)
|
addUser(pubkey)
|
||||||
setUserInput('')
|
setUserInput('')
|
||||||
@ -141,12 +143,12 @@ export const CreatePage = () => {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
if (userInput.includes('@')) {
|
if (input.includes('@')) {
|
||||||
setIsLoading(true)
|
setIsLoading(true)
|
||||||
setLoadingSpinnerDesc('Querying for nip05')
|
setLoadingSpinnerDesc('Querying for nip05')
|
||||||
const nip05Profile = await queryNip05(userInput)
|
const nip05Profile = await queryNip05(input)
|
||||||
.catch((err) => {
|
.catch((err) => {
|
||||||
console.error(`error occurred in querying nip05: ${userInput}`, err)
|
console.error(`error occurred in querying nip05: ${input}`, err)
|
||||||
return null
|
return null
|
||||||
})
|
})
|
||||||
.finally(() => {
|
.finally(() => {
|
||||||
@ -390,9 +392,18 @@ export const CreatePage = () => {
|
|||||||
)}&key=${encodeURIComponent(encryptionKey)}`
|
)}&key=${encodeURIComponent(encryptionKey)}`
|
||||||
)
|
)
|
||||||
} else {
|
} else {
|
||||||
saveAs(blob, 'request.sigit')
|
if (signers[0] && signers[0].pubkey === usersPubkey) {
|
||||||
setTextToCopy(encryptionKey)
|
// Create a File object with the Blob data
|
||||||
setOpenCopyModel(true)
|
const file = new File([blob], `compressed.sigit`, {
|
||||||
|
type: 'application/sigit'
|
||||||
|
})
|
||||||
|
|
||||||
|
navigate(appPrivateRoutes.sign, { state: { file, encryptionKey } })
|
||||||
|
} else {
|
||||||
|
saveAs(blob, 'request.sigit')
|
||||||
|
setTextToCopy(encryptionKey)
|
||||||
|
setOpenCopyModel(true)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -23,7 +23,7 @@ import { MuiFileInput } from 'mui-file-input'
|
|||||||
import { Event, kinds, verifyEvent } from 'nostr-tools'
|
import { Event, kinds, verifyEvent } from 'nostr-tools'
|
||||||
import { useEffect, useState } from 'react'
|
import { useEffect, useState } from 'react'
|
||||||
import { useSelector } from 'react-redux'
|
import { useSelector } from 'react-redux'
|
||||||
import { useNavigate, useSearchParams } from 'react-router-dom'
|
import { useNavigate, useSearchParams, useLocation } from 'react-router-dom'
|
||||||
import { toast } from 'react-toastify'
|
import { toast } from 'react-toastify'
|
||||||
import { LoadingSpinner } from '../../components/LoadingSpinner'
|
import { LoadingSpinner } from '../../components/LoadingSpinner'
|
||||||
import { UserComponent } from '../../components/username'
|
import { UserComponent } from '../../components/username'
|
||||||
@ -69,6 +69,9 @@ enum SignedStatus {
|
|||||||
|
|
||||||
export const SignPage = () => {
|
export const SignPage = () => {
|
||||||
const navigate = useNavigate()
|
const navigate = useNavigate()
|
||||||
|
const location = useLocation()
|
||||||
|
const { file, encryptionKey: encKey } = location.state || {}
|
||||||
|
|
||||||
const [searchParams, setSearchParams] = useSearchParams()
|
const [searchParams, setSearchParams] = useSearchParams()
|
||||||
|
|
||||||
const [displayInput, setDisplayInput] = useState(false)
|
const [displayInput, setDisplayInput] = useState(false)
|
||||||
@ -217,11 +220,23 @@ export const SignPage = () => {
|
|||||||
.finally(() => {
|
.finally(() => {
|
||||||
setIsLoading(false)
|
setIsLoading(false)
|
||||||
})
|
})
|
||||||
|
} else if (file && encKey) {
|
||||||
|
decrypt(file, decodeURIComponent(encKey))
|
||||||
|
.then((arrayBuffer) => {
|
||||||
|
if (arrayBuffer) handleDecryptedArrayBuffer(arrayBuffer)
|
||||||
|
})
|
||||||
|
.catch((err) => {
|
||||||
|
console.error(`error occurred in decryption`, err)
|
||||||
|
toast.error(err.message || `error occurred in decryption`)
|
||||||
|
})
|
||||||
|
.finally(() => {
|
||||||
|
setIsLoading(false)
|
||||||
|
})
|
||||||
} else {
|
} else {
|
||||||
setIsLoading(false)
|
setIsLoading(false)
|
||||||
setDisplayInput(true)
|
setDisplayInput(true)
|
||||||
}
|
}
|
||||||
}, [searchParams])
|
}, [searchParams, file, encKey])
|
||||||
|
|
||||||
const decrypt = async (file: File, key: string) => {
|
const decrypt = async (file: File, key: string) => {
|
||||||
setLoadingSpinnerDesc('Decrypting file')
|
setLoadingSpinnerDesc('Decrypting file')
|
||||||
|
Loading…
Reference in New Issue
Block a user