Fixes for Login screen
This commit is contained in:
@@ -13,6 +13,7 @@ import userData from './src/data/userData.json';
|
||||
import {getUniqueId} from 'react-native-device-info';
|
||||
import {useAppDispatch} from './src/hooks';
|
||||
import {setAuthData} from './src/reducer/commonSlice';
|
||||
import { _map } from './RN-UI-LIB/src/utlis/common';
|
||||
|
||||
const Stack = createNativeStackNavigator();
|
||||
|
||||
@@ -50,7 +51,7 @@ const ProtectedRouter = () => {
|
||||
header: () => null,
|
||||
}}
|
||||
/>
|
||||
{Object.keys(data.widgets).map(key => (
|
||||
{_map(data.widgets, key => (
|
||||
<Stack.Screen
|
||||
key={key}
|
||||
name={key}
|
||||
|
||||
Submodule RN-UI-LIB updated: 5a7d3d9028...00b3263a1a
@@ -2,7 +2,7 @@ import {setAuthData} from '../reducer/commonSlice';
|
||||
import axiosInstance, {ApiKeys, getApiUrl} from '../components/utlis/apiHelper';
|
||||
import {
|
||||
setFormLoading,
|
||||
setGetOTPError,
|
||||
setOTPError,
|
||||
setShowOTPScreen,
|
||||
setVerifyOTPError,
|
||||
setVerifyOTPSuccess,
|
||||
@@ -40,12 +40,13 @@ export const generateOTP =
|
||||
}
|
||||
})
|
||||
.catch(err => {
|
||||
// TODO: Fix status from BE
|
||||
if (err.response.status === 404) {
|
||||
dispatch(
|
||||
setGetOTPError('Enter a registered mobile number'),
|
||||
setOTPError('Enter a registered mobile number'),
|
||||
);
|
||||
} else {
|
||||
dispatch(setGetOTPError(err.response?.data?.message));
|
||||
dispatch(setOTPError(err.response?.data?.message));
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
@@ -26,11 +26,11 @@ export const Countdown = (props: CountdownProps) => {
|
||||
|
||||
if (newTickerValue < stopAt) {
|
||||
clearTimeout(intervalRef.current);
|
||||
onComplete && onComplete();
|
||||
onComplete && typeof onComplete === 'function' && onComplete();
|
||||
return;
|
||||
}
|
||||
|
||||
step && step(newTickerValue);
|
||||
step && typeof onComplete === 'function' && step(newTickerValue);
|
||||
setTicker(newTickerValue);
|
||||
};
|
||||
|
||||
|
||||
@@ -20,6 +20,10 @@ const OtpText = () => {
|
||||
dispatch(generateOTP({phoneNumber}, true));
|
||||
};
|
||||
|
||||
const handleCountdownComplete = () => {
|
||||
setCountDownComplete(true)
|
||||
};
|
||||
|
||||
if (verifyOTPError) {
|
||||
return (
|
||||
<Text style={styles.errorText}>
|
||||
@@ -44,12 +48,10 @@ const OtpText = () => {
|
||||
<Text light>
|
||||
Resend OTP in{' '}
|
||||
<Countdown
|
||||
onComplete={() => {
|
||||
setCountDownComplete(true);
|
||||
}}
|
||||
onComplete={handleCountdownComplete}
|
||||
startFrom={30}
|
||||
/>{' '}
|
||||
second
|
||||
second(s)
|
||||
</Text>
|
||||
);
|
||||
};
|
||||
|
||||
@@ -52,7 +52,7 @@ const Login = () => {
|
||||
keyboardType="phone-pad"
|
||||
placeholder="Enter here"
|
||||
onBlur={onBlur}
|
||||
onChangeText={value => onChange(value)}
|
||||
onChangeText={onChange}
|
||||
value={value}
|
||||
maxLength={10}
|
||||
defaultValue={phoneNumber}
|
||||
@@ -61,7 +61,7 @@ const Login = () => {
|
||||
/>
|
||||
)}
|
||||
name="phoneNumber"
|
||||
rules={{required: true, minLength: 10}}
|
||||
rules={{required: true, minLength: 10, maxLength: 10}}
|
||||
/>
|
||||
<Button
|
||||
title="Get OTP"
|
||||
|
||||
@@ -3,7 +3,6 @@ import {createSlice} from '@reduxjs/toolkit';
|
||||
const initialState = {
|
||||
phoneNumber: '',
|
||||
otpToken: '',
|
||||
getOTPSuccess: {},
|
||||
OTPError: '',
|
||||
verifyOTPSuccess: '',
|
||||
verifyOTPError: '',
|
||||
@@ -22,7 +21,7 @@ const loginSlice = createSlice({
|
||||
state.OTPError = '';
|
||||
state.verifyOTPError = '';
|
||||
},
|
||||
setGetOTPError: (state, action) => {
|
||||
setOTPError: (state, action) => {
|
||||
state.OTPError = action.payload;
|
||||
state.isLoading = false;
|
||||
},
|
||||
@@ -42,7 +41,7 @@ const loginSlice = createSlice({
|
||||
});
|
||||
|
||||
export const {
|
||||
setGetOTPError,
|
||||
setOTPError,
|
||||
setVerifyOTPError,
|
||||
setVerifyOTPSuccess,
|
||||
setShowOTPScreen,
|
||||
|
||||
@@ -4,6 +4,8 @@ import {setAuthData} from '../../reducer/commonSlice';
|
||||
import {toast} from '../../../RN-UI-LIB/src/components/toast';
|
||||
import {navigateToScreen} from './navigationUtlis';
|
||||
import {GLOBAL} from '../../constants/Global';
|
||||
import {_map} from '../../../RN-UI-LIB/src/utlis/common';
|
||||
import { BASE_AV_APP_URL } from '../../constants/config';
|
||||
|
||||
const MOCK_DIR = '__mocks__';
|
||||
|
||||
@@ -56,9 +58,7 @@ export function getApiUrl(
|
||||
if (queryParams) {
|
||||
apiUrl +=
|
||||
'?' +
|
||||
Object.keys(queryParams)
|
||||
.map(key => `${key}=${queryParams[key]}`)
|
||||
.join('&');
|
||||
_map(queryParams, key => `${key}=${queryParams[key]}`).join('&');
|
||||
}
|
||||
|
||||
return `${apiUrl}`;
|
||||
@@ -75,7 +75,7 @@ axiosInstance.interceptors.request.use(request => {
|
||||
request.retry = request?.retry < 4 ? request.retry : 3;
|
||||
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
||||
// @ts-ignore
|
||||
request.headers['request-start-time'] = new Date().getTime();
|
||||
request.headers['request-start-time'] = Date.now();
|
||||
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
||||
// @ts-ignore
|
||||
request.headers['sessionToken'] = GLOBAL.SESSION_TOKEN || '';
|
||||
@@ -89,7 +89,7 @@ axiosInstance.interceptors.response.use(
|
||||
response => {
|
||||
if (response.config.headers) {
|
||||
const start = response.config.headers['request-start-time'];
|
||||
const end = new Date().getTime();
|
||||
const end = Date.now();
|
||||
const milliseconds = end - Number(start);
|
||||
response.headers['request-duration'] = String(milliseconds);
|
||||
}
|
||||
@@ -128,7 +128,7 @@ axiosInstance.interceptors.response.use(
|
||||
);
|
||||
|
||||
axiosInstance.defaults.headers.common['Content-Type'] = 'application/json';
|
||||
axiosInstance.defaults.baseURL = `https://dev-longhorn-server.np.navi-tech.in/av/`;
|
||||
axiosInstance.defaults.baseURL = BASE_AV_APP_URL;
|
||||
|
||||
// TODO:: Ideally should happen through middlewares.
|
||||
// export const registerNavigateAndDispatch = (
|
||||
|
||||
1
src/constants/config.js
Normal file
1
src/constants/config.js
Normal file
@@ -0,0 +1 @@
|
||||
export const BASE_AV_APP_URL = 'https://dev-longhorn-server.np.navi-tech.in/av/';
|
||||
@@ -19,7 +19,6 @@ const initialState = {
|
||||
} as User,
|
||||
} as CommonState;
|
||||
|
||||
console.log('initialState', initialState);
|
||||
export const commonSlice = createSlice({
|
||||
name: 'common',
|
||||
initialState,
|
||||
@@ -31,7 +30,6 @@ export const commonSlice = createSlice({
|
||||
state.userData.sessionToken,
|
||||
state.userData.deviceId,
|
||||
);
|
||||
console.log("new global", GLOBAL);
|
||||
}
|
||||
},
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user