diff --git a/app/globals.css b/app/globals.css
index 4e9397e..2394a41 100644
--- a/app/globals.css
+++ b/app/globals.css
@@ -22,7 +22,7 @@
body {
background: var(--background);
color: var(--foreground);
- font-family: Arial, Helvetica, sans-serif;
+ font-family: 'Madani Arabic', 'Noto Sans Arabic', 'Cairo', Arial, sans-serif;
}
.leaflet-container {
diff --git a/app/layout.js b/app/layout.js
index 2a9f601..e67c738 100644
--- a/app/layout.js
+++ b/app/layout.js
@@ -25,9 +25,19 @@ export const metadata = {
export default function Layout({ children }) {
return (
-
{children}
diff --git a/app/login/page.js b/app/login/page.js
index 2d5520d..6b19d99 100644
--- a/app/login/page.js
+++ b/app/login/page.js
@@ -85,17 +85,13 @@ export default function LoginPage() {
const result = await loginFn(formData.credential, formData.password);
- console.log('[Login] Response:', JSON.stringify(result));
+ console.log('[Login] Response status:', result.status);
if (result.status === 200) {
- // Login success — store token via AuthService
- console.log('[Login] result.data type:', typeof result.data, 'value:', result.data);
- const token = typeof result.data === 'string' ? result.data : result.data?.token || result.data?.accessToken || JSON.stringify(result.data);
- console.log('[Login] Extracted token:', token?.substring?.(0, 50) + '...');
+ const token = typeof result.data === 'string' ? result.data : result.data?.token || result.data?.accessToken;
AuthService.addToken(token);
- console.log('[Login] Token stored, verifying:', AuthService.getToken()?.substring(0, 30));
+ console.log('[Login] Token stored');
- // Decode token to get user info via AuthService
const authUser = AuthService.getUser();
const userRole = AuthService.isAdmin() ? 'admin'
: AuthService.isOwner() ? 'owner'
@@ -116,13 +112,11 @@ export default function LoginPage() {
}, 1500);
} else if (result.status === 206) {
- // Needs OTP verification
- console.log('[Login] 206 — result.data:', JSON.stringify(result.data));
- // Store temp token if returned
+ console.log('[Login] 206 — OTP required');
const tempToken = typeof result.data === 'string' ? result.data : result.data?.token || result.data?.accessToken;
if (tempToken) {
AuthService.addToken(tempToken);
- console.log('[Login] Temp token stored for OTP, key:', AuthService.getToken()?.substring(0, 30));
+ console.log('[Login] Temp token stored for OTP');
}
toast('يرجى إدخال رمز التحقق', {
icon: '🔐',
@@ -174,15 +168,13 @@ export default function LoginPage() {
console.log('[OTP] Verifying code:', otpCode);
const result = await verifyFn(otpCode);
- console.log('[OTP] Verify response:', JSON.stringify(result));
+ console.log('[OTP] Verify response status:', result.status);
if (result.ok) {
- // Verified — store final token if returned
const finalToken = typeof result.data === 'string' ? result.data : result.data?.token || result.data?.accessToken;
- console.log('[OTP] Final token:', finalToken?.substring?.(0, 50));
if (finalToken && typeof finalToken === 'string') {
AuthService.addToken(finalToken);
- console.log('[OTP] Final token stored, verifying:', AuthService.getToken()?.substring(0, 30));
+ console.log('[OTP] Final token stored');
}
setIsSuccess(true);