Add:
- xcode.build.ios - service/api.ts ### No issue
This commit is contained in:
@@ -8,9 +8,9 @@ export default function RootLayout() {
|
|||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<SafeAreaProvider>
|
<SafeAreaProvider>
|
||||||
|
<AuthProvider>
|
||||||
<AppRoot />
|
<AppRoot />
|
||||||
{/* <AuthProvider>
|
</AuthProvider>
|
||||||
</AuthProvider> */}
|
|
||||||
</SafeAreaProvider>
|
</SafeAreaProvider>
|
||||||
<Toast />
|
<Toast />
|
||||||
</>
|
</>
|
||||||
|
|||||||
@@ -2,7 +2,8 @@ import ButtonCustom from "@/components/Button/ButtonCustom";
|
|||||||
import Spacing from "@/components/_ShareComponent/Spacing";
|
import Spacing from "@/components/_ShareComponent/Spacing";
|
||||||
import ViewWrapper from "@/components/_ShareComponent/ViewWrapper";
|
import ViewWrapper from "@/components/_ShareComponent/ViewWrapper";
|
||||||
import { MainColor } from "@/constants/color-palet";
|
import { MainColor } from "@/constants/color-palet";
|
||||||
import { apiLogin, apiVersion } from "@/service/api";
|
import { useAuth } from "@/hook/use-auth";
|
||||||
|
import { apiVersion } from "@/service/api";
|
||||||
import { GStyles } from "@/styles/global-styles";
|
import { GStyles } from "@/styles/global-styles";
|
||||||
import { router } from "expo-router";
|
import { router } from "expo-router";
|
||||||
import { useEffect, useState } from "react";
|
import { useEffect, useState } from "react";
|
||||||
@@ -16,12 +17,15 @@ export default function LoginView() {
|
|||||||
const [inputValue, setInputValue] = useState<string>("");
|
const [inputValue, setInputValue] = useState<string>("");
|
||||||
const [loading, setLoading] = useState<boolean>(false);
|
const [loading, setLoading] = useState<boolean>(false);
|
||||||
|
|
||||||
|
const { loginWithNomor } = useAuth();
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
onLoadVersion();
|
onLoadVersion();
|
||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
async function onLoadVersion() {
|
async function onLoadVersion() {
|
||||||
const res = await apiVersion();
|
const res = await apiVersion();
|
||||||
|
console.log("Version", res.data);
|
||||||
setVersion(res.data);
|
setVersion(res.data);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -66,24 +70,26 @@ export default function LoginView() {
|
|||||||
const fixNumber = inputValue.replace(/\s+/g, "");
|
const fixNumber = inputValue.replace(/\s+/g, "");
|
||||||
const realNumber = callingCode + fixNumber;
|
const realNumber = callingCode + fixNumber;
|
||||||
|
|
||||||
setLoading(true);
|
try {
|
||||||
const response = await apiLogin({ nomor: realNumber });
|
setLoading(true);
|
||||||
|
// const response = await apiLogin({ nomor: realNumber });
|
||||||
|
await loginWithNomor(realNumber);
|
||||||
|
|
||||||
if (response.success) {
|
|
||||||
Toast.show({
|
Toast.show({
|
||||||
type: "success",
|
type: "success",
|
||||||
text1: "Sukses",
|
text1: "Sukses",
|
||||||
text2: "Kode OTP berhasil dikirim",
|
text2: "Kode OTP berhasil dikirim",
|
||||||
});
|
});
|
||||||
router.navigate(`/verification?kodeId=${response.kodeId}`);
|
|
||||||
setLoading(false);
|
router.navigate(`/verification?nomor=${realNumber}`);
|
||||||
// router.replace("/(application)/coba");
|
} catch (error) {
|
||||||
} else {
|
console.log("Error login", error);
|
||||||
Toast.show({
|
Toast.show({
|
||||||
type: "error",
|
type: "error",
|
||||||
text1: "Error",
|
text1: "Error",
|
||||||
text2: response.message,
|
text2: error as string,
|
||||||
});
|
});
|
||||||
|
} finally {
|
||||||
setLoading(false);
|
setLoading(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
import AsyncStorage from "@react-native-async-storage/async-storage";
|
||||||
import axios, { AxiosInstance } from "axios";
|
import axios, { AxiosInstance } from "axios";
|
||||||
import Constants from "expo-constants";
|
import Constants from "expo-constants";
|
||||||
const API_BASE_URL = Constants.expoConfig?.extra?.API_BASE_URL;
|
const API_BASE_URL = Constants.expoConfig?.extra?.API_BASE_URL;
|
||||||
@@ -12,9 +13,18 @@ export const apiClient: AxiosInstance = axios.create({
|
|||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Endpoint yang TIDAK butuh token
|
||||||
|
const PUBLIC_ROUTES = [
|
||||||
|
// "/version",
|
||||||
|
"/auth/send-otp",
|
||||||
|
"/auth/verify-otp",
|
||||||
|
"/auth/register",
|
||||||
|
"/auth/logout", // opsional, tergantung kebutuhan
|
||||||
|
];
|
||||||
|
|
||||||
// apiClient.interceptors.request.use(
|
// apiClient.interceptors.request.use(
|
||||||
// (config) => {
|
// (config) => {
|
||||||
// const token = localStorage.getItem("token");
|
// const token = AsyncStorage.getItem("authToken");
|
||||||
// if (token) {
|
// if (token) {
|
||||||
// config.headers.Authorization = `Bearer ${token}`;
|
// config.headers.Authorization = `Bearer ${token}`;
|
||||||
// }
|
// }
|
||||||
@@ -25,6 +35,30 @@ export const apiClient: AxiosInstance = axios.create({
|
|||||||
// }
|
// }
|
||||||
// );
|
// );
|
||||||
|
|
||||||
|
apiClient.interceptors.request.use(
|
||||||
|
(config) => {
|
||||||
|
const token = AsyncStorage.getItem("authToken");
|
||||||
|
if (token) {
|
||||||
|
config.headers.Authorization = `Bearer ${token}`;
|
||||||
|
}
|
||||||
|
|
||||||
|
// const isPublic = PUBLIC_ROUTES.some((route) => config.url?.includes(route));
|
||||||
|
|
||||||
|
// if (!isPublic) {
|
||||||
|
// const token = AsyncStorage.getItem("authToken");
|
||||||
|
// if (token) {
|
||||||
|
// config.headers.Authorization = `Bearer ${token}`;
|
||||||
|
// } else {
|
||||||
|
// console.warn(`Token tidak ditemukan untuk endpoint: ${config.url}`);
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
return config;
|
||||||
|
},
|
||||||
|
(error) => {
|
||||||
|
return Promise.reject(error);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
export async function apiVersion() {
|
export async function apiVersion() {
|
||||||
console.log("API_BASE_URL", API_BASE_URL);
|
console.log("API_BASE_URL", API_BASE_URL);
|
||||||
const response = await apiClient.get("/version");
|
const response = await apiClient.get("/version");
|
||||||
|
|||||||
1
xcode.build.ios
Normal file
1
xcode.build.ios
Normal file
@@ -0,0 +1 @@
|
|||||||
|
npx expo run:ios --device
|
||||||
Reference in New Issue
Block a user