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:
maikrolf
2026-09-19 12:25:36 +02:00
parent f72b775379
commit 7c7854e08f
24 changed files with 1349 additions and 125 deletions
+5 -2
View File
@@ -1,12 +1,15 @@
import type { NextConfig } from 'next';
// Haal de RPC URL op uit environment variabelen
const zkSyncRpcUrl = process.env.NEXT_PUBLIC_ZKSYNC_RPC_URL || 'http://localhost:3050';
const csp = [
"default-src 'self'",
"script-src 'self' 'unsafe-eval' 'unsafe-inline'", // nodig voor Next.js
"script-src 'self' 'unsafe-eval' 'unsafe-inline'",
"style-src 'self' 'unsafe-inline'",
"img-src 'self' data: blob: https://ipfs.maos.dedyn.io https://*.maos.dedyn.io",
"media-src 'self' https://ipfs.maos.dedyn.io https://*.maos.dedyn.io",
"connect-src 'self' ws: wss: ${process.env.NEXT_PUBLIC_ZKSYNC_RPC_URL || 'http://localhost:3050'}",
`connect-src 'self' ws: wss: ${zkSyncRpcUrl}`,
"frame-src 'self'",
"base-uri 'self'",
"form-action 'self'",