+ {/* Kontributor: Form Fields */}
+ {role === "kontributor" && (
+
+ )}
+
+ {/* Tenant: Form Fields */}
+ {role === "tenant" && (
+
)}
{/* Email Field (Selalu Ada, tapi posisi bergantung role) */}
-
setEmail(e.target.value)}
- />
+ {role !== "tenant" && role !== "kontributor" && (
+
setEmail(e.target.value)}
+ />
+ )}
{/* Note */}
diff --git a/next.config.mjs b/next.config.mjs
index f841194..9b9d832 100644
--- a/next.config.mjs
+++ b/next.config.mjs
@@ -71,16 +71,10 @@
// export default bundleAnalyzer(withNextIntl(withNextra(nextConfig)));
import createNextIntlPlugin from "next-intl/plugin";
-import nextra from "nextra";
import withBundleAnalyzer from "@next/bundle-analyzer";
const withNextIntl = createNextIntlPlugin();
-const withNextra = nextra({
- theme: "nextra-theme-docs",
- themeConfig: "./theme.config.tsx", // cukup relative path
-});
-
const bundleAnalyzer = withBundleAnalyzer({
enabled: process.env.ANALYZE === "true",
});
@@ -108,4 +102,4 @@ const nextConfig = {
},
};
-export default bundleAnalyzer(withNextIntl(withNextra(nextConfig)));
+export default bundleAnalyzer(withNextIntl(nextConfig));
diff --git a/service/agenda-setting/agenda-setting.ts b/service/agenda-setting/agenda-setting.ts
new file mode 100644
index 0000000..9d79c1d
--- /dev/null
+++ b/service/agenda-setting/agenda-setting.ts
@@ -0,0 +1,99 @@
+import {
+ httpDeleteInterceptor,
+ httpGetInterceptor,
+ httpPostInterceptor,
+} from "../http-config/http-interceptor-service";
+
+export async function getAgendaSettingsById(id: any) {
+ const url = `agenda-settings?id=${id}`;
+ return httpGetInterceptor(url);
+}
+
+export async function getAgendaSettingsList(year = "", month = "", type = "") {
+ const url = `agenda-settings/list?year=${year}&month=${month}&type=${type}`;
+ return httpGetInterceptor(url);
+}
+
+export async function saveAgendaSettings(data: any) {
+ const url = `agenda-settings`;
+ return httpPostInterceptor(url, data);
+}
+
+export async function publishAgendaSettings(id: any) {
+ const url = `agenda-settings/publish?id=${id}`;
+ return httpPostInterceptor(url);
+}
+
+export async function getPlanningDailyByTypeId(
+ page: number,
+ size = 10,
+ parentId: any,
+ date: string,
+ typeId: number
+) {
+ const url = `planning/pagination/daily?enablePage=1&time=1&size=${size}&page=${page}&date=${date}&typeId=${typeId}${
+ parentId ? `&parentId=${parentId}` : ""
+ }`;
+ return httpGetInterceptor(url);
+}
+
+export async function getMonthlyPlanList(dates: any, typeId: number) {
+ const url = `planning/monthly/list?date=${dates}&typeId=${typeId}`;
+ return httpGetInterceptor(url);
+}
+
+export async function getWeeklyPlanList(
+ dates: number | undefined,
+ typeId: number,
+ isMonthly = false
+) {
+ const url = `planning/weekly/list?date=${dates}&typeId=${typeId}&isMonthly=${isMonthly}`;
+ return httpGetInterceptor(url);
+}
+
+export async function getWeeklyPlanListByParentId(id: string, typeId: number) {
+ const url = `planning/weekly/list?parentId=${id}&typeId=${typeId}`;
+ return httpGetInterceptor(url);
+}
+
+export async function getPlanningPagination(
+ page: number,
+ title = "",
+ size = 10,
+ typeId: number,
+ time: number,
+ parentId = ""
+) {
+ const url = `planning/pagination?enablePage=1&size=${size}&page=${page}&title=${title}&typeId=${typeId}&time=${time}&parentId=${parentId}`;
+ return httpGetInterceptor(url);
+}
+
+export async function savePlanning(data: any) {
+ const url = "planning";
+ return httpPostInterceptor(url, data);
+}
+
+export async function getPlanningMonthlyPerSocmed(
+ month = "",
+ year = "",
+ typeId: number,
+ parentId = ""
+) {
+ const url = `planning/socmed/monthly?month=${month}&year=${year}&typeId=${typeId}&parentId=${parentId}`;
+ return httpGetInterceptor(url);
+}
+
+export async function getPlanningDailyMedsosByPlatform(
+ page: string,
+ size = 10,
+ date: string,
+ platformTypeId: string
+) {
+ const url = `planning/pagination/daily?enablePage=1&size=${size}&page=${page}&date=${date}&typeId=2&platformTypeId=${platformTypeId}`;
+ return httpGetInterceptor(url);
+}
+
+export async function deleteAgendaSettings(id: any) {
+ const url = `agenda-settings?id=${id}`;
+ return httpDeleteInterceptor(url);
+}
diff --git a/service/media-tracking/media-tracking.ts b/service/media-tracking/media-tracking.ts
new file mode 100644
index 0000000..98d12a9
--- /dev/null
+++ b/service/media-tracking/media-tracking.ts
@@ -0,0 +1,48 @@
+import {
+ httpGetInterceptor,
+ httpPostInterceptor,
+} from "../http-config/http-interceptor-service";
+
+export async function getMediaTrackingMonitoring(page: number, size: number) {
+ const url = `cekmedsos/monitoring/pagination?page=${page}&size=${size}`;
+ return httpGetInterceptor(url);
+}
+
+export async function sendMediaUploadToEmail(data: any) {
+ const url = "media/public/share-to-email";
+ return httpPostInterceptor(url, data);
+}
+
+export async function mediaTrackingSave(data: any) {
+ const url = `/media/tracking/monitoring`;
+ return httpPostInterceptor(url, data);
+}
+
+export async function getMediaTracking(
+ page: any,
+ title: string = "",
+ size: any
+) {
+ return httpGetInterceptor(
+ `/media/tracking/monitoring/pagination?enablePagination=1&size=${size}&page=${page}&title=${title}`
+ );
+}
+
+export async function getMediaTrackingResult(data: any) {
+ const url = `/media/tracking/monitoring/results/pagination?trackingId=${
+ data.id || ""
+ }`;
+ return httpGetInterceptor(url);
+}
+
+export async function listDataTracking(size: any, page: any) {
+ return await httpGetInterceptor(
+ `media/public/list?enablePage=1&sort=desc&size=${size}&page=${page}`
+ );
+}
+
+export async function listDataAllNonPagination(search: string) {
+ return await httpGetInterceptor(
+ `media/public/list?enablePage=0&sort=desc&title=${search || ""}`
+ );
+}
diff --git a/service/planning/planning.ts b/service/planning/planning.ts
new file mode 100644
index 0000000..cbdcba2
--- /dev/null
+++ b/service/planning/planning.ts
@@ -0,0 +1,22 @@
+import { httpGetInterceptor, httpPostInterceptor } from "../http-config/http-interceptor-service";
+
+export async function getPlanningSentPagination(
+ size: number,
+ page: number,
+ typeId: number,
+ title: string = ""
+) {
+ return await httpGetInterceptor(
+ `planning/pagination/sent?enablePage=1&size=${size}&page=${page}&typeId=${typeId}&title=${title}`
+ );
+}
+
+export async function getPlanningById(id: any) {
+ const url = `planning?id=${id}`;
+ return httpGetInterceptor(url);
+}
+
+export async function publishPlanning(data: any) {
+ const url = "planning/publish";
+ return httpPostInterceptor(url, data);
+}