fix api edit logo

This commit is contained in:
2025-02-12 17:32:42 +08:00
parent 94a1ccd6d7
commit 4d8e39c318
5 changed files with 52 additions and 49 deletions

View File

@@ -1,21 +1,6 @@
import { Portofolio_EditDataBisnis } from "@/app_modules/katalog/portofolio"; import { Portofolio_EditDataBisnis } from "@/app_modules/katalog/portofolio";
import { portofolio_getOneById } from "@/app_modules/katalog/portofolio/fun/get/get_one_portofolio";
import { Portofolio_getMasterBidangBisnis } from "@/app_modules/katalog/portofolio/fun/master/get_bidang_bisnis";
import _ from "lodash";
export default async function Page({ params }: { params: { id: string } }) {
let portoId = params.id;
const data = await portofolio_getOneById(portoId);
const dataPorto = _.omit(data, [
"Logo",
"Portofolio_MediaSosial",
"Portofolio_MediaSosial",
"logoId",
"profileId",
]);
const listBidang = await Portofolio_getMasterBidangBisnis()
export default async function Page() {
return ( return (
<> <>
<Portofolio_EditDataBisnis /> <Portofolio_EditDataBisnis />

View File

@@ -2,26 +2,11 @@ import { Portofolio_EditLogoBisnis } from "@/app_modules/katalog/portofolio";
import { portofolio_getOneById } from "@/app_modules/katalog/portofolio/fun/get/get_one_portofolio"; import { portofolio_getOneById } from "@/app_modules/katalog/portofolio/fun/get/get_one_portofolio";
import _ from "lodash"; import _ from "lodash";
export default async function Page({ params }: { params: { id: string } }) { export default async function Page() {
let portoId = params.id;
const dataPorto = await portofolio_getOneById(portoId).then((res) =>
_.omit(res, [
"Logo",
"MasterBidangBisnis",
"Portofolio_MediaSosial",
"active",
"alamatKantor",
"deskripsi",
"masterBidangBisnisId",
"profileId",
"tlpn",
"namaBisnis"
])
);
return ( return (
<> <>
<Portofolio_EditLogoBisnis dataPorto={dataPorto as any} /> <Portofolio_EditLogoBisnis />
</> </>
); );
} }

View File

@@ -76,8 +76,6 @@ export function ComponentPortofolio_ButtonEditLogoBisnis({
return ( return (
<> <>
<Box <Box
p={"xs"}
bg={"red"}
style={{ style={{
display: "flex", display: "flex",
justifyContent: "center", justifyContent: "center",
@@ -93,7 +91,7 @@ export function ComponentPortofolio_ButtonEditLogoBisnis({
color="yellow" color="yellow"
c={"black"} c={"black"}
style={{ style={{
width: "100%", width: "90%",
transition: "0.5s", transition: "0.5s",
position: "absolute", position: "absolute",
bottom: 20, bottom: 20,

View File

@@ -1,7 +1,7 @@
import CustomSkeleton from "@/app_modules/components/CustomSkeleton"; import CustomSkeleton from "@/app_modules/components/CustomSkeleton";
import { Stack } from "@mantine/core"; import { Stack } from "@mantine/core";
export { Portofolio_SkeletonEditDataBisnis }; export { Portofolio_SkeletonEditDataBisnis, Portofolio_SkeletonEditLogoBisnis };
function Portofolio_SkeletonEditDataBisnis() { function Portofolio_SkeletonEditDataBisnis() {
return ( return (
@@ -16,3 +16,13 @@ function Portofolio_SkeletonEditDataBisnis() {
</> </>
); );
} }
function Portofolio_SkeletonEditLogoBisnis() {
return (
<>
<Stack spacing={"xl"} px={"sm"}>
<CustomSkeleton height={250} width={"100%"} />
</Stack>
</>
);
}

View File

@@ -1,24 +1,49 @@
"use client"; "use client";
import { import { AccentColor } from "@/app_modules/_global/color/color_pallet";
AccentColor
} from "@/app_modules/_global/color/color_pallet";
import { import {
ComponentGlobal_ButtonUploadFileImage, ComponentGlobal_ButtonUploadFileImage,
ComponentGlobal_LoadImage, ComponentGlobal_LoadImage,
} from "@/app_modules/_global/component"; } from "@/app_modules/_global/component";
import { Center, Image, Paper, Stack } from "@mantine/core"; import { clientLogger } from "@/util/clientLogger";
import { Box, Center, Image, Paper, Stack } from "@mantine/core";
import { useShallowEffect } from "@mantine/hooks";
import { useParams } from "next/navigation";
import { useState } from "react"; import { useState } from "react";
import { ComponentPortofolio_ButtonEditLogoBisnis } from "../../component"; import { ComponentPortofolio_ButtonEditLogoBisnis } from "../../component";
import { apiGetPortofolioById } from "../../component/api_fetch_portofolio";
import { MODEL_PORTOFOLIO } from "../../model/interface"; import { MODEL_PORTOFOLIO } from "../../model/interface";
import CustomSkeleton from "@/app_modules/components/CustomSkeleton";
import { Portofolio_SkeletonEditLogoBisnis } from "../../component/skeleton_view";
export default function Portofolio_EditLogoBisnis({ export default function Portofolio_EditLogoBisnis() {
dataPorto, const params = useParams<{ id: string }>();
}: { const portofolioId = params.id;
dataPorto: MODEL_PORTOFOLIO;
}) {
const [file, setFile] = useState<File | null>(null); const [file, setFile] = useState<File | null>(null);
const [img, setImg] = useState<any | null>(null); const [img, setImg] = useState<any | null>(null);
const [data, setData] = useState<MODEL_PORTOFOLIO | null>(null);
useShallowEffect(() => {
onLoadData();
}, []);
const onLoadData = async () => {
try {
const respone = await apiGetPortofolioById({
id: portofolioId,
});
if (respone.success) {
setData(respone.data);
} else {
setData(null);
}
} catch (error) {
clientLogger.error("Error get data portofolio", error);
}
};
if (!data) return <Portofolio_SkeletonEditLogoBisnis />;
return ( return (
<> <>
@@ -37,7 +62,7 @@ export default function Portofolio_EditLogoBisnis({
{img ? ( {img ? (
<Image maw={250} alt="Image" src={img} /> <Image maw={250} alt="Image" src={img} />
) : ( ) : (
<ComponentGlobal_LoadImage fileId={dataPorto.logoId} /> <ComponentGlobal_LoadImage fileId={data.logoId} />
)} )}
</Paper> </Paper>
<Center> <Center>
@@ -49,8 +74,8 @@ export default function Portofolio_EditLogoBisnis({
</Stack> </Stack>
<ComponentPortofolio_ButtonEditLogoBisnis <ComponentPortofolio_ButtonEditLogoBisnis
file={file as any} file={file as any}
portofolioId={dataPorto.id} portofolioId={data.id}
fileRemoveId={dataPorto.logoId} fileRemoveId={data.logoId}
/> />
</Stack> </Stack>
</> </>