Integrasi Map Business

Add:
 components/Map/MapSelected.tsx
        components/_ShareComponent/GridTwoView.tsx
        service/api-client/api-maps.ts
utils/openInDeviceMaps.ts

Fix:
 modified:   app/(application)/(user)/maps/[id]/edit.tsx
        modified:   app/(application)/(user)/maps/create.tsx
        modified:   app/(application)/(user)/maps/index.tsx
        modified:   app/(application)/(user)/portofolio/[id]/index.tsx
        modified:   components/Map/MapCustom.tsx
        modified:   screens/Portofolio/BusinessLocationSection.tsx
        modified:   screens/Portofolio/DataPortofolio.tsx
        modified:   screens/Portofolio/ListPage.tsx

### No issue
This commit is contained in:
2025-10-13 17:46:47 +08:00
parent 0e7b29bb15
commit f750d158be
12 changed files with 907 additions and 77 deletions

View File

@@ -1,12 +1,45 @@
import { BaseBox, MapCustom, StackCustom, TextCustom } from "@/components";
import {
BaseBox,
MapCustom,
StackCustom,
TextCustom
} from "@/components";
export default function Portofolio_BusinessLocation() {
export default function Portofolio_BusinessLocation({
data,
imageId,
setOpenDrawerLocation,
}: {
data: any;
imageId?: string;
setOpenDrawerLocation: (value: boolean) => void;
}) {
return (
<>
<BaseBox>
<BaseBox style={{ height: !data ? 200 : "auto" }}>
<StackCustom>
<TextCustom bold>Lokasi Bisnis</TextCustom>
<MapCustom />
{!data ? (
<TextCustom
style={{ paddingTop: 50 }}
align="center"
color="gray"
size={"small"}
bold
>
Lokasi bisnis belum ditambahkan
</TextCustom>
) : (
<MapCustom
latitude={data?.latitude}
longitude={data?.longitude}
namePin={data?.namePin}
imageId={imageId}
onPress={() => {
setOpenDrawerLocation(true);
}}
/>
)}
</StackCustom>
</BaseBox>
</>

View File

@@ -41,7 +41,11 @@ export default function Portofolio_Data({
},
{
icon: (
<Ionicons name="home-outline" size={ICON_SIZE_SMALL} color="white" />
<Ionicons
name="location-outline"
size={ICON_SIZE_SMALL}
color="white"
/>
),
label: data && data?.alamatKantor ? data.alamatKantor : "-",
},
@@ -89,8 +93,6 @@ export default function Portofolio_Data({
// },
// ];
// console.log("List Sub Bidang >>", JSON.stringify(listSubBidang, null, 2));
return (
<>
<BaseBox>

View File

@@ -1,9 +1,19 @@
import { IMenuDrawerItem } from "@/components/_Interface/types";
import { AccentColor } from "@/constants/color-palet";
import { ICON_SIZE_MEDIUM } from "@/constants/constans-value";
import { Ionicons, FontAwesome5, FontAwesome, Fontisto } from "@expo/vector-icons";
import {
FontAwesome,
Fontisto,
Ionicons
} from "@expo/vector-icons";
export const drawerItemsPortofolio = ({ id }: { id: string }): IMenuDrawerItem[] => [
export const drawerItemsPortofolio = ({
id,
maps,
}: {
id: string;
maps: any;
}): IMenuDrawerItem[] => [
{
icon: (
<Ionicons
@@ -45,18 +55,20 @@ export const drawerItemsPortofolio = ({ id }: { id: string }): IMenuDrawerItem[]
color={AccentColor.white}
/>
),
label: "Edit Map",
path: `/(application)/maps/${id}/edit`,
},
{
icon: (
<FontAwesome5
name="map-pin"
size={ICON_SIZE_MEDIUM}
color={AccentColor.white}
/>
),
label: "Custom Pin Map",
path: `/(application)/maps/${id}/custom-pin`,
label: `${!maps ? "Tambah" : "Edit"} Map`,
path: !maps
? `/(application)/maps/create?id=${id}`
: `/(application)/maps/${maps?.id}/edit`,
},
// {
// icon: (
// <FontAwesome5
// name="map-pin"
// size={ICON_SIZE_MEDIUM}
// color={AccentColor.white}
// />
// ),
// label: "Custom Pin Map",
// path: `/(application)/maps/${id}/custom-pin`,
// },
];