packages/auth-ui/
├── src/
│ ├── components/
│ │ ├── AuthLogin.tsx
│ │ ├── AuthSignup.tsx
│ │ ├── AuthResetPassword.tsx
│ │ └── index.ts
│ ├── hooks/
│ │ ├── useAuth.ts
│ │ └── index.ts
│ ├── types.ts
│ └── index.ts
├── package.json
├── tsconfig.json
└── README.md
🎯 Objective
Extract reusable React components and email templates into shared packages that can be used across multiple applications.
📋 Implementation Checklist
1. Create Auth-UI Package
Package Structure
packages/auth-ui/directoryPackage.json Configuration
packages/auth-ui/package.json{ "name": "@robolearn/auth-ui", "version": "0.1.0", "main": "./dist/index.js", "types": "./dist/index.d.ts", "exports": { "./": "./dist/", "./components": "./dist/components/index.js", "./hooks": "./dist/hooks/index.js" }, "peerDependencies": { "react": "^18.0.0", "react-dom": "^18.0.0" }, "dependencies": { "@robolearn/auth-client": "workspace:*" }, "devDependencies": { "@types/react": "^18.0.0", "typescript": "^5.0.0" } }React Components
AuthLogin Component
src/components/AuthLogin.tsxonSuccess?,redirectTo?,className?AuthSignup Component
src/components/AuthSignup.tsxonSuccess?,redirectTo?,className?AuthResetPassword Component
src/components/AuthResetPassword.tsxresetToken?,onSuccess?,className?useAuth Hook
src/hooks/useAuth.tsuseSessionisAuthenticateduserloginlogoutsignupExport Structure
src/index.tsBuild Configuration
dist/.d.ts)Workspace Integration
package.json(if using workspace){ "workspaces": [ "packages/*", "auth-server", "robolearn-interface" ] }Usage in Downstream Apps
Document installation
Document usage
2. Email Templates Package
Move Email Templates
auth-server/src/lib/email/templates/directoryExtract Templates
Extract welcome email from
auth.tstemplates/welcome.tsgenerateWelcomeEmail(user, url)Extract reset password email from
auth.tstemplates/reset-password.tsgenerateResetPasswordEmail(user, url)Extract verification email from
auth.tstemplates/verification.tsgenerateVerificationEmail(user, url)Template Structure
Update Auth Server Imports
auth-server/src/lib/auth.tsExport for Future Workers
auth-server/src/lib/email/index.tsFuture: Background Worker Support
3. Documentation
Auth-UI Package README
packages/auth-ui/README.mdEmail Templates Documentation
auth-server/README.md🧪 Testing Checklist
Auth-UI Package
Email Templates
📋 Deliverables
packages/auth-ui/package with:auth-server/src/lib/email/templates/directory with:🔗 Related Issues
📝 Notes
Package Publishing
Styling
Versioning
@robolearn/auth-ui@workspace:*