Clearing apple rejected
QC: Inno Fix: - app.config.js - app/(application)/(user)/investment/[id]/index.tsx - app/(application)/(user)/voting/(tabs)/index.tsx - app/(application)/(user)/waiting-room.tsx - app/(application)/terms-agreement.tsx - context/AuthContext.tsx - ios/HIPMIBadungConnect.xcodeproj/project.pbxproj - ios/HIPMIBadungConnect/Info.plist - screens/Authentication/LoginView.tsx - screens/Authentication/VerificationView.tsx - screens/Home/topFeatureSection.tsx - screens/Invesment/BoxBerandaSection.tsx - screens/Invesment/ButtonInvestasiSection.tsx - screens/Invesment/DetailDataPublishSection.tsx - service/api-client/api-voting.ts - service/api-config.ts ### No Issue
This commit is contained in:
@@ -72,20 +72,11 @@ export default function LoginView() {
|
||||
|
||||
const realNumber = callingCode + fixNumber;
|
||||
|
||||
console.log("[REALNUMBER]", realNumber);
|
||||
|
||||
try {
|
||||
setLoading(true);
|
||||
// const response = await apiLogin({ nomor: realNumber });
|
||||
await loginWithNomor(realNumber);
|
||||
|
||||
Toast.show({
|
||||
type: "success",
|
||||
text1: "Sukses",
|
||||
text2: "Kode OTP berhasil dikirim",
|
||||
});
|
||||
|
||||
router.navigate(`/verification?nomor=${realNumber}`);
|
||||
const response = await loginWithNomor(realNumber);
|
||||
console.log("[RESPONSE UI]", response);
|
||||
|
||||
} catch (error) {
|
||||
console.log("Error login", error);
|
||||
Toast.show({
|
||||
@@ -96,6 +87,30 @@ export default function LoginView() {
|
||||
} finally {
|
||||
setLoading(false);
|
||||
}
|
||||
|
||||
// try {
|
||||
// setLoading(true);
|
||||
// // const response = await apiLogin({ nomor: realNumber });
|
||||
// const response = await loginWithNomor(realNumber);
|
||||
// console.log("[RESPONSE]", response);
|
||||
|
||||
// Toast.show({
|
||||
// type: "success",
|
||||
// text1: "Sukses",
|
||||
// text2: "Kode OTP berhasil dikirim",
|
||||
// });
|
||||
|
||||
// // router.navigate(`/verification?nomor=${realNumber}`);
|
||||
// } catch (error) {
|
||||
// console.log("Error login", error);
|
||||
// Toast.show({
|
||||
// type: "error",
|
||||
// text1: "Error",
|
||||
// text2: error as string,
|
||||
// });
|
||||
// } finally {
|
||||
// setLoading(false);
|
||||
// }
|
||||
}
|
||||
|
||||
if (token && token !== "" && !isUserActive) {
|
||||
|
||||
@@ -89,8 +89,9 @@ export default function VerificationView() {
|
||||
// ✅ VERIFIKASI OTOMATIS UNTUK APPLE REVIEW
|
||||
if (inputOtp === "1234") {
|
||||
try {
|
||||
const response = await validateOtp(nomor as string);
|
||||
router.replace(response);
|
||||
await validateOtp(nomor as string);
|
||||
|
||||
return;
|
||||
} catch (error) {
|
||||
console.log("Error verification", error);
|
||||
Toast.show({ type: "error", text1: "Gagal verifikasi" });
|
||||
@@ -103,16 +104,8 @@ export default function VerificationView() {
|
||||
|
||||
// 🔁 VERIFIKASI NORMAL (untuk pengguna sungguhan)
|
||||
try {
|
||||
const response = await validateOtp(nomor as string);
|
||||
// registerForPushNotificationsAsync().then((token) => {
|
||||
// if (token) {
|
||||
// console.log("Expo Push Token:", token);
|
||||
// // TODO: Kirim token ke backend kamu
|
||||
// } else {
|
||||
// console.log("Failed to get Expo Push Token");
|
||||
// }
|
||||
// });
|
||||
router.replace(response);
|
||||
await validateOtp(nomor as string);
|
||||
return
|
||||
} catch (error) {
|
||||
console.log("Error verification", error);
|
||||
Toast.show({ type: "error", text1: "Gagal verifikasi" });
|
||||
|
||||
@@ -15,7 +15,7 @@ export default function Home_FeatureSection() {
|
||||
name: "Collaboration",
|
||||
icon: <Ionicons name="share" size={48} color="gray" />,
|
||||
onPress: () => router.push("/(application)/(user)/collaboration/(tabs)"),
|
||||
status: "active",
|
||||
status: "inactive",
|
||||
},
|
||||
{
|
||||
name: "Voting",
|
||||
|
||||
@@ -1,12 +1,13 @@
|
||||
/* eslint-disable react-hooks/exhaustive-deps */
|
||||
import {
|
||||
BaseBox,
|
||||
Grid,
|
||||
ProgressCustom,
|
||||
StackCustom,
|
||||
TextCustom,
|
||||
BaseBox,
|
||||
Grid,
|
||||
ProgressCustom,
|
||||
StackCustom,
|
||||
TextCustom,
|
||||
} from "@/components";
|
||||
import API_STRORAGE from "@/constants/base-url-api-strorage";
|
||||
import { MainColor } from "@/constants/color-palet";
|
||||
import DUMMY_IMAGE from "@/constants/dummy-image-value";
|
||||
import { countDownAndCondition } from "@/utils/countDownAndCondition";
|
||||
import { Ionicons } from "@expo/vector-icons";
|
||||
@@ -21,7 +22,7 @@ export default function Investment_BoxBerandaSection({
|
||||
id: string;
|
||||
data: any;
|
||||
}) {
|
||||
// console.log("[DATA By one]", JSON.stringify(data, null, 2));
|
||||
// console.log("[DATA By one]", JSON.stringify(data, null, 2));
|
||||
|
||||
const [value, setValue] = useState({
|
||||
sisa: 0,
|
||||
@@ -32,6 +33,8 @@ export default function Investment_BoxBerandaSection({
|
||||
updateCountDown();
|
||||
}, [data]);
|
||||
|
||||
console.log("[DATA BERANDA]", JSON.stringify(data, null, 2));
|
||||
|
||||
const updateCountDown = () => {
|
||||
const countDown = countDownAndCondition({
|
||||
duration: data?.pencarianInvestor,
|
||||
@@ -66,8 +69,10 @@ export default function Investment_BoxBerandaSection({
|
||||
<TextCustom truncate={2}>{data.title}</TextCustom>
|
||||
<ProgressCustom
|
||||
label={`${data.progress}%`}
|
||||
value={data.progress}
|
||||
value={Number(data.progress)}
|
||||
size="lg"
|
||||
animated
|
||||
color="primary"
|
||||
/>
|
||||
{value.reminder ? (
|
||||
<View
|
||||
@@ -79,13 +84,11 @@ export default function Investment_BoxBerandaSection({
|
||||
>
|
||||
<Ionicons name="alert-circle-outline" size={16} color="red" />
|
||||
<TextCustom truncate color="red" size="small">
|
||||
Periode Investasi Berakhir
|
||||
Periode Berakhir
|
||||
</TextCustom>
|
||||
</View>
|
||||
) : (
|
||||
<TextCustom>
|
||||
Sisa waktu: {value.sisa} hari
|
||||
</TextCustom>
|
||||
<TextCustom>Sisa waktu: {value.sisa} hari</TextCustom>
|
||||
)}
|
||||
</StackCustom>
|
||||
</Grid.Col>
|
||||
|
||||
@@ -4,9 +4,11 @@ import { router } from "expo-router";
|
||||
export default function Investment_ButtonInvestasiSection({
|
||||
id,
|
||||
isMine,
|
||||
reminder,
|
||||
}: {
|
||||
id: string;
|
||||
isMine: boolean;
|
||||
reminder: boolean;
|
||||
}) {
|
||||
return (
|
||||
<>
|
||||
@@ -14,11 +16,12 @@ export default function Investment_ButtonInvestasiSection({
|
||||
<ButtonCustom disabled>Investasi ini milik Anda</ButtonCustom>
|
||||
) : (
|
||||
<ButtonCustom
|
||||
disabled={reminder}
|
||||
onPress={() => {
|
||||
router.navigate(`/investment/${id}/(transaction-flow)`);
|
||||
}}
|
||||
>
|
||||
Beli Saham
|
||||
{reminder ? "Periode Investasi Berakhir" : "Beli Saham"}
|
||||
</ButtonCustom>
|
||||
)}
|
||||
</>
|
||||
|
||||
@@ -52,7 +52,7 @@ export default function Invesment_DetailDataPublishSection({
|
||||
<ReportBox text={data?.catatan} />
|
||||
)}
|
||||
<Invesment_BoxProgressSection
|
||||
progress={data?.progress}
|
||||
progress={Number(data?.progress)}
|
||||
status={status as string}
|
||||
/>
|
||||
<Invesment_BoxDetailDataSection
|
||||
|
||||
Reference in New Issue
Block a user