Files
nkode-web/vite.config.ts
Hammer 5c3217e3d5 fix: replace frontend with Rust OPAQUE API + Flutter keypad UI
- Full OPAQUE auth flow via WASM client SDK (client-wasm crate)
- New user: Key Register → Key Login → Code Register (icon selection) → done
- Existing user: Key Login → get login-data → icon keypad → Code Login → done
- Icon-based keypad matching Flutter design:
  - 2 cols portrait, 3 cols landscape
  - Key tiles with 3-col sub-grid of icons
  - Navy border press feedback
  - Dot display with backspace + submit
- SVGs rendered as-is (no color manipulation)
- SusiPage with Login/Signup tabs
- LoginKeypadPage and SignupKeypadPage for code flows
- Secret key display/copy on signup
- Unit tests for Keypad component
- WASM pkg bundled locally (no external dep)
2026-01-29 17:05:32 +00:00

37 lines
818 B
TypeScript

/// <reference types="vitest/config" />
import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react'
import tailwindcss from '@tailwindcss/vite'
import wasm from 'vite-plugin-wasm'
import topLevelAwait from 'vite-plugin-top-level-await'
import path from 'path'
export default defineConfig({
plugins: [react(), tailwindcss(), wasm(), topLevelAwait()],
test: {
globals: true,
environment: 'jsdom',
setupFiles: ['./src/__tests__/setup.ts'],
css: true,
},
resolve: {
alias: {
'nkode-client-wasm': path.resolve(__dirname, 'pkg'),
},
},
server: {
proxy: {
'/v1': {
target: 'http://localhost:3000',
changeOrigin: true,
},
},
fs: {
allow: ['..'],
},
},
optimizeDeps: {
exclude: ['nkode-client-wasm'],
},
})