diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index cfccddeb..3d65ad77 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -19,7 +19,7 @@ build-prod: - echo "Username:$DEPLOY_USERNAME" - echo "Token:$DEPLOY_TOKEN" - echo "$DEPLOY_TOKEN" | docker login 103.82.242.92:8900 --username "$DEPLOY_USERNAME" --password-stdin - - docker build -t 103.82.242.92:8900/mediahub/new-mediahub-fe:prod . + - docker build --no-cache -t 103.82.242.92:8900/mediahub/new-mediahub-fe:prod . - docker push 103.82.242.92:8900/mediahub/new-mediahub-fe:prod auto-deploy: diff --git a/Dockerfile b/Dockerfile index 8daffc34..8f16e67b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -25,7 +25,8 @@ RUN pnpm install COPY . . # Build aplikasi -RUN NODE_OPTIONS="--max-old-space-size=4096" pnpm run build +# RUN NODE_OPTIONS="--max-old-space-size=4096" +RUN pnpm run build # Expose port untuk server EXPOSE 3000 diff --git a/app/[locale]/(protected)/admin/broadcast/campaign-list/account-list/create/page.tsx b/app/[locale]/(protected)/admin/broadcast/campaign-list/account-list/create/page.tsx index 347de40b..f93da867 100644 --- a/app/[locale]/(protected)/admin/broadcast/campaign-list/account-list/create/page.tsx +++ b/app/[locale]/(protected)/admin/broadcast/campaign-list/account-list/create/page.tsx @@ -171,11 +171,11 @@ export default function CreateAccountForBroadcast() { {/* WA */}
checked - ? field.onChange([...field.value, "wa"]) - : field.onChange(field.value.filter((v) => v !== "wa")) + ? field.onChange([...(field.value ?? []), "wa"]) + : field.onChange((field.value ?? []).filter((v) => v !== "wa")) } /> @@ -184,12 +184,12 @@ export default function CreateAccountForBroadcast() { {/* EMAIL */}
checked - ? field.onChange([...field.value, "email"]) + ? field.onChange([...(field.value ?? []), "email"]) : field.onChange( - field.value.filter((v) => v !== "email") + (field.value ?? []).filter((v) => v !== "email") ) } /> @@ -202,7 +202,7 @@ export default function CreateAccountForBroadcast() { /> {/* FORM WHATSAPP */} - {selectedTypes.includes("wa") && ( + {selectedTypes?.includes("wa") && ( -

PERFORMANCE KUMULATIF PER POLRES

+ {/*

PERFORMANCE KUMULATIF PER POLRES

*/}
); diff --git a/app/[locale]/(protected)/admin/performance-satker/page.tsx b/app/[locale]/(protected)/admin/performance-satker/page.tsx index 1296113c..fe4deddf 100644 --- a/app/[locale]/(protected)/admin/performance-satker/page.tsx +++ b/app/[locale]/(protected)/admin/performance-satker/page.tsx @@ -6,7 +6,6 @@ export default function PerformanceSatker() { return (
-

PERFORMANCE KUMULATIF PER SATKER

); diff --git a/app/[locale]/(protected)/admin/settings/category/component/create.tsx b/app/[locale]/(protected)/admin/settings/category/component/create.tsx index d362daa1..ae6b741c 100644 --- a/app/[locale]/(protected)/admin/settings/category/component/create.tsx +++ b/app/[locale]/(protected)/admin/settings/category/component/create.tsx @@ -300,11 +300,11 @@ export default function CreateCategoryModal() { onCheckedChange={(checked) => { return checked ? field.onChange([ - ...field.value, + ...(field.value ?? []), item.id, ]) : field.onChange( - field.value?.filter( + (field.value ?? []).filter( (value) => value !== item.id ) ); @@ -371,11 +371,11 @@ export default function CreateCategoryModal() { onCheckedChange={(checked) => { return checked ? field.onChange([ - ...field.value, + ...(field.value ?? []), item.id, ]) : field.onChange( - field.value?.filter( + (field.value ?? []).filter( (value) => value !== item.id ) ); @@ -443,11 +443,11 @@ export default function CreateCategoryModal() { onCheckedChange={(checked) => { return checked ? field.onChange([ - ...field.value, + ...(field.value ?? []), item.id, ]) : field.onChange( - field.value?.filter( + (field.value ?? []).filter( (value) => value !== item.id ) ); diff --git a/app/[locale]/(protected)/admin/settings/category/component/edit.tsx b/app/[locale]/(protected)/admin/settings/category/component/edit.tsx index d83a9ba6..89d79151 100644 --- a/app/[locale]/(protected)/admin/settings/category/component/edit.tsx +++ b/app/[locale]/(protected)/admin/settings/category/component/edit.tsx @@ -326,11 +326,11 @@ export default function EditCategoryModal(props: { onCheckedChange={(checked) => { return checked ? field.onChange([ - ...field.value, + ...(field.value ?? []), item.id, ]) : field.onChange( - field.value?.filter( + (field.value ?? []).filter( (value) => value !== item.id ) ); @@ -398,11 +398,11 @@ export default function EditCategoryModal(props: { onCheckedChange={(checked) => { return checked ? field.onChange([ - ...field.value, + ...(field.value ?? []), item.id, ]) : field.onChange( - field.value?.filter( + (field.value ?? []).filter( (value) => value !== item.id ) ); @@ -473,11 +473,11 @@ export default function EditCategoryModal(props: { onCheckedChange={(checked) => { return checked ? field.onChange([ - ...field.value, + ...(field.value ?? []), item.id, ]) : field.onChange( - field.value?.filter( + (field.value ?? []).filter( (value) => value !== item.id ) ); diff --git a/app/[locale]/(protected)/admin/settings/category/component/unit-mapping.tsx b/app/[locale]/(protected)/admin/settings/category/component/unit-mapping.tsx index 109583ed..34509901 100644 --- a/app/[locale]/(protected)/admin/settings/category/component/unit-mapping.tsx +++ b/app/[locale]/(protected)/admin/settings/category/component/unit-mapping.tsx @@ -150,11 +150,11 @@ export function UnitMapping(props: { onCheckedChange={(checked) => { return checked ? field.onChange([ - ...field.value, + ...(field.value ?? []), String(item.id), ]) : field.onChange( - field.value?.filter( + (field.value ?? []).filter( (value) => value !== String(item.id) ) ); @@ -223,11 +223,11 @@ export function UnitMapping(props: { onCheckedChange={(checked) => { return checked ? field.onChange([ - ...field.value, + ...(field.value ?? []), String(item.id), ]) : field.onChange( - field.value?.filter( + (field.value ?? []).filter( (value) => value !== String(item.id) ) ); diff --git a/app/[locale]/(protected)/admin/settings/setting-tracking/component/detail.tsx b/app/[locale]/(protected)/admin/settings/setting-tracking/component/detail.tsx index 83fdd0dc..882ba90b 100644 --- a/app/[locale]/(protected)/admin/settings/setting-tracking/component/detail.tsx +++ b/app/[locale]/(protected)/admin/settings/setting-tracking/component/detail.tsx @@ -98,11 +98,11 @@ export default function DetailSettingTracking(props: { {wilayahList.map((item) => (
{ const updated = checked - ? [...field.value, item.id] - : field.value.filter((val) => val !== item.id); + ? [...(field.value ?? []), item.id] + : (field.value ?? []).filter((val) => val !== item.id); field.onChange(updated); }} /> @@ -124,11 +124,11 @@ export default function DetailSettingTracking(props: { {jumlahList.map((num) => (
{ const updated = checked - ? [...field.value, num] - : field.value.filter((val) => val !== num); + ? [...(field.value ?? []), num] + : (field.value ?? []).filter((val) => val !== num); field.onChange(updated); }} /> diff --git a/app/[locale]/(protected)/admin/settings/setting-tracking/component/update.tsx b/app/[locale]/(protected)/admin/settings/setting-tracking/component/update.tsx index 0e77a95c..2c2039e9 100644 --- a/app/[locale]/(protected)/admin/settings/setting-tracking/component/update.tsx +++ b/app/[locale]/(protected)/admin/settings/setting-tracking/component/update.tsx @@ -98,11 +98,11 @@ export default function UpdateSettingTracking(props: { {wilayahList.map((item) => (
{ const updated = checked - ? [...field.value, item.id] - : field.value.filter((val) => val !== item.id); + ? [...(field.value ?? []), item.id] + : (field.value ?? []).filter((val) => val !== item.id); field.onChange(updated); }} /> @@ -124,11 +124,11 @@ export default function UpdateSettingTracking(props: { {jumlahList.map((num) => (
{ const updated = checked - ? [...field.value, num] - : field.value.filter((val) => val !== num); + ? [...(field.value ?? []), num] + : (field.value ?? []).filter((val) => val !== num); field.onChange(updated); }} /> diff --git a/app/[locale]/(protected)/contributor/report/components/columns.tsx b/app/[locale]/(protected)/contributor/report/components/columns.tsx index e8eea1f5..f205483a 100644 --- a/app/[locale]/(protected)/contributor/report/components/columns.tsx +++ b/app/[locale]/(protected)/contributor/report/components/columns.tsx @@ -73,7 +73,22 @@ const useTableColumns = ({ { accessorKey: "status", header: t("status", { defaultValue: "Status" }), - cell: ({ row }) => {row.getValue("status")}, + cell: ({ row }) => { + const version = Number(row.original.version); // pastikan number + + const isProcess = version === 0; + const status = isProcess ? "Proses" : "Selesai"; + + return ( + + {status} + + ); + }, }, { @@ -131,7 +146,9 @@ const useTableColumns = ({ const response = await downloadReport(id); console.log(response?.data); - const url = window.URL.createObjectURL(new Blob([response?.data], { type : "application/pdf"})); + const url = window.URL.createObjectURL( + new Blob([response?.data], { type: "application/pdf" }) + ); const link = document.createElement("a"); link.href = url; link.setAttribute("download", `report-${id}.pdf`); diff --git a/app/[locale]/(protected)/dashboard/executive-data/page.tsx b/app/[locale]/(protected)/dashboard/executive-data/page.tsx index 53f6672c..a226f5f6 100644 --- a/app/[locale]/(protected)/dashboard/executive-data/page.tsx +++ b/app/[locale]/(protected)/dashboard/executive-data/page.tsx @@ -32,7 +32,7 @@ export default function ExecutiveDataDashboard() { const baseUrl = "https://db-mediahub.polri.go.id/"; const url = "https://db-mediahub.polri.go.id/trusted/"; - const safeLevelName = levelNumber ?? ""; + const safeLevelName = levelName ?? ""; // const view1 = // levelName == "MABES POLRI" @@ -53,7 +53,7 @@ export default function ExecutiveDataDashboard() { : levelNumber === "2" ? `views/2025_10_MediaHUB-Viz-POLDA_Rev200/db-by-polda-publish-konten?provinsi-polda=${provState}&` : levelNumber === "3" - ? `views/2025_10_MediaHUB-Viz-POLDA_Rev200/db-satker?provinsi-polda=${provState}&` + ? `views/2025_10_MediaHUB-Viz-POLDA_Rev200/db-satker?satker-selected=${state}&` : ""; const view2 = @@ -83,7 +83,7 @@ export default function ExecutiveDataDashboard() { : levelNumber === "2" ? `views/2025_10_MediaHUB-Viz-POLDA_Rev200/db-by-polda-cat?provinsi-polda=${provState}&` : levelNumber === "3" - ? `views/2025_10_MediaHUB-Viz-POLDA_Rev200/db-satker-kategori?provinsi-polda=${provState}&` + ? `views/2025_10_MediaHUB-Viz-POLDA_Rev200/db-satker-kategori?satker-selected=${state}&` : ""; const view4 = @@ -110,7 +110,7 @@ export default function ExecutiveDataDashboard() { : levelNumber === "2" ? `views/2025_10_MediaHUB-Viz-POLDA_Rev200/db-published-produksi-executive?provinsi-polda=${provState}&` : levelNumber === "3" - ? `views/2025_10_MediaHUB-Viz-POLDA_Rev200/db-top-satker?provinsi-polda=${provState}&` + ? `views/2025_10_MediaHUB-Viz-POLDA_Rev200/db-top-satker?satker-selected=${state}&` : ""; // const view6 = @@ -128,7 +128,7 @@ export default function ExecutiveDataDashboard() { : levelNumber === "2" ? `views/2025_10_MediaHUB-Viz-POLDA_Rev200/db-heatmap-polda?provinsi-polda=${provState}&` : levelNumber === "3" - ? `views/2025_10_MediaHUB-Viz-POLDA_Rev200/db-hm-satker?provinsi-polda=${provState}&` + ? `views/2025_10_MediaHUB-Viz-POLDA_Rev200/db-hm-satker?satker-selected=${state}&` : ""; // const view7 = diff --git a/app/[locale]/(protected)/dashboard/executive/page.tsx b/app/[locale]/(protected)/dashboard/executive/page.tsx index 98a01de4..b5b30240 100644 --- a/app/[locale]/(protected)/dashboard/executive/page.tsx +++ b/app/[locale]/(protected)/dashboard/executive/page.tsx @@ -40,7 +40,7 @@ export default function ExecutiveDashboard() { const baseUrl = "https://db-mediahub.polri.go.id/"; const url = "https://db-mediahub.polri.go.id/trusted/"; - const safeLevelName = levelNumber ?? ""; + const safeLevelName = levelName ?? ""; const view1 = levelName == "MABES POLRI" @@ -62,7 +62,7 @@ export default function ExecutiveDashboard() { ? // `views/2023_04_MediaHUB-Viz-POLDA_Rev200/db-published-produksi-polda-executive?polda-selected=${state}&` `views/2025_10_MediaHUB-Viz-POLDA_Rev200/db-published-produksi-executive?provinsi-polda=${provState}&` : // `views/2023_04_MediaHUB-Viz-POLDA_Rev200/db-published-produksi-polda-executive?polda-selected=${state}&`; - `views/2025_10_MediaHUB-Viz-POLDA_Rev200/db-published-produksi-executive?provinsi-polda=${provState}&`; + `views/2025_10_MediaHUB-Viz-POLDA_Rev200/db-top-satker?satker-selected=${state}&`; const view3 = levelName == "MABES POLRI" @@ -75,7 +75,7 @@ export default function ExecutiveDashboard() { ? // `views/2023_04_MediaHUB-Viz-POLDA_Rev200/db-waktu-akses-pengguna-polda-executive?polda-selected=${state}&` `views/2025_10_MediaHUB-Viz-POLDA_Rev200/db-waktu-akses-pengguna-executive?provinsi-polda=${provState}` : // `views/2023_04_MediaHUB-Viz-POLDA_Rev200/db-waktu-akses-pengguna-polda-executive?polda-selected=${state}&`; - `views/2025_10_MediaHUB-Viz-POLDA_Rev200/db-waktu-akses-pengguna-executive?provinsi-polda=${provState}`; + `views/2025_10_MediaHUB-Viz-POLDA_Rev200/db-hm-satker?satker-selected=${state}`; const view4 = levelName == "MABES POLRI" @@ -86,9 +86,9 @@ export default function ExecutiveDashboard() { "views/2025_10_MediaHUB-Viz-POLDA_Rev200/db-konten-header?" : safeLevelName.includes("POLDA") ? // `views/2023_04_MediaHUB-Viz-POLDA_Rev200/db-content-interaction-polda?polda-selected=${state}&` - `/views/2025_10_MediaHUB-Viz-POLDA_Rev200/db-konten-header?provinsi-polda=${provState}&` + `views/2025_10_MediaHUB-Viz-POLDA_Rev200/db-konten-header?provinsi-polda=${provState}&` : // `views/2023_04_MediaHUB-Viz-POLDA_Rev200/db-content-interaction-polda?polda-selected=${state}&`; - `/views/2025_10_MediaHUB-Viz-POLDA_Rev200/db-konten-header?provinsi-polda=${provState}&`; + `views/2025_10_MediaHUB-Viz-POLDA_Rev200/db-satker?satker-selected=${state}&`; const view5 = levelName == "MABES POLRI" @@ -160,10 +160,10 @@ export default function ExecutiveDashboard() {
{/* ===================== POLDA ===================== */} - {(levelNumber === "1" || levelNumber === "2") && ( + {(levelNumber === "1" || levelNumber === "2" || levelNumber === "3") && (

- Publish Konten Polda + Publish Konten

{ticket1 == "" ? ( diff --git a/components/form/broadcast/content-blast-form.tsx b/components/form/broadcast/content-blast-form.tsx index e4deae1c..0cf14fe1 100644 --- a/components/form/broadcast/content-blast-form.tsx +++ b/components/form/broadcast/content-blast-form.tsx @@ -288,11 +288,11 @@ export default function ContentBlast() {