SIWE auth, API proxy fixes, dashboard, login, usage pages

- SIWE auth flow: challenge/login/logout/me API routes + JWT middleware
- Fixed [...path] catch-all: Kubo proxy with matchRoute() + mapToKuboAPI()
- Fixed session_id → nonce field mismatch in AuthProvider
- Fixed dashboard pins crash: Kubo returns {Keys: {...}}, not array
- Added middleware route guard (307 redirect to /login)
- Added login, register, profile, usage, upload pages
- Added dashboard components (StorageGauge, FreeTierProgress)
- Added SWR hooks + AuthGuard + Providers + Toast/ErrorBoundary
- Added payment integration (smart contract ABI, tiers, tokens)
- Fixed IPNS key listing: Name/Id → name/id mapping
- Added PWA support (manifest, service worker, icons)
- Added tests for helpers, limits, search-index, wallet
This commit is contained in:
maikrolf
2026-06-28 18:31:05 +02:00
parent 1ddc89479c
commit c9432a16ba
84 changed files with 6679 additions and 1426 deletions
+18
View File
@@ -0,0 +1,18 @@
/* ── Generate PNG icons from SVG ── */
const sharp = require('sharp');
const fs = require('fs');
const path = require('path');
async function main() {
const sizes = [192, 512];
for (const size of sizes) {
const svg = fs.readFileSync(path.join(__dirname, '..', 'public', 'icon-' + size + '.svg'));
await sharp(svg)
.resize(size, size)
.png()
.toFile(path.join(__dirname, 'icon-' + size + '.png'));
console.log(`Generated icon-${size}.png`);
}
}
main().catch(console.error);
Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB