mirror of
https://github.com/luxfi/bank-admin.git
synced 2026-10-30 17:01:57 +00:00
White-label BaaS admin for admin.lux.financial. Vite + React 19 + Tailwind v4 on the @hanzo/ui true-black design system (Geist, unified oklch tokens). Auth via @hanzo/iam (lux.id OIDC, client lux-bank) with an optional sandbox passcode gate so the investor demo is reachable without a lux.id account — never unauthenticated. Modules (mobile-responsive): Overview KPIs, Customers (+KYC approve/reject), Accounts (+multi-currency balances), Treasury (aggregate liquidity), Cards (freeze/unfreeze), Transactions, Compliance (AML/KYC queue), MPC/Safes (testnet custody). Data via one provider (src/lib/data.ts): live bankd (/v1/collections, /v1/bank) first, faithful in-app Sandbox mirror (bankd schemas) as fallback so the demo never renders blank. No Drive export. Served by a zero-dep Node static server (no nginx/caddy) on :3000. Co-authored-by: Hanzo Dev <[email protected]>
28 lines
823 B
TypeScript
28 lines
823 B
TypeScript
import { defineConfig } from 'vite'
|
|
import react from '@vitejs/plugin-react'
|
|
import tailwindcss from '@tailwindcss/vite'
|
|
import { resolve } from 'path'
|
|
|
|
// Standalone admin console. Mirrors the proven bank-dash build: Tailwind v4
|
|
// via the vite plugin, and a hard dedupe of react/react-dom because @hanzo/iam
|
|
// ships its own React (otherwise "Invalid hook call — more than one copy").
|
|
export default defineConfig({
|
|
plugins: [react(), tailwindcss()],
|
|
resolve: {
|
|
alias: { '@': resolve(__dirname, 'src') },
|
|
dedupe: ['react', 'react-dom'],
|
|
},
|
|
optimizeDeps: {
|
|
include: ['@hanzo/iam/browser', '@hanzo/iam/react'],
|
|
},
|
|
server: {
|
|
port: 3000,
|
|
proxy: {
|
|
'/v1': {
|
|
target: process.env.VITE_BANK_API_URL || 'https://api.lux.financial',
|
|
changeOrigin: true,
|
|
},
|
|
},
|
|
},
|
|
})
|