Files
hipmi-mobile/app/(application)/(user)/waiting-room.tsx
Bagasbanuna02 5f36620988 Integrasi Admin: User Acces & Super Admin
Add:
- admin/super-admin/
- admin/user-access/
- service/api-admin/

Fix:
- (user)/profile/[id]/index: penambahan useData dari useAuthuntuk merestart value masterRole
- integrasi pada tampilan admin

### No Issue
2025-10-14 17:28:40 +08:00

102 lines
2.8 KiB
TypeScript

import {
AlertDefaultSystem,
BoxButtonOnFooter,
ButtonCenteredOnly,
ButtonCustom,
InformationBox,
StackCustom,
ViewWrapper,
} from "@/components";
import { ICON_SIZE_BUTTON } from "@/constants/constans-value";
import { useAuth } from "@/hooks/use-auth";
import { apiUser } from "@/service/api-client/api-user";
import { Ionicons } from "@expo/vector-icons";
import { router } from "expo-router";
import Toast from "react-native-toast-message";
export default function WaitingRoom() {
const { token, isLoading, logout, userData } = useAuth();
async function handleCheck() {
try {
const response = await userData(token as string);
if (response.active) {
const checkProfile = await apiUser(response.id);
if (checkProfile?.data?.Profile) {
Toast.show({
type: "success",
text1: "Akun anda telah aktif kembali", // text2: "Anda berhasil login",
});
router.replace(`/(application)/(user)/home`);
} else {
Toast.show({
type: "success",
text1: "Akun anda telah aktif", // text2: "Anda berhasil login",
});
router.replace(`/(application)/(user)/profile/create`);
}
// router.replace(`/(application)/(user)/profile/create`);
} else {
Toast.show({
type: "error",
text1: "Akun anda belum aktif",
text2: "Silahkan hubungi admin",
});
}
} catch (error) {
console.log("Error check", error);
}
}
const logoutButton = () => {
return (
<>
<BoxButtonOnFooter>
<ButtonCustom
backgroundColor="red"
textColor="white"
iconLeft={
<Ionicons name="log-out" size={ICON_SIZE_BUTTON} color="white" />
}
onPress={() => {
AlertDefaultSystem({
title: "Keluar",
message: "Apakah anda yakin ingin keluar?",
textLeft: "Batal",
textRight: "Ya",
onPressRight: () => {
logout();
},
});
}}
>
Keluar
</ButtonCustom>
</BoxButtonOnFooter>
</>
);
};
return (
<>
<ViewWrapper footerComponent={logoutButton()}>
<StackCustom>
<InformationBox text="Permohonan akses Anda sedang dalam proses verifikasi oleh admin. Harap tunggu, Anda akan menerima pemberitahuan melalui Whatsapp setelah disetujui." />
<ButtonCenteredOnly
isLoading={isLoading}
onPress={() => {
handleCheck();
}}
icon="refresh-ccw"
>
Check
</ButtonCenteredOnly>
</StackCustom>
</ViewWrapper>
</>
);
}