Siavash Sameni 6ae581ab2e feat(ui): Ghibli/Miyazaki reskin + Obsidian docs vault + project audit
UI: warm daylight design system (Tailwind v4 @theme palette, gh-* component
classes, watercolor grain, Zen Maru Gothic + Klee One fonts), animated SSR-safe
GhibliBackground (drifting clouds, meadow hills, soot sprites), and a full reskin
of navbar, connect button, dapp page, loan cards, settings modal, and readme.
Fixes the bg-white-on-dark loan-card inconsistency. Web3/business logic untouched.

Docs: converted docs/ into an Obsidian vault (frontmatter, [[wikilinks]],
callouts, Home MOC, folders Architecture/Operations/Audits) and added a
full-project audit note (Project Audit 2026-06). Redacted a real leaked Schedy
key value from the security audit example (rotate it at Schedy).

Also commits the previously-untracked server layer: app/api (cron + tasks routes)
and lib (redis, ssrf-guard, task-store).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-14 08:13:53 +04:00
2025-08-28 15:16:02 +04:00
2025-08-28 15:16:02 +04:00
2025-08-28 15:16:02 +04:00
2025-08-25 13:52:56 +04:00
2025-12-16 10:15:01 +04:00
2025-12-16 10:15:01 +04:00
2025-12-16 10:15:01 +04:00

MortgageFi DApp

This is the MortgageFi DApp frontend (Next.js App Router). The landing page is the DApp itself.

First-time NFT scan and cache

  • On first load (or after deleting cache), click the button: "Scan 12 more (ownerOf)" repeatedly until your NFTs are discovered and cached.
  • The app stores results per chain and per ERC-721 contract in localStorage. If you add a new NFT later, click "Scan 12 more (ownerOf)" again to extend the cache.
  • You can Reset (current wallet only) or Delete Local Cache (entire contract cache) from the Inputs panel.

Paying another wallet's debt (Manual Wallet)

  • To pay a different wallets debt (e.g., a multisig), enter its address into the "Manual Wallet" field. The app will scan and read using this wallet.
  • Stablecoin balance and allowance checks still use your connected wallet for approvals and payments, but loan reads will target the manual wallets NFTs.

Blockchain logs

  • Verbose on-chain logs are printed to the browser console (scan, reads, and actions). Open DevTools → Console to view progress and diagnostics.

Networks and presets

  • Supported networks include Base and Arbitrum. Use the Network selector to switch.
  • Presets are available per chain to quickly populate ERC-721 and Debt contract addresses (e.g., cbBTCUSDC, WETHUSDC, USDTOWBTC).

Development

npm install
npm run dev
# open http://localhost:3000

Environment

  • Set NEXT_PUBLIC_WALLETCONNECT_PROJECT_ID in .env.local for WalletConnect.

Deployment on Vercel

  • Monorepo: set the project root to mortgagefi-frontend/ in Vercel.
  • Build command: next build (Turbopack is enabled by default via script).
  • Environment vars: set NEXT_PUBLIC_WALLETCONNECT_PROJECT_ID in Vercel.

Using Gitea with Vercel

  • Vercel does not natively integrate with Gitea. Options:
    • Mirror your Gitea repository to GitHub/GitLab/Bitbucket and connect that to Vercel.
    • Or use the Vercel CLI to deploy from your local machine or CI pipeline.
Description
alternative frontend for basic functionality for mortgagefi.app
Readme 311 KiB
Languages
TypeScript 98%
JavaScript 1.1%
CSS 0.9%