forked from coracle/flotilla
Include instructions in key file
This commit is contained in:
@@ -27,8 +27,8 @@
|
|||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
On <Link external href="https://nostr.com/">Nostr</Link>, <strong>you</strong> control your own
|
On <Link external href="https://nostr.com/">Nostr</Link>, <strong>you</strong> control your own
|
||||||
identity and social data, through the magic of crytography. The basic idea is that you have a
|
identity and social data, through the magic of cryptography. The basic idea is that you have a
|
||||||
<strong>public key</strong>, which acts as your user id, and a
|
<strong>public key</strong>, which acts as your user ID, and a
|
||||||
<strong>private key</strong> which allows you to prove your identity.
|
<strong>private key</strong> which allows you to prove your identity.
|
||||||
</p>
|
</p>
|
||||||
{#if $session?.email}
|
{#if $session?.email}
|
||||||
|
|||||||
@@ -13,6 +13,7 @@
|
|||||||
import SignUpComplete from "@app/components/SignUpComplete.svelte"
|
import SignUpComplete from "@app/components/SignUpComplete.svelte"
|
||||||
import {pushToast} from "@app/util/toast"
|
import {pushToast} from "@app/util/toast"
|
||||||
import {pushModal} from "@app/util/modal"
|
import {pushModal} from "@app/util/modal"
|
||||||
|
import {PLATFORM_NAME} from "@app/core/state"
|
||||||
|
|
||||||
type Props = {
|
type Props = {
|
||||||
profile: Profile
|
profile: Profile
|
||||||
@@ -24,7 +25,26 @@
|
|||||||
|
|
||||||
const back = () => history.back()
|
const back = () => history.back()
|
||||||
|
|
||||||
|
const cleanupCopy = (copy: string) =>
|
||||||
|
copy
|
||||||
|
.replace(/\n\s*\n\s*/g, "NEWLINE")
|
||||||
|
.replace(/\s+/g, " ")
|
||||||
|
.replace(/NEWLINE/g, "\n\n")
|
||||||
|
.trim()
|
||||||
|
|
||||||
const downloadKey = () => {
|
const downloadKey = () => {
|
||||||
|
const sharedCopy = `
|
||||||
|
Most online services keep track of users by giving them a username and password. This gives the
|
||||||
|
service total control over their users, allowing them to ban them at any time, or sell their activity.
|
||||||
|
|
||||||
|
On Nostr, you control your own identity and social data, through the magic of cryptography. The basic
|
||||||
|
idea is that you have a public key, which acts as your user ID, and a private key which allows you to
|
||||||
|
prove your identity.
|
||||||
|
|
||||||
|
It's very important to keep your private key safe because it grants permanent and complete access to your
|
||||||
|
account.
|
||||||
|
`
|
||||||
|
|
||||||
if (usePassword) {
|
if (usePassword) {
|
||||||
if (password.length < 12) {
|
if (password.length < 12) {
|
||||||
return pushToast({
|
return pushToast({
|
||||||
@@ -34,12 +54,37 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
const ncryptsec = encrypt(hexToBytes(secret), password)
|
const ncryptsec = encrypt(hexToBytes(secret), password)
|
||||||
|
const instructions = `
|
||||||
|
This file contains a backup of your Nostr secret key, downloaded from ${PLATFORM_NAME} and encrypted using
|
||||||
|
a password you chose when you signed up.
|
||||||
|
|
||||||
downloadText("Nostr Secret Key.txt", ncryptsec)
|
${sharedCopy}
|
||||||
|
|
||||||
|
Your encrypted private key is:
|
||||||
|
|
||||||
|
${ncryptsec}
|
||||||
|
|
||||||
|
To use it to log in to other Nostr apps, find a Nostr Signer app (https://nostrapps.com/#signers is a good
|
||||||
|
place to look), and import your key.
|
||||||
|
`
|
||||||
|
|
||||||
|
downloadText("Nostr Secret Key.txt", cleanupCopy(instructions))
|
||||||
} else {
|
} else {
|
||||||
const nsec = nsecEncode(hexToBytes(secret))
|
const nsec = nsecEncode(hexToBytes(secret))
|
||||||
|
const instructions = `
|
||||||
|
This file contains a backup of your Nostr secret key, downloaded from ${PLATFORM_NAME}.
|
||||||
|
|
||||||
downloadText("Nostr Secret Key.txt", nsec)
|
${sharedCopy}
|
||||||
|
|
||||||
|
Your private key is:
|
||||||
|
|
||||||
|
${nsec}
|
||||||
|
|
||||||
|
To use it to log in to other Nostr apps, find a Nostr Signer app (https://nostrapps.com/#signers is a good
|
||||||
|
place to look), and import your key.
|
||||||
|
`
|
||||||
|
|
||||||
|
downloadText("Nostr Secret Key.txt", cleanupCopy(instructions))
|
||||||
}
|
}
|
||||||
|
|
||||||
didDownload = true
|
didDownload = true
|
||||||
|
|||||||
@@ -79,7 +79,6 @@ export const makeEditor = async ({
|
|||||||
new Compressor(file, {
|
new Compressor(file, {
|
||||||
maxWidth: 1024,
|
maxWidth: 1024,
|
||||||
maxHeight: 1024,
|
maxHeight: 1024,
|
||||||
convertSize: 2 * 1024 * 1024,
|
|
||||||
success: resolve,
|
success: resolve,
|
||||||
error: e => {
|
error: e => {
|
||||||
// Non-images break compressor
|
// Non-images break compressor
|
||||||
|
|||||||
Reference in New Issue
Block a user