diff --git a/components/form/sign-up.tsx b/components/form/sign-up.tsx index 60a3acc..e4544ed 100644 --- a/components/form/sign-up.tsx +++ b/components/form/sign-up.tsx @@ -63,6 +63,19 @@ export default function SignUp() { const [certNumber, setCertNumber] = useState(""); const [membershipType, setMembershipType] = useState(""); const [nrp, setNrp] = useState(""); + const [firstName, setFirstName] = useState(""); + const [lastName, setLastName] = useState(""); + const [whatsapp, setWhatsapp] = useState(""); + const [namaTenant, setNamaTenant] = useState(""); + const [tenantPassword, setTenantPassword] = useState(""); + const [confirmTenantPassword, setConfirmTenantPassword] = useState(""); + const [firstNameKontributor, setFirstNameKontributor] = useState(""); + const [lastNameKontributor, setLastNameKontributor] = useState(""); + const [whatsappKontributor, setWhatsappKontributor] = useState(""); + const [namaPerusahaan, setNamaPerusahaan] = useState(""); + const [kategoriPerusahaan, setKategoriPerusahaan] = useState(""); + const [kontributorPassword, setKontributorPassword] = useState(""); + const [confirmKontributorPassword, setConfirmKontributorPassword] = useState(""); const handleSendOtp = (e: React.FormEvent) => { e.preventDefault(); @@ -133,7 +146,7 @@ export default function SignUp() { {step === "login" ? (
{/* Radio Buttons */} Jurnalis
- - + +
- - + +
@@ -193,28 +206,219 @@ export default function SignUp() { )} - {/* Polri: NRP */} - {role === "polri" && ( -
+ {/* Kontributor: Form Fields */} + {role === "kontributor" && ( +
+
+ setFirstNameKontributor(e.target.value)} + /> + setLastNameKontributor(e.target.value)} + /> +
+ + setEmail(e.target.value)} + /> + + setWhatsappKontributor(e.target.value)} + /> + setNrp(e.target.value)} + placeholder="Nama Perusahaan" + value={namaPerusahaan} + onChange={(e) => setNamaPerusahaan(e.target.value)} /> + + + +
+ setKontributorPassword(e.target.value)} + className="pr-10" + /> + +
+ +
+ setConfirmKontributorPassword(e.target.value)} + className="pr-10" + /> + +
+
+ )} + + {/* Tenant: Form Fields */} + {role === "tenant" && ( +
+
+ setFirstName(e.target.value)} + /> + setLastName(e.target.value)} + /> +
+ + setEmail(e.target.value)} + /> + + setWhatsapp(e.target.value)} + /> + + setNamaTenant(e.target.value)} + /> + +
+ setTenantPassword(e.target.value)} + className="pr-10" + /> + +
+ +
+ setConfirmTenantPassword(e.target.value)} + className="pr-10" + /> + +
)} {/* 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); +}