fix portofolio map

This commit is contained in:
2025-02-13 14:43:56 +08:00
parent 542e36345d
commit f9e72a51bb
3 changed files with 48 additions and 36 deletions

View File

@@ -3,38 +3,50 @@ import _ from "lodash";
import { NextResponse } from "next/server"; import { NextResponse } from "next/server";
export const dynamic = "force-dynamic"; export const dynamic = "force-dynamic";
// GET ALL DATA MAP // GET ALL DATA MAP
export async function GET(request: Request) { export async function GET(request: Request) {
try { try {
const data = await prisma.businessMaps.findMany({ const data = await prisma.businessMaps.findMany({
where: { where: {
isActive: true, isActive: true,
}, Portofolio: {
select: { NOT: {
id: true, logoId: null,
namePin: true, },
latitude: true, },
longitude: true, },
pinId: true, select: {
Portofolio: { id: true,
select: { namePin: true,
logoId: true, latitude: true,
} longitude: true,
} pinId: true,
} Portofolio: {
}); select: {
logoId: true,
},
},
},
});
const dataFix = data.map((v: any) => ({ const dataFix = data.map((v: any) => ({
..._.omit(v, ["Portofolio"]), ..._.omit(v, ["Portofolio"]),
logoId: v.Portofolio.logoId logoId: v.Portofolio.logoId,
})) }));
return NextResponse.json({ success: true, message: "Berhasil mendapatkan data", data: dataFix }, { status: 200 }); return NextResponse.json(
{ success: true, message: "Berhasil mendapatkan data", data: dataFix },
} { status: 200 }
catch (error) { );
console.error(error); } catch (error) {
return NextResponse.json({ success: false, message: "Gagal mendapatkan data, coba lagi nanti ", reason: (error as Error).message, }, { status: 500 }); console.error(error);
} return NextResponse.json(
} {
success: false,
message: "Gagal mendapatkan data, coba lagi nanti ",
reason: (error as Error).message,
},
{ status: 500 }
);
}
}

View File

@@ -35,10 +35,10 @@ export function ComponentMap_DetailData({
const [openModal, setOpenModal] = useState(false); const [openModal, setOpenModal] = useState(false);
useShallowEffect(() => { useShallowEffect(() => {
onLoadData(setData, setDataUser); onLoadData();
}, [setData, setDataUser]); }, []);
async function onLoadData(setData: any, setDataUser: any) { async function onLoadData() {
const res: any = await map_funGetOneById({ mapId: mapId }); const res: any = await map_funGetOneById({ mapId: mapId });
setData(res); setData(res);
setDataUser(res.Author); setDataUser(res.Author);

View File

@@ -1,7 +1,7 @@
"use client"; "use client";
import { APIs } from "@/lib";
import { AccentColor } from "@/app_modules/_global/color/color_pallet"; import { AccentColor } from "@/app_modules/_global/color/color_pallet";
import ComponentGlobal_IsEmptyData from "@/app_modules/_global/component/is_empty_data"; import ComponentGlobal_IsEmptyData from "@/app_modules/_global/component/is_empty_data";
import { APIs } from "@/lib";
import { Avatar, Loader, Stack } from "@mantine/core"; import { Avatar, Loader, Stack } from "@mantine/core";
import { useShallowEffect } from "@mantine/hooks"; import { useShallowEffect } from "@mantine/hooks";
import "mapbox-gl/dist/mapbox-gl.css"; import "mapbox-gl/dist/mapbox-gl.css";
@@ -64,7 +64,7 @@ export function UiMap_MapBoxViewNew({ mapboxToken, }: { mapboxToken: string }) {
}} }}
attributionControl={false} attributionControl={false}
> >
{data.map((e, i) => ( {data?.map((e, i) => (
<Stack key={i}> <Stack key={i}>
<Marker <Marker
style={{ style={{