Add enums, AuthService, and integrate backend registration endpoints
All checks were successful
Build frontend / build (push) Successful in 57s

- Add separate enum files: BuildingType, PropertyStatus, BookingStatus, CommissionType, IdentityType, UserRole, City, LoginMethod, OwnerType, CustomerType
- Add AuthService (addToken/getToken/deleteToken)
- Update api.js: use AuthService, add Owner/Add and Customer/Add endpoints
- Update login page to use AuthService for token storage
- Rewrite owner register: 3-step flow with OwnerType dropdown, backend integration, OTP verification
- Rewrite tenant register: 2-step flow with CustomerType dropdown, backend integration, OTP verification
- Update homepage and property detail to use enums instead of hardcoded maps
- Update AddPropertyForm to import from enums directly
- Add console logs and status toasts linked to API response messages
This commit is contained in:
Claw AI
2026-03-27 18:01:42 +00:00
parent 2fb55db360
commit eff0b41b78
20 changed files with 1099 additions and 843 deletions

View File

@ -29,6 +29,7 @@ import {
isEmail,
isPhoneNumber,
} from '../utils/api';
import AuthService from '../services/AuthService';
export default function LoginPage() {
const router = useRouter();
@ -87,10 +88,10 @@ export default function LoginPage() {
console.log('[Login] Response:', result);
if (result.status === 200) {
// Login success — store token
// Login success — store token via AuthService
const token = typeof result.data === 'string' ? result.data : result.data?.token || result.data;
localStorage.setItem('token', token);
console.log('[Login] Token stored successfully');
AuthService.addToken(token);
console.log('[Login] Token stored via AuthService');
// Decode token to get user info (basic JWT decode)
try {
@ -182,11 +183,11 @@ export default function LoginPage() {
console.log('[OTP] Verify response:', result);
if (result.ok) {
// Verified — store token if returned
// Verified — store token if returned via AuthService
const token = typeof result.data === 'string' ? result.data : result.data?.token || result.data;
if (token && typeof token === 'string' && token.includes('.')) {
localStorage.setItem('token', token);
console.log('[OTP] Token stored');
AuthService.addToken(token);
console.log('[OTP] Token stored via AuthService');
}
localStorage.setItem('user', JSON.stringify({