- {/* Card Wrapper */}
{data?.map((item: any) => (
{/* Image */}
-
+ {item.image_url ? (
+
+ ) : (
+
+ No Image
+
+ )}
{/* Status Badge */}
{item.title}
- {item.desc ?? "-"}
+ {item.description ?? "-"}
- {/* Date */}
{" "}
{new Date(item.created_at).toLocaleDateString("id-ID")}
- {/* Location (jika tidak ada, tampilkan strip) */}
+
{item.location ?? "-"}
@@ -188,6 +221,7 @@ export default function Galery() {
+
{showDetail && detailData && (
)}
+
{showEdit && editData && (
setShowEdit(false)}
data={editData}
- onUpdated={fetchData} // refresh setelah update
+ onUpdated={fetchData}
/>
)}
diff --git a/service/agent.ts b/service/agent.ts
index 3c555a1..38982d3 100644
--- a/service/agent.ts
+++ b/service/agent.ts
@@ -20,13 +20,17 @@ export async function getAgentById(id: any) {
}
export async function createAgent(data: any) {
- const pathUrl = `/sales-agents`;
- return await httpPostInterceptor(pathUrl, data);
+ const headers = {
+ "content-type": "multipart/form-data",
+ };
+ return await httpPostInterceptor(`/sales-agents`, data, headers);
}
export async function updateAgent(id: number, data: any) {
- const pathUrl = `/sales-agents/${id}`;
- return await httpPutInterceptor(pathUrl, data);
+ const headers = {
+ "content-type": "multipart/form-data",
+ };
+ return await httpPutInterceptor(`/sales-agents/${id}`, data, headers);
}
export async function deleteAgent(id: string) {
diff --git a/service/banner.ts b/service/banner.ts
index a7a8317..1fd88e8 100644
--- a/service/banner.ts
+++ b/service/banner.ts
@@ -32,10 +32,17 @@ export async function createBanner(data: any) {
}
export async function updateBanner(data: any, id: any) {
- const pathUrl = `/banners/${id}`;
- return await httpPutInterceptor(pathUrl, data);
+ const headers = {
+ "content-type": "multipart/form-data",
+ };
+ return await httpPutInterceptor(`/banners/${id}`, data, headers);
}
+// export async function updateBanner(data: any, id: any) {
+// const pathUrl = `/banners/${id}`;
+// return await httpPutInterceptor(pathUrl, data);
+// }
+
export async function deleteBanner(id: string) {
const headers = {
"content-type": "application/json",
diff --git a/service/galery.ts b/service/galery.ts
index 8bb23ff..66a2fb3 100644
--- a/service/galery.ts
+++ b/service/galery.ts
@@ -8,6 +8,11 @@ import {
import { httpGet } from "./http-config/http-base-services";
export async function getGaleryData(props: PaginationRequest) {
+ const { page, limit, search } = props;
+ return await httpGetInterceptor(`/galleries`);
+}
+
+export async function getGaleryFileData(props: PaginationRequest) {
const { page, limit, search } = props;
return await httpGetInterceptor(`/gallery-files`);
}
@@ -16,31 +21,45 @@ export async function getGaleryById(id: any) {
const headers = {
"content-type": "application/json",
};
- return await httpGet(`/gallery-files/${id}`, headers);
+ return await httpGet(`/galleries/${id}`, headers);
+}
+
+export async function getGaleryFileName(filename: any) {
+ const headers = {
+ "content-type": "application/json",
+ };
+ return await httpGet(`/gallery-files/viewer/${filename}`, headers);
}
export async function createGalery(data: any) {
- const headers = {
- "content-type": "multipart/form-data",
- };
- return await httpPostInterceptor(`/gallery-files`, data, headers);
+ const pathUrl = `/galleries`;
+ return await httpPostInterceptor(pathUrl, data);
}
export async function updateGalery(id: any, data: any) {
+ const headers = {
+ "content-type": "multipart/form-data",
+ };
+ return await httpPutInterceptor(`/galleries/${id}`, data, headers);
+}
+
+export async function updateUploadGaleryFile(id: any, data: any) {
const headers = {
"content-type": "multipart/form-data",
};
return await httpPutInterceptor(`/gallery-files/${id}`, data, headers);
}
-// export async function updateGalery(data: any, id: any) {
-// const pathUrl = `/gallery-files/${id}`;
-// return await httpPutInterceptor(pathUrl, data);
-// }
+export async function uploadGaleryFile(id: any, data: any) {
+ const headers = {
+ "content-type": "multipart/form-data",
+ };
+ return await httpPostInterceptor(`/gallery-files/`, data, headers);
+}
export async function deleteGalery(id: string) {
const headers = {
"content-type": "application/json",
};
- return await httpDeleteInterceptor(`gallery-files/${id}`, headers);
+ return await httpDeleteInterceptor(`galleries/${id}`, headers);
}