Layouts & Navigation - app/(application)/_layout.tsx - app/(application)/(user)/_layout.tsx - app/(application)/(user)/event/(tabs)/_layout.tsx - app/(application)/(user)/job/(tabs)/_layout.tsx - app/(application)/(user)/voting/(tabs)/_layout.tsx - app/(application)/(user)/portofolio/_layout.tsx - app/(application)/(user)/profile/_layout.tsx - app/(application)/admin/_layout.tsx - app/+not-found.tsx User – File - app/(application)/(file)/[id].tsx User – Collaboration - app/(application)/(user)/collaboration/[id]/index.tsx - app/(application)/(user)/collaboration/[id]/detail-project-main.tsx - app/(application)/(user)/collaboration/[id]/detail-participant.tsx - app/(application)/(user)/collaboration/[id]/[detail]/info.tsx - app/(application)/(user)/collaboration/[id]/[detail]/room-chat.tsx User – Donation - app/(application)/(user)/donation/[id]/index.tsx - app/(application)/(user)/donation/[id]/[status]/detail.tsx - app/(application)/(user)/donation/[id]/(news)/[news]/index.tsx User – Event - app/(application)/(user)/event/[id]/[status]/detail-event.tsx - app/(application)/(user)/event/[id]/confirmation.tsx - app/(application)/(user)/event/[id]/contribution.tsx - app/(application)/(user)/event/[id]/history.tsx - app/(application)/(user)/event/[id]/publish.tsx User – Investment - app/(application)/(user)/investment/[id]/index.tsx - app/(application)/(user)/investment/[id]/[status]/detail.tsx - app/(application)/(user)/investment/[id]/(my-holding)/[id].tsx - app/(application)/(user)/investment/[id]/(news)/[news]/index.tsx User – Job - app/(application)/(user)/job/[id]/[status]/detail.tsx User – Portofolio - app/(application)/(user)/portofolio/[id]/index.tsx User – Profile - app/(application)/(user)/profile/[id]/index.tsx User – Voting - app/(application)/(user)/voting/[id]/index.tsx - app/(application)/(user)/voting/[id]/[status]/detail.tsx - app/(application)/(user)/voting/[id]/contribution.tsx - app/(application)/(user)/voting/[id]/history.tsx Components - components/Button/BackButtonFromNotification.tsx - components/_ShareComponent/AppHeader.tsx Admin Screens - screens/Admin/Notification-Admin/ScreenNotificationAdmin.tsx - screens/Admin/Notification-Admin/ScreenNotificationAdmin2.tsx Screens – Donation - screens/Donation/ScreenListOfNews.tsx - screens/Donation/ScreenRecapOfNews.tsx Screens – Forum - screens/Forum/ViewBeranda.tsx - screens/Forum/ViewBeranda2.tsx - screens/Forum/ViewBeranda3.tsx Screens – Investment - screens/Invesment/Document/ScreenRecapOfDocument.tsx - screens/Invesment/News/ScreenListOfNews.tsx - screens/Invesment/News/ScreenRecapOfNews.tsx Screens – Notification - screens/Notification/ScreenNotification_V1.tsx - screens/Notification/ScreenNotification_V2.tsx iOS - ios/HIPMIBadungConnect.xcodeproj/project.pbxproj Docs - QWEN.md ### Issue: Tabs can't clicked
103 lines
2.6 KiB
TypeScript
103 lines
2.6 KiB
TypeScript
/* eslint-disable react-hooks/exhaustive-deps */
|
|
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
import {
|
|
AvatarUsernameAndOtherComponent,
|
|
BackButton,
|
|
BaseBox,
|
|
BoxWithHeaderSection,
|
|
Grid,
|
|
StackCustom,
|
|
TextCustom,
|
|
ViewWrapper,
|
|
} from "@/components";
|
|
import AppHeader from "@/components/_ShareComponent/AppHeader";
|
|
import { apiCollaborationGroup } from "@/service/api-client/api-collaboration";
|
|
import { Stack, useFocusEffect, useLocalSearchParams } from "expo-router";
|
|
import { useState, useCallback } from "react";
|
|
|
|
export default function CollaborationRoomInfo() {
|
|
const { id, detail } = useLocalSearchParams();
|
|
const [data, setData] = useState<any>();
|
|
|
|
useFocusEffect(
|
|
useCallback(() => {
|
|
onLoadData();
|
|
}, [id])
|
|
);
|
|
|
|
const onLoadData = async () => {
|
|
try {
|
|
const response = await apiCollaborationGroup({ id: id as string });
|
|
|
|
if (response.success) {
|
|
setData(response.data);
|
|
}
|
|
} catch (error) {
|
|
console.log("[ERROR]", error);
|
|
}
|
|
};
|
|
|
|
return (
|
|
<>
|
|
<Stack.Screen
|
|
options={{
|
|
header: () => <AppHeader title="Info" left={<BackButton />} />,
|
|
}}
|
|
/>
|
|
|
|
<ViewWrapper>
|
|
<BoxWithHeaderSection>
|
|
<StackCustom>
|
|
{listData({ data }).map((item, index) => (
|
|
<Grid key={index}>
|
|
<Grid.Col span={4}>
|
|
<TextCustom bold>{item.title}</TextCustom>
|
|
</Grid.Col>
|
|
<Grid.Col span={8}>
|
|
<TextCustom>{item.value}</TextCustom>
|
|
</Grid.Col>
|
|
</Grid>
|
|
))}
|
|
</StackCustom>
|
|
</BoxWithHeaderSection>
|
|
|
|
<BaseBox>
|
|
<StackCustom gap={10}>
|
|
{data?.ProjectCollaboration_AnggotaRoomChat?.map(
|
|
(item: any, index: number) => (
|
|
<AvatarUsernameAndOtherComponent
|
|
key={index}
|
|
avatarHref={`/profile/${item?.User?.Profile?.id}`}
|
|
name={item?.User?.username}
|
|
avatar={item?.User?.Profile?.imageId}
|
|
/>
|
|
)
|
|
)}
|
|
</StackCustom>
|
|
</BaseBox>
|
|
</ViewWrapper>
|
|
</>
|
|
);
|
|
}
|
|
|
|
const listData = ({ data }: { data: any }) => [
|
|
{
|
|
title: "Judul Proyek",
|
|
value: data?.ProjectCollaboration?.title || "-",
|
|
},
|
|
{
|
|
title: "Industri",
|
|
value:
|
|
data?.ProjectCollaboration?.ProjectCollaborationMaster_Industri?.name ||
|
|
"-",
|
|
},
|
|
{
|
|
title: "Tujuan Proyek",
|
|
value: data?.ProjectCollaboration?.purpose || "-",
|
|
},
|
|
{
|
|
title: "Keuntungan Proyek",
|
|
value: data?.ProjectCollaboration?.benefit || "-",
|
|
},
|
|
];
|