Skip to content

Commit 8c9b9cd

Browse files
authored
Merge pull request #1 from Buho-Ecosystem/fixes1
Fixes1
2 parents a3f0f69 + a19724a commit 8c9b9cd

File tree

1 file changed

+30
-4
lines changed

1 file changed

+30
-4
lines changed

src/components/BackupSection.tsx

Lines changed: 30 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@ export default function BackupSection({ keys, onBackupComplete }: BackupSectionP
2323
id: 'lose-key',
2424
question: 'What happens if I lose my private key?',
2525
options: [
26-
'I lose access to my account forever',
2726
'I can reset it with my email',
27+
'I lose access to my account forever',
2828
'Buho can recover it for me'
2929
],
3030
correct: 'I lose access to my account forever',
@@ -34,7 +34,7 @@ export default function BackupSection({ keys, onBackupComplete }: BackupSectionP
3434
{
3535
id: 'share-key',
3636
question: 'Who should I share my private key with?',
37-
options: ['Nobody, ever', 'Close friends only', 'Customer support if needed'],
37+
options: ['Close friends only', 'Nobody, ever', 'Customer support if needed'],
3838
correct: 'Nobody, ever',
3939
explanation:
4040
'Your private key is like your digital DNA. Anyone with access can impersonate you completely.'
@@ -185,6 +185,7 @@ export default function BackupSection({ keys, onBackupComplete }: BackupSectionP
185185
onClick={() => {
186186
handleCopy(keys.nsec, 'nsec');
187187
markBackupMethod('copy-private');
188+
if (navigator.vibrate) navigator.vibrate(10);
188189
}}
189190
className="p-3 rounded-xl border border-gray-900 bg-black text-white hover:bg-gray-900/90 transition-colors"
190191
aria-label="Copy private key"
@@ -218,6 +219,7 @@ export default function BackupSection({ keys, onBackupComplete }: BackupSectionP
218219
onClick={() => {
219220
handleCopy(keys.mnemonic!, 'mnemonic');
220221
markBackupMethod('copy-mnemonic');
222+
if (navigator.vibrate) navigator.vibrate(10);
221223
}}
222224
className="p-3 rounded-xl border border-gray-300 bg-white hover:bg-gray-50 transition-colors"
223225
aria-label="Copy mnemonic"
@@ -319,8 +321,8 @@ export default function BackupSection({ keys, onBackupComplete }: BackupSectionP
319321
</div>
320322

321323
{/* Manual Copy Method */}
322-
<div className="border border-gray-200 rounded-xl p-4">
323-
<div className="flex items-center justify-between">
324+
<div className="border border-gray-200 rounded-xl p-4 relative">
325+
<div className="flex items-center justify-between mb-3">
324326
<div className="flex items-center">
325327
<div className="w-12 h-12 rounded-xl flex items-center justify-center mr-3 bg-gray-100 border border-gray-200">
326328
<Copy className="w-6 h-6 text-black" />
@@ -334,6 +336,30 @@ export default function BackupSection({ keys, onBackupComplete }: BackupSectionP
334336
<CheckCircle className="w-6 h-6 text-gray-600" />
335337
)}
336338
</div>
339+
340+
<button
341+
onClick={() => {
342+
handleCopy(keys.nsec, 'manual-nsec');
343+
markBackupMethod('copy-private');
344+
if (navigator.vibrate) navigator.vibrate(10);
345+
}}
346+
className="w-full rounded-xl py-3 px-4 font-medium text-white bg-black border border-black hover:bg-gray-900 transition-colors active:scale-[0.99]"
347+
aria-label="Copy nsec to clipboard"
348+
>
349+
Copy Private Key (nsec)
350+
</button>
351+
352+
{/* Mobile-friendly toast */}
353+
{copied === 'manual-nsec' && (
354+
<div
355+
role="status"
356+
aria-live="polite"
357+
className="pointer-events-none fixed inset-x-0 bottom-4 mx-auto w-[90%] sm:w-auto sm:min-w-[260px] bg-black text-white text-sm font-medium px-4 py-3 rounded-2xl shadow-xl border border-gray-900/70 flex items-center justify-center gap-2"
358+
>
359+
<Check className="w-4 h-4 text-white" />
360+
Copied to clipboard
361+
</div>
362+
)}
337363
</div>
338364
</div>
339365
</div>

0 commit comments

Comments
 (0)