diff --git a/README.md b/README.md index 894f104..b6079cf 100644 --- a/README.md +++ b/README.md @@ -63,5 +63,5 @@ If you encounter an "ERC20: insufficient allowance" error, it means the token ap - [x] fix rate limit fetch - [ ] fix membership management methods - [ ] define epoch / quanity epoch -- [ ] alias for individual credentials -- [ ] remove export keystore method (if >1 credentials in keystore) \ No newline at end of file +- [x] alias for individual credentials +- [x] remove export keystore method (if >1 credentials in keystore) \ No newline at end of file diff --git a/src/components/KeystoreExporter.tsx b/src/components/KeystoreExporter.tsx index b9015ee..858928f 100644 --- a/src/components/KeystoreExporter.tsx +++ b/src/components/KeystoreExporter.tsx @@ -8,7 +8,7 @@ export function KeystoreExporter() { const [showPasswordInput, setShowPasswordInput] = useState(false); const [password, setPassword] = useState(""); const [isExporting, setIsExporting] = useState(false); - const { exportEntireKeystore, hasStoredCredentials } = useKeystore(); + const { exportEntireKeystore, hasStoredCredentials, credentialsCount } = useKeystore(); const handleExport = async () => { if (!password) { @@ -36,7 +36,7 @@ export function KeystoreExporter() { onClick={() => setShowPasswordInput(true)} variant="terminal" className="group relative overflow-hidden" - disabled={!hasStoredCredentials} + disabled={!hasStoredCredentials || credentialsCount > 1} > diff --git a/src/contexts/keystore/KeystoreContext.tsx b/src/contexts/keystore/KeystoreContext.tsx index 1e34601..418cd61 100644 --- a/src/contexts/keystore/KeystoreContext.tsx +++ b/src/contexts/keystore/KeystoreContext.tsx @@ -12,6 +12,7 @@ interface KeystoreContextType { error: string | null; hasStoredCredentials: boolean; storedCredentialsHashes: string[]; + credentialsCount: number; credentialAliases: { [hash: string]: string }; decryptedCredentials: KeystoreEntity | null; hideCredentials: () => void; @@ -241,6 +242,7 @@ export function KeystoreProvider({ children }: { children: ReactNode }) { error, hasStoredCredentials: storedCredentialsHashes.length > 0, storedCredentialsHashes, + credentialsCount: storedCredentialsHashes.length, credentialAliases, saveCredentials, exportCredential,