feat: SIWE auth, auto-pin, pin search/share, explorer improvements
- SIWE server-side auth (siwe + jose JWT) - Wallet provider fallback (MAOS -> MetaMask) - Auto-pin after upload (quick + crypto) - Pin search/filter in explorer - Share button (gateway link) per pin - Copy CID button per pin - Breadcrumb root navigation fix - Hydration mismatch fix (mounted state) - Defensive truncateCid for empty values - CSP fix (template literal) - Error boundaries (upload, profile, usage) - 191 tests passing
This commit is contained in:
@@ -104,7 +104,11 @@ export default function PaymentPanel({
|
||||
|
||||
await refreshPricing(result.address, fileSize);
|
||||
} catch (e: unknown) {
|
||||
setError(e instanceof Error ? e.message : 'Failed to connect wallet');
|
||||
const message = e instanceof Error ? e.message : 'Failed to connect wallet';
|
||||
const isVaultLocked = message.toLowerCase().includes('vault locked') ||
|
||||
message.toLowerCase().includes('user rejected') ||
|
||||
message.toLowerCase().includes('user denied');
|
||||
setError(isVaultLocked ? 'Ontgrendel je wallet eerst met je wachtwoord.' : message);
|
||||
} finally {
|
||||
setConnecting(false);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user