Files
territory-log/package.json
Kibin 6fe6ebef13 feat: Sprint 5 — PIN lock, biometric auth, sync screen, QR code, merge logic
- lib/pinService.ts: PIN storage/verification via expo-secure-store
- lib/syncService.ts: sync abstraction with full merge logic (mDNS/TCP stubbed)
- app/lock.tsx: full-screen PIN lock with biometric support
- components/ui/PinPad.tsx: reusable 6-digit PIN pad component
- components/sync/QRScanner.tsx: QR code scanner via expo-camera
- app/(tabs)/sync.tsx: Sync tab with QR display, partner input, history
- app/sync-progress.tsx: animated sync progress screen with summary
- app/(tabs)/settings.tsx: full settings with PIN setup, security, data sections
- app/(tabs)/_layout.tsx: added Sync tab (RefreshCw icon)
- app/_layout.tsx: AppState listener locks app after 60s background
- package.json: added expo-secure-store, react-native-qrcode-svg
2026-02-18 19:57:35 +08:00

49 lines
1.4 KiB
JSON

{
"name": "territory-log",
"version": "1.0.0",
"main": "expo-router/entry",
"scripts": {
"start": "expo start",
"android": "expo start --android",
"ios": "expo start --ios",
"web": "expo start --web",
"lint": "eslint . --ext .ts,.tsx"
},
"dependencies": {
"expo": "~52.0.0",
"expo-crypto": "~13.0.0",
"expo-router": "~4.0.0",
"expo-sqlite": "~15.0.0",
"expo-location": "~18.0.0",
"expo-local-authentication": "~14.0.0",
"expo-camera": "~16.0.0",
"expo-sharing": "~12.0.0",
"expo-document-picker": "~12.0.0",
"expo-file-system": "~18.0.0",
"react": "18.3.1",
"react-native": "0.76.7",
"expo-secure-store": "~14.0.1",
"react-native-qrcode-svg": "^6.3.0",
"react-native-safe-area-context": "4.12.0",
"react-native-screens": "~4.0.0",
"react-native-gesture-handler": "~2.20.0",
"react-native-reanimated": "~3.16.0",
"@gorhom/bottom-sheet": "^5.0.0",
"zustand": "^5.0.0",
"nativewind": "^4.0.0",
"lucide-react-native": "^0.460.0",
"react-native-svg": "15.8.0",
"react-native-maps": "1.27.1",
"react-native-map-clustering": "^1.1.0"
},
"devDependencies": {
"@babel/core": "^7.25.0",
"@types/react": "~18.3.12",
"typescript": "^5.3.0",
"tailwindcss": "^3.4.0",
"eslint": "^8.57.0",
"eslint-config-expo": "~8.0.0",
"prettier": "^3.3.0"
}
}