Compare commits

...

188 Commits

Author SHA1 Message Date
hanif salafi 00ed973284 feat: update gitlab ci 2025-12-10 05:04:41 +07:00
hanif salafi 9a065c89f1 feat: update endpoint to new.netidhub.com 2025-12-10 05:00:56 +07:00
hanif salafi e4ac7a867d Merge branch 'prod' of https://gitlab.com/hanifsalafi/mediahub_redesign into prod 2025-12-10 04:56:20 +07:00
hanif salafi 205085e1c8 feat: fixing doc 2025-12-10 04:56:05 +07:00
Sabda Yagra f51ad5ce1c fix: push failed 2025-12-09 16:08:29 +07:00
Sabda Yagra c7c58695e8 fix: rollback url performance polda/satker and validation zod in register 2025-12-09 15:46:23 +07:00
Sabda Yagra fa5a3e8240 Merge branch 'prod' of https://gitlab.com/hanifsalafi/mediahub_redesign into prod 2025-12-09 08:51:52 +07:00
hanif salafi c67984d32c fix: update spit convert 2025-12-09 08:51:07 +07:00
Sabda Yagra 8aa45b1351 Merge branch 'prod' of https://gitlab.com/hanifsalafi/mediahub_redesign into prod 2025-12-08 17:10:46 +07:00
hanif salafi b7679cbcb1 update bug fixing 2025-12-08 17:02:33 +07:00
Sabda Yagra 5586b77e70 Merge branch 'main' of https://gitlab.com/hanifsalafi/mediahub_redesign into prod 2025-12-08 15:44:55 +07:00
Sabda Yagra d10bd92960 Merge branch 'prod' of https://gitlab.com/hanifsalafi/mediahub_redesign into prod 2025-12-05 22:50:32 +07:00
Sabda Yagra d319c9167b fix: url in pola & relasi 2025-12-05 16:00:42 +07:00
hanif salafi bff80d87cd feat: update task-ta detail 2025-12-05 13:54:10 +07:00
Sabda Yagra a9e205b9f0 fix: url in visualization 2025-12-05 11:16:37 +07:00
Sabda Yagra 9765479537 fixing pending spektek excel 2025-12-03 18:18:00 +07:00
Sabda Yagra 6f2eff48a1 fix: media tracking table, and update task TA 2025-12-03 13:11:27 +07:00
hanif salafi 33f88feb60 fix: update message spit 2025-12-03 07:12:33 +07:00
Sabda Yagra 1230c219f7 fix: button create task TA in koorkurator, and fixing any bugs 2025-12-02 19:54:47 +07:00
hanif salafi e7baf52526 fix: update task upload form 2025-12-02 11:28:01 +07:00
Sabda Yagra 6f4f9dd531 fix:upload-task in tast TA 2025-12-02 11:19:50 +07:00
Sabda Yagra 1669a2847a fix: conflict when pull prod 2025-12-02 10:42:04 +07:00
Sabda Yagra 702bf29d6c fix: table and upload task TA 2025-12-02 10:40:54 +07:00
hanif salafi 3483292982 Merge branch 'prod' of https://gitlab.com/hanifsalafi/mediahub_redesign into prod 2025-12-02 10:39:51 +07:00
hanif salafi cacaaefb3b fix: update fixing task ta 2025-12-02 10:38:33 +07:00
Sabda Yagra 5fa74cc716 Merge branch 'prod' of https://gitlab.com/hanifsalafi/mediahub_redesign into prod 2025-12-02 09:17:40 +07:00
Sabda Yagra 24ea75de43 fix: rollback spit convert, and content view in task TA 2025-12-02 09:16:01 +07:00
hanif salafi ccc1fb3336 fix: update error 2025-12-02 07:46:28 +07:00
hanif salafi a241604bb4 fix: update error 2025-12-02 07:38:19 +07:00
hanif salafi c3c3cc18b2 fix: update error 2025-12-02 07:27:23 +07:00
hanif salafi ad8f362744 fix: update error 2025-12-02 07:17:01 +07:00
hanif salafi cdb56c5afe fix: update error 2025-12-02 07:05:41 +07:00
hanif salafi 2dcf1e41cb fix: update gitlab-ci 2025-12-02 06:57:57 +07:00
hanif salafi 500d917a7b fix: update dockerfile 2025-12-01 12:34:00 +07:00
hanif salafi d5402be981 fix: update error 2025-12-01 12:15:42 +07:00
hanif salafi 2d299a1a57 Merge branch 'prod' of https://gitlab.com/hanifsalafi/mediahub_redesign into prod 2025-12-01 11:58:44 +07:00
hanif salafi 9828e15693 fix: update error 2025-12-01 11:58:33 +07:00
hanif salafi 3f04cf6698 feat: update fixing bugs dashboard 2025-12-01 11:49:58 +07:00
Anang Yusman a38e220f62 update 2025-12-01 12:37:49 +08:00
Anang Yusman 60e9017ac1 update 2025-12-01 12:21:37 +08:00
hanif salafi 097e726cb8 fix : update dashboard url 2025-12-01 02:04:36 +07:00
hanif salafi 464e55484e fix: update link and fixing some dashboard 2025-11-29 02:58:18 +07:00
Anang Yusman 3910a12010 update title performance polda,polres, hide agenda setting, menu setting 2025-11-28 20:01:58 +08:00
Sabda Yagra b151325bc0 fix: rollback url admin breakdown and fixing page convert spit 2025-11-27 11:31:51 +07:00
Sabda Yagra 3f8d494a3d fix: wa blast and excel 2025-11-26 21:39:02 +07:00
Sabda Yagra 34e8670983 fix:format file audio in audio detail download 2025-11-26 10:03:08 +07:00
Sabda Yagra 0e166f6dd9 fix: adjust url in admin analytics 2025-11-26 09:35:27 +07:00
Sabda Yagra ae2fcb623a Merge branch 'main' of https://gitlab.com/hanifsalafi/mediahub_redesign into prod 2025-11-26 07:52:04 +07:00
Sabda Yagra f454969fba fix: The Special Attention of Headquarters assignment has not been entered in the Expert Account and Preview for Text attachments 2025-11-25 19:50:14 +07:00
Sabda Yagra 0a262d3c3e Merge branch 'main' of https://gitlab.com/hanifsalafi/mediahub_redesign into prod 2025-11-25 13:57:05 +07:00
Sabda Yagra c7af4d1f48 fix: url in analytics and fix task-ta for, task detail form 2025-11-25 12:17:48 +07:00
Sabda Yagra 8c07105c80 fix: url analitycs in executive 2025-11-24 16:10:14 +07:00
Sabda Yagra 52d55194dc merge branch dev-sabda-v2 2025-11-23 23:11:27 +07:00
Sabda Yagra 42c9316eff merge branch dev-sabda-v2 2025-11-23 23:02:34 +07:00
hanif salafi b58fb7f134 Merge branch 'prod' of https://gitlab.com/hanifsalafi/mediahub_redesign into prod 2025-11-20 20:09:20 +07:00
hanif salafi c38fdd384c fix: rollback url tableau 2025-11-20 20:09:05 +07:00
Sabda Yagra 4be5e1b33a Merge branch 'prod' of https://gitlab.com/hanifsalafi/mediahub_redesign into prod 2025-11-19 23:43:00 +07:00
Sabda Yagra b5c4817393 Merge branch 'main' of https://gitlab.com/hanifsalafi/mediahub_redesign into prod 2025-11-19 23:42:24 +07:00
hanif salafi 2ad9052c1b fix: change url for penugasan executive 2025-11-19 21:53:35 +07:00
hanif salafi a5b9f4aac9 fix: update url tableau for executive dashboard 2025-11-19 21:41:26 +07:00
Sabda Yagra 1a45358888 Merge branch 'main' of https://gitlab.com/hanifsalafi/mediahub_redesign into prod 2025-11-18 23:00:55 +07:00
Sabda Yagra d332fa6173 Merge branch 'main' of https://gitlab.com/hanifsalafi/mediahub_redesign into prod 2025-11-18 08:23:30 +07:00
Sabda Yagra 542f764977 Merge branch 'main' of https://gitlab.com/hanifsalafi/mediahub_redesign into prod 2025-11-18 00:10:04 +07:00
Sabda Yagra 96925817b1 Merge branch 'main' of https://gitlab.com/hanifsalafi/mediahub_redesign into prod 2025-11-17 17:54:29 +07:00
Sabda Yagra ab2c31654a Merge branch 'main' of https://gitlab.com/hanifsalafi/mediahub_redesign into prod 2025-11-17 13:30:22 +07:00
Sabda Yagra 62bc15ab17 Merge branch 'main' of https://gitlab.com/hanifsalafi/mediahub_redesign into prod 2025-11-12 12:05:10 +07:00
Sabda Yagra d94bcab149 Merge branch 'prod' of https://gitlab.com/hanifsalafi/mediahub_redesign into prod 2025-11-12 09:11:37 +07:00
Sabda Yagra a906f4faee fix: fixing payload in escalation 2025-11-12 09:11:01 +07:00
hanif salafi 9f6af48093 fix: change gitlab-ci 2025-11-12 08:35:56 +07:00
hanif salafi b181f6b3dd Edit .gitlab-ci.yml 2025-11-11 17:21:03 +00:00
Sabda Yagra cde575cb5e fix: edit url in all tableau 2025-11-12 00:14:42 +07:00
Sabda Yagra c7b2456a78 fix: conflict in image-update-form 2025-11-11 08:33:35 +07:00
Sabda Yagra 4605ef3aeb fix: input search all content and menu sidebar in polda and satker approver 2025-11-10 22:52:59 +07:00
hanif salafi 8e2fa0425d Merge branch 'main' of https://gitlab.com/hanifsalafi/mediahub_redesign into prod 2025-11-06 01:40:28 +07:00
Sabda Yagra 9d028b54d3 Merge branch 'main' of https://gitlab.com/hanifsalafi/mediahub_redesign into prod 2025-11-06 00:16:19 +07:00
Sabda Yagra 978fd4eb6e Merge branch 'main' of https://gitlab.com/hanifsalafi/mediahub_redesign into prod 2025-11-05 11:49:16 +07:00
Sabda Yagra 45a63696f4 Merge branch 'main' of https://gitlab.com/hanifsalafi/mediahub_redesign into prod 2025-10-27 20:22:31 +07:00
Sabda Yagra f3528fb288 fix: dockerfile 2025-10-27 11:38:09 +07:00
Sabda Yagra f2b934db97 fix: conflict 2025-10-27 10:17:57 +07:00
Sabda Yagra 173eb00cd9 Merge branch 'main' of https://gitlab.com/hanifsalafi/mediahub_redesign into prod 2025-10-23 09:52:28 +07:00
Sabda Yagra 0f863281ec Merge branch 'main' of https://gitlab.com/hanifsalafi/mediahub_redesign into prod 2025-10-21 12:33:04 +07:00
Sabda Yagra b0813350d7 fix: conflict when pull main 2025-10-20 10:02:14 +07:00
Sabda Yagra f0205597b5 Merge branch 'main' of https://gitlab.com/hanifsalafi/mediahub_redesign into prod 2025-10-16 15:29:41 +07:00
Sabda Yagra fdb3080495 Merge branch 'main' of https://gitlab.com/hanifsalafi/mediahub_redesign into prod 2025-10-16 12:41:59 +07:00
Sabda Yagra 07a11d83a7 fix run build 2025-10-16 09:52:55 +07:00
hanif salafi 08d438881c fix: update content form 2025-10-16 09:30:50 +07:00
hanif salafi 7b13a09b76 Merge branch 'main' of https://gitlab.com/hanifsalafi/mediahub_redesign into prod 2025-10-16 08:53:24 +07:00
hanif salafi 4f28de0a12 Merge branch 'main' of https://gitlab.com/hanifsalafi/mediahub_redesign into prod 2025-10-15 15:27:01 +07:00
hanif salafi 6346426468 Merge branch 'main' of https://gitlab.com/hanifsalafi/mediahub_redesign into prod 2025-10-15 11:04:01 +07:00
hanif salafi 27098b5373 Merge branch 'main' of https://gitlab.com/hanifsalafi/mediahub_redesign into prod 2025-10-08 13:20:49 +07:00
hanif salafi fab81ed10b Merge branch 'main' of https://gitlab.com/hanifsalafi/mediahub_redesign into prod 2025-10-06 09:36:46 +07:00
hanif salafi 6871934fe6 Merge branch 'main' of https://gitlab.com/hanifsalafi/mediahub_redesign into prod 2025-10-03 22:37:29 +07:00
hanif salafi fae207dfb0 Merge branch 'main' of https://gitlab.com/hanifsalafi/mediahub_redesign into prod 2025-09-27 12:33:06 +07:00
hanif salafi caa82967b5 Merge branch 'main' of https://gitlab.com/hanifsalafi/mediahub_redesign into prod 2025-09-26 14:52:50 +07:00
hanif salafi a7be72f7f7 Merge branch 'main' of https://gitlab.com/hanifsalafi/mediahub_redesign into prod 2025-09-26 10:17:53 +07:00
hanif salafi f2bfd3f36a Merge branch 'main' of https://gitlab.com/hanifsalafi/mediahub_redesign into prod 2025-09-25 15:37:10 +07:00
hanif salafi 74acf4d894 Merge branch 'main' of https://gitlab.com/hanifsalafi/mediahub_redesign into prod 2025-09-23 18:00:25 +07:00
hanif salafi 25b0ce301b Merge branch 'main' into 'prod'
Main

See merge request hanifsalafi/mediahub_redesign!2
2025-09-19 11:31:33 +00:00
hanif salafi f30a6475a4 Merge branch 'main' of https://gitlab.com/hanifsalafi/mediahub_redesign into prod 2025-09-19 14:38:45 +07:00
hanif salafi cf6feec304 Merge branch 'main' of https://gitlab.com/hanifsalafi/mediahub_redesign into prod 2025-09-19 10:25:30 +07:00
hanif salafi f90ea2cc9a Merge branch 'main' of https://gitlab.com/hanifsalafi/mediahub_redesign into prod 2025-09-19 02:54:05 +07:00
hanif salafi 4ee30e8bf9 feat: update regional filter fixing error 2025-09-18 21:08:06 +07:00
hanif salafi a0ca095d5b Merge branch 'main' of https://gitlab.com/hanifsalafi/mediahub_redesign into prod 2025-09-18 20:54:41 +07:00
hanif salafi e03bd4a878 Merge branch 'main' of https://gitlab.com/hanifsalafi/mediahub_redesign into prod 2025-09-17 11:11:37 +07:00
hanif salafi 390fb27001 Merge branch 'main' of https://gitlab.com/hanifsalafi/mediahub_redesign into prod 2025-09-16 09:20:03 +07:00
hanif salafi 5d4ea85934 Merge branch 'main' of https://gitlab.com/hanifsalafi/mediahub_redesign into prod 2025-09-13 13:34:11 +07:00
hanif salafi 3d53652765 Merge branch 'main' of https://gitlab.com/hanifsalafi/mediahub_redesign into prod 2025-09-12 14:57:36 +07:00
hanif salafi 48a18c172f Merge branch 'main' of https://gitlab.com/hanifsalafi/mediahub_redesign into prod 2025-09-11 08:27:58 +07:00
hanif salafi 0ba8138779 Merge branch 'main' of https://gitlab.com/hanifsalafi/mediahub_redesign into prod 2025-09-10 23:51:03 +07:00
hanif salafi ed5adaced3 Merge branch 'main' of https://gitlab.com/hanifsalafi/mediahub_redesign into prod 2025-09-10 12:05:43 +07:00
hanif salafi 45de7405d2 Merge branches 'main' and 'main' of https://gitlab.com/hanifsalafi/mediahub_redesign into prod 2025-09-10 08:55:44 +07:00
hanif salafi 49678e91c3 feat: fixing custom editor 2025-09-10 07:14:49 +07:00
hanif salafi 893ac68240 Merge branch 'main' of https://gitlab.com/hanifsalafi/mediahub_redesign into prod 2025-09-10 07:02:22 +07:00
hanif salafi d6a419e9b5 feat: update fixing 2025-09-10 06:25:25 +07:00
hanif salafi 01003616ab Merge branch 'main' of https://gitlab.com/hanifsalafi/mediahub_redesign into prod 2025-09-10 06:00:41 +07:00
hanif salafi 76ab479e2d Merge branch 'main' of https://gitlab.com/hanifsalafi/mediahub_redesign into prod 2025-09-09 08:19:13 +07:00
hanif salafi 8a404b21ed feat: change dise domain 2025-09-03 07:45:47 +07:00
hanif salafi 82d2c19e02 Merge branch 'main' of https://gitlab.com/hanifsalafi/mediahub_redesign into prod 2025-08-29 14:23:36 +07:00
hanif salafi 14e21a3193 Merge branch 'main' of https://gitlab.com/hanifsalafi/mediahub_redesign into prod 2025-08-27 09:06:15 +07:00
hanif salafi ca5a150015 Merge branch 'main' of https://gitlab.com/hanifsalafi/mediahub_redesign into prod 2025-08-27 08:52:09 +07:00
Sabda Yagra f4888db103 fixing conflict 2025-08-22 19:02:28 +07:00
Sabda Yagra 134a2532ee fixing conflict 2025-08-22 18:43:35 +07:00
hanif salafi 2099cd1e1c Merge branch 'main' of https://gitlab.com/hanifsalafi/mediahub_redesign into prod 2025-08-18 09:38:02 +07:00
hanif salafi 0ec1ca9297 Merge branch 'main' of https://gitlab.com/hanifsalafi/mediahub_redesign into prod 2025-08-15 15:36:23 +07:00
hanif salafi a01d77c82a Merge branch 'main' of https://gitlab.com/hanifsalafi/mediahub_redesign into prod 2025-08-14 09:37:37 +07:00
hanif salafi ae42305e0e Merge branch 'main' of https://gitlab.com/hanifsalafi/mediahub_redesign into prod 2025-08-13 18:49:18 +07:00
hanif salafi 88bbe147e4 Merge branch 'main' of https://gitlab.com/hanifsalafi/mediahub_redesign into prod 2025-08-13 07:44:05 +07:00
Sabda Yagra 4ec966c9eb fix: disable all console.log 2025-08-12 13:31:20 +07:00
hanif salafi 4c74c191cc Merge branch 'main' of https://gitlab.com/hanifsalafi/mediahub_redesign into prod 2025-08-11 17:22:26 +07:00
hanif salafi 15697a30f7 Merge branch 'main' of https://gitlab.com/hanifsalafi/mediahub_redesign into prod 2025-08-11 11:08:23 +07:00
hanif salafi 37ebe1ad12 Merge branch 'main' of https://gitlab.com/hanifsalafi/mediahub_redesign into prod 2025-08-08 12:41:55 +07:00
hanif salafi c792f5b4b1 Merge branch 'main' of https://gitlab.com/hanifsalafi/mediahub_redesign into prod 2025-08-08 09:10:16 +07:00
hanif salafi 090006fa30 Merge branch 'main' of https://gitlab.com/hanifsalafi/mediahub_redesign into prod 2025-08-07 10:40:19 +07:00
hanif salafi 166c3c8143 Merge branch 'main' of https://gitlab.com/hanifsalafi/mediahub_redesign into prod 2025-08-07 10:28:42 +07:00
hanif salafi 97612d6a71 Merge branch 'main' of https://gitlab.com/hanifsalafi/mediahub_redesign into prod 2025-08-05 12:32:13 +07:00
hanif salafi f10db99437 Merge branch 'main' of https://gitlab.com/hanifsalafi/mediahub_redesign into prod 2025-08-05 11:59:47 +07:00
hanif salafi a4bf80482a featL update id of satker 2025-08-05 11:19:33 +07:00
hanif salafi 12c904d49a Merge branch 'main' of https://gitlab.com/hanifsalafi/mediahub_redesign into prod 2025-08-04 13:53:11 +07:00
hanif salafi 541f9b6004 Merge branches 'main' and 'main' of https://gitlab.com/hanifsalafi/mediahub_redesign into prod 2025-08-04 11:00:09 +07:00
hanif salafi fd61c5311b Merge branch 'main' of https://gitlab.com/hanifsalafi/mediahub_redesign into prod 2025-08-04 08:47:58 +07:00
hanif salafi a8c6087437 Merge branch 'main' of https://gitlab.com/hanifsalafi/mediahub_redesign into prod 2025-08-01 12:44:24 +07:00
hanif salafi 3f2d66c426 Merge branch 'main' of https://gitlab.com/hanifsalafi/mediahub_redesign into prod 2025-07-31 20:47:12 +07:00
hanif salafi f854cb7385 Merge branch 'main' of https://gitlab.com/hanifsalafi/mediahub_redesign into prod 2025-07-31 12:46:10 +07:00
hanif salafi d8aad6da43 Merge branch 'main' of https://gitlab.com/hanifsalafi/mediahub_redesign into prod 2025-07-29 10:20:14 +07:00
hanif salafi ed71982b6c Merge branch 'main' of https://gitlab.com/hanifsalafi/mediahub_redesign into prod 2025-07-28 15:48:36 +07:00
hanif salafi 2fae4027ee Merge branch 'main' of https://gitlab.com/hanifsalafi/mediahub_redesign into prod 2025-07-28 14:10:01 +07:00
hanif salafi 4e1d98d168 Merge branch 'main' of https://gitlab.com/hanifsalafi/mediahub_redesign into prod 2025-07-25 18:04:16 +07:00
hanif salafi ad4aa1f81e Merge branch 'main' of https://gitlab.com/hanifsalafi/mediahub_redesign into prod 2025-07-24 21:15:43 +07:00
hanif salafi 7d9f23896e Merge branch 'main' of https://gitlab.com/hanifsalafi/mediahub_redesign into prod 2025-07-24 16:31:25 +07:00
hanif salafi 459425a309 fixing error 2025-07-24 13:45:12 +07:00
hanif salafi 6ac02ba0a9 feat: update Dockerfile 2025-07-24 13:14:45 +07:00
hanif salafi 3445a932eb Merge branch 'main' of https://gitlab.com/hanifsalafi/mediahub_redesign into prod 2025-07-24 12:52:12 +07:00
hanif salafi 9ae0c9269d update fixing 2025-07-24 12:32:31 +07:00
hanif salafi 59834d95e7 feat: update conflict 2025-07-23 17:39:33 +07:00
hanif salafi dd1479000e Merge branch 'main' of https://gitlab.com/hanifsalafi/mediahub_redesign into prod 2025-07-23 09:42:59 +07:00
hanif salafi 8e3090d6eb update: fixing vendors 2025-07-23 08:58:26 +07:00
hanif salafi a80585326a update fixing 2025-07-23 08:45:49 +07:00
hanif salafi 96f16d2b77 fixing ckeditor 2025-07-22 20:32:08 +07:00
hanif salafi 16cbdcff45 Merge branch 'main' of https://gitlab.com/hanifsalafi/mediahub_redesign into prod 2025-07-22 14:35:47 +07:00
hanif salafi ddd31a46fd Merge branch 'main' of https://gitlab.com/hanifsalafi/mediahub_redesign into prod 2025-07-21 20:07:54 +07:00
hanif salafi ad13a58ac8 feat: update custom editor 2025-07-21 16:53:10 +07:00
hanif salafi e0d9b43892 feat: update Dockerfile 2025-07-21 15:45:09 +07:00
hanif salafi 72b16e21ba feat: update dockerfile 2025-07-21 15:41:49 +07:00
hanif salafi 09a27f3807 fixing error 2025-07-21 15:36:50 +07:00
hanif salafi 47c2fc55df update: merge from DEV : change ckeditor, detail media, etc 2025-07-21 15:28:41 +07:00
hanif salafi c44ae46633 Merge branch 'prod' of https://gitlab.com/hanifsalafi/mediahub_redesign into prod 2025-07-21 10:07:16 +07:00
hanif salafi d00956503f feat: update detail media 2025-07-21 10:07:04 +07:00
Sabda Yagra e9fa8f8e93 feat: change background landing in dark mode 2025-07-21 09:27:09 +07:00
hanif salafi 5467edc3a7 feat: remove unused file 2025-07-21 00:06:56 +07:00
hanif salafi 1a6919ea5d Merge branch 'main' of https://gitlab.com/hanifsalafi/mediahub_redesign into prod 2025-07-20 23:56:38 +07:00
hanif salafi 471adf85f0 feat: update viz performance polda 2025-07-20 23:00:16 +07:00
hanif salafi e2450d4b56 feat: update performance polda 2025-07-20 22:28:05 +07:00
hanif salafi be9f8649f4 feat: update param tableau 2025-07-20 22:00:55 +07:00
hanif salafi 5e849572a3 feat: update dashboard viz 2025-07-20 20:44:44 +07:00
Sabda Yagra 07c7a93b18 fix: button cancel in all form 2025-07-20 18:10:49 +07:00
hanif salafi 0b420bdef4 feat : update approval show detail media 2025-07-20 17:06:42 +07:00
hanif salafi f639a827d4 fixing spit convert 2025-07-20 16:10:19 +07:00
hanif salafi 007a6d9eec fixing custom editor and spit convert 2025-07-20 16:07:22 +07:00
hanif salafi f3757bcfac update viz tableau 2025-07-20 15:50:01 +07:00
hanif salafi a0b658bbfc feat: update tableau viz url 2025-07-20 03:46:48 +07:00
hanif salafi fb1d0fde82 feat: update auth services 2025-07-20 03:02:15 +07:00
hanif salafi 04a04cfe74 feat: update next config 2025-07-20 02:44:27 +07:00
hanif salafi ac332b7099 feat: update http service 2025-07-20 02:00:02 +07:00
Sabda Yagra 3ed1327707 change endpoint api 2025-07-19 22:37:18 +07:00
Sabda Yagra b3ab21700a add in script docker 2025-07-19 21:02:02 +07:00
Sabda Yagra 026eae5cd3 change docker login 2025-07-19 20:54:01 +07:00
Sabda Yagra 00aeded4ea change script docker login 2025-07-19 20:50:03 +07:00
Sabda Yagra 72099c35a6 change domain to mediahub.polri.go.id 2025-07-19 20:37:18 +07:00
269 changed files with 10368 additions and 1553 deletions

4
.env
View File

@ -1,3 +1,3 @@
NEXT_PUBLIC_API=https://netidhub.com/api
NEXT_PUBLIC=https://netidhub.com
NEXT_PUBLIC_API=https://new.netidhub.com/api/v2
NEXT_PUBLIC=https://new.netidhub.com
NEXT_PUBLIC_TINYMCE_API_KEY=bhteuja26yz5p0aubxry9b95hs33amgn65kjv5km0fd5iuev

View File

@ -2,12 +2,13 @@ stages:
- build
- deploy
build-dev:
build-prod:
stage: build
when: on_success
only:
- main
- dev-landing-v2
- staging
- prod
image:
name: docker:25.0.3-cli
services:
@ -15,16 +16,18 @@ build-dev:
command: ["--insecure-registry=103.82.242.92:8900"]
script:
- docker logout
- docker login -u $DEPLOY_USERNAME -p $DEPLOY_TOKEN 103.82.242.92:8900
- docker build -t 103.82.242.92:8900/mediahub/new-mediahub-fe:dev .
- docker push 103.82.242.92:8900/mediahub/new-mediahub-fe:dev
- 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 --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:
stage: deploy
when: on_success
only:
- main
- dev-landing-v2
- staging
image: curlimages/curl:latest
services:
- docker:dind

View File

@ -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

View File

@ -148,7 +148,7 @@ export default function AddExpertForm() {
};
const save = async (data: z.infer<typeof FormSchema>) => {
console.log("data", data);
// console.log("data", data);
const dataReq = {
firstName: data.name,
@ -274,10 +274,10 @@ export default function AddExpertForm() {
};
const handleRemoveRow = (index: number) => {
console.log(index);
console.log(placementRows);
// console.log(index);
// console.log(placementRows);
const newPlacements = placementRows.filter((row) => row.index != index);
console.log(newPlacements);
// console.log(newPlacements);
setPlacementRows(newPlacements);
};

View File

@ -233,7 +233,7 @@ export default function UpdateExpertForm() {
};
const save = async (data: z.infer<typeof FormSchema>) => {
console.log("data", data);
// console.log("data", data);
const dataReq = {
id: detail?.id,
@ -310,7 +310,7 @@ export default function UpdateExpertForm() {
const resExperiences = await getListExperiences();
setUserExperiences(resExperiences?.data?.data);
console.log("experience", resExperiences?.data?.data);
// console.log("experience", resExperiences?.data?.data);
const resUserLevels = await AdministrationLevelList();
const data = resUserLevels?.data?.data;
@ -353,10 +353,10 @@ export default function UpdateExpertForm() {
};
const handleRemoveRow = (index: number) => {
console.log(index);
console.log(placementRows);
// console.log(index);
// console.log(placementRows);
const newPlacements = placementRows.filter((row) => row.index != index);
console.log(newPlacements);
// console.log(newPlacements);
setPlacementRows(newPlacements);
};

View File

@ -43,8 +43,8 @@ export default function ContentManagement() {
const [ticket6, setTicket6] = useState("");
const [isInternational, setIsInternational] = useState([false, false, false]);
const baseUrl = "https://analytic.sitani.info/";
const url = "https://analytic.sitani.info/trusted/";
const baseUrl = "https://db-mediahub.polri.go.id/";
const url = "https://db-mediahub.polri.go.id/trusted/";
const view1 =
levelName == "MABES POLRI"
@ -87,7 +87,7 @@ export default function ContentManagement() {
? "views/2023_08_MediaHUB-KtnMgt_Rev100/db-ktn-intl?"
: "views/2023_08_MediaHUB-KtnMgt_Rev100/db-ktn-intl?"
: `views/2023_08_MediaHUB-KtnMgt_Rev100/db-ktn-intl?provinsi-polda=${poldaState}&`;
const param = ":embed=yes&:toolbar=no&:iframeSizedToWindow=true";
const param = ":embed=yes&:toolbar=yes&:iframeSizedToWindow=true";
useEffect(() => {
async function initState() {

View File

@ -43,8 +43,8 @@ export default function EmergencyIssue() {
const [ticket6, setTicket6] = useState("");
const [isInternational, setIsInternational] = useState([false, false, false]);
const baseUrl = "https://analytic.sitani.info/";
const url = "https://analytic.sitani.info/trusted/";
const baseUrl = "https://db-mediahub.polri.go.id/";
const url = "https://db-mediahub.polri.go.id/trusted/";
const view1 =
levelName == "MABES POLRI"
@ -53,7 +53,7 @@ export default function EmergencyIssue() {
: "views/2023_08_MediaHUB-KtnMgt_Rev100/db-emg-issue?"
: `views/2023_08_MediaHUB-KtnMgt_Rev100/db-emg-issue?provinsi-polda=${provState}&`;
const param = ":embed=yes&:toolbar=no&:iframeSizedToWindow=true";
const param = ":embed=yes&:toolbar=yes&:iframeSizedToWindow=true";
useEffect(() => {
async function initState() {

View File

@ -43,8 +43,8 @@ export default function FeedbackCenter() {
const [ticket6, setTicket6] = useState("");
const [isInternational, setIsInternational] = useState([false, false, false]);
const baseUrl = "https://analytic.sitani.info/";
const url = "https://analytic.sitani.info/trusted/";
const baseUrl = "https://db-mediahub.polri.go.id/";
const url = "https://db-mediahub.polri.go.id/trusted/";
const view1 =
levelName == "MABES POLRI"
@ -53,7 +53,7 @@ export default function FeedbackCenter() {
: "views/2023_08_MediaHUB-KtnMgt_Rev100/db-tickets?"
: `views/2023_08_MediaHUB-KtnMgt_Rev100/db-tickets?provinsi-polda=${provState}&`;
const param = ":embed=yes&:toolbar=no&:iframeSizedToWindow=true";
const param = ":embed=yes&:toolbar=yes&:iframeSizedToWindow=true";
useEffect(() => {
async function initState() {

View File

@ -38,8 +38,8 @@ export default function ContentManagement() {
const [ticket6, setTicket6] = useState("");
const [isInternational, setIsInternational] = useState([false, false, false]);
const baseUrl = "https://analytic.sitani.info/";
const url = "https://analytic.sitani.info/trusted/";
const baseUrl = "https://db-mediahub.polri.go.id/";
const url = "https://db-mediahub.polri.go.id/trusted/";
const view1 =
levelName == "MABES POLRI"
@ -69,7 +69,7 @@ export default function ContentManagement() {
: "views/2023_08_MediaHUB-KtnMgt_Rev100/db-ktn-act-jnl?"
: `views/2023_08_MediaHUB-KtnMgt_Rev100/db-ktn-act-jnl?provinsi-polda=${poldaState}&`;
const param = ":embed=yes&:toolbar=no&:iframeSizedToWindow=true";
const param = ":embed=yes&:toolbar=yes&:iframeSizedToWindow=true";
useEffect(() => {
async function initState() {

View File

@ -171,11 +171,11 @@ export default function CreateAccountForBroadcast() {
{/* WA */}
<div className="flex items-center gap-2">
<Checkbox
checked={field.value.includes("wa")}
checked={field.value?.includes("wa") ?? false}
onCheckedChange={(checked) =>
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"))
}
/>
<label>Whatsapp</label>
@ -184,12 +184,12 @@ export default function CreateAccountForBroadcast() {
{/* EMAIL */}
<div className="flex items-center gap-2">
<Checkbox
checked={field.value.includes("email")}
checked={field.value?.includes("email") ?? false}
onCheckedChange={(checked) =>
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") && (
<FormField
control={form.control}
name="whatsapp"
@ -221,7 +221,7 @@ export default function CreateAccountForBroadcast() {
)}
{/* FORM EMAIL */}
{selectedTypes.includes("email") && (
{selectedTypes?.includes("email") && (
<FormField
control={form.control}
name="email"

View File

@ -157,7 +157,7 @@ export default function EditAccountForBroadcast() {
isDefault: false,
isAdmin: true,
};
console.log("data", data);
// console.log("data", data);
const response = await saveUserInternal(reqData);
if (response?.error) {

View File

@ -136,7 +136,7 @@ const CampaignListTable = () => {
item.no = (page - 1) * 10 + index + 1;
});
console.log("contentData : ", data);
// console.log("contentData : ", data);
setDataTable(contentData);
setTotalData(data?.totalElements);

View File

@ -117,8 +117,8 @@ export default function BroadcastCampaignDetail({
async function getListPaginationData() {
loading();
console.log("Type : ", typeFilter);
console.log("Date : ", startDateString, endDateString);
// console.log("Type : ", typeFilter);
// console.log("Date : ", startDateString, endDateString);
try {
const res = await getMediaBlastBroadcastList(
@ -152,7 +152,7 @@ export default function BroadcastCampaignDetail({
]);
function setupData(rawData: PaginatedResponse) {
console.log("raw", rawData);
// console.log("raw", rawData);
if (rawData !== undefined) {
const dataContent = rawData?.content;
const data: CampaignData[] = [];
@ -251,7 +251,7 @@ export default function BroadcastCampaignDetail({
setEndDateString(getOnlyDate(endDate));
}
}
console.log("date range", dateRange);
// console.log("date range", dateRange);
initState();
}, [calenderState, startDate, endDate]);

View File

@ -160,7 +160,7 @@ const BroadcastEmailTable = () => {
item.no = (page - 1) * Number(showData) + index + 1;
});
console.log("contentData : ", data);
// console.log("contentData : ", data);
setDataTable(contentData);
setTotalData(data?.totalElements);

View File

@ -160,7 +160,7 @@ const BroadcastWhatsAppTable = () => {
item.no = (page - 1) * Number(showData) + index + 1;
});
console.log("contentData : ", data);
// console.log("contentData : ", data);
setDataTable(contentData);
setTotalData(data?.totalElements);

View File

@ -85,7 +85,7 @@ export default function EditUserForm() {
const response = await getUserById(String(id));
const res = response?.data?.data;
close();
console.log("res", res);
// console.log("res", res);
form.setValue("fullname", res?.fullname);
form.setValue("username", res?.username);
form.setValue("phoneNumber", res?.phoneNumber);

View File

@ -126,7 +126,7 @@ export default function EditUserForm() {
const response = await getUserById(String(id));
const res = response?.data?.data;
close();
console.log("res", res);
// console.log("res", res);
form.setValue("fullname", res?.fullname);
form.setValue("username", res?.username);
form.setValue("phoneNumber", res?.phoneNumber);

View File

@ -203,7 +203,7 @@ export default function DetailUserForm() {
const response = await getUserById(String(id));
const res = response?.data?.data;
close();
console.log("res", res);
// console.log("res", res);
if (Number(res.roleId) > 4) {
form.setValue("fullname", res?.fullname);
form.setValue("username", res?.username);
@ -215,7 +215,7 @@ export default function DetailUserForm() {
form.setValue("level", String(res?.userLevelId));
} else {
initFetch();
console.log("sadad", res?.role?.code);
// console.log("sadad", res?.role?.code);
form.setValue("fullname", res?.fullname);
form.setValue("username", res?.username);
form.setValue("phoneNumber", res?.phoneNumber);

View File

@ -209,7 +209,7 @@ export default function EditUserForm() {
const response = await getUserById(String(id));
const res = response?.data?.data;
close();
console.log("res", res);
// console.log("res", res);
if (Number(res.roleId) > 4) {
form.setValue("fullname", res?.fullname);
form.setValue("username", res?.username);

View File

@ -43,7 +43,7 @@ export default function TrackingMediaModal(props: { triggerFetch: () => void })
}
if (/\s/.test(value)) {
console.log("Terdapat spasi dalam input");
// console.log("Terdapat spasi dalam input");
fecthAll();
}

View File

@ -161,11 +161,11 @@ const NewsTable = () => {
setCategoryFilter(
categorie?.split("&")?.length > 1 ? categorie?.split("&") : [categorie]
);
console.log(
"Kategori",
categorie,
categorie?.split("&")?.length > 1 ? categorie?.split("&") : [categorie]
);
// console.log(
// "Kategori",
// categorie,
// categorie?.split("&")?.length > 1 ? categorie?.split("&") : [categorie]
// );
}
}, [categorie]);
@ -177,7 +177,7 @@ const NewsTable = () => {
} else {
filter.splice(categoryFilter.indexOf(id), 1);
}
console.log("checkbox filter", filter);
// console.log("checkbox filter", filter);
setCategoryFilter(filter);
router.push(`?category=${filter.join("&")}`);
};

View File

@ -179,11 +179,11 @@ const ResultTable = () => {
setCategoryFilter(
categorie?.split("&")?.length > 1 ? categorie?.split("&") : [categorie]
);
console.log(
"Kategori",
categorie,
categorie?.split("&")?.length > 1 ? categorie?.split("&") : [categorie]
);
// console.log(
// "Kategori",
// categorie,
// categorie?.split("&")?.length > 1 ? categorie?.split("&") : [categorie]
// );
}
}, [categorie]);
@ -195,7 +195,7 @@ const ResultTable = () => {
} else {
filter.splice(categoryFilter.indexOf(id), 1);
}
console.log("checkbox filter", filter);
// console.log("checkbox filter", filter);
setCategoryFilter(filter);
router.push(`?category=${filter.join("&")}`);
};

View File

@ -151,11 +151,11 @@ const NewsTable = () => {
setCategoryFilter(
categorie?.split("&")?.length > 1 ? categorie?.split("&") : [categorie]
);
console.log(
"Kategori",
categorie,
categorie?.split("&")?.length > 1 ? categorie?.split("&") : [categorie]
);
// console.log(
// "Kategori",
// categorie,
// categorie?.split("&")?.length > 1 ? categorie?.split("&") : [categorie]
// );
}
}, [categorie]);
@ -167,7 +167,7 @@ const NewsTable = () => {
} else {
filter.splice(categoryFilter.indexOf(id), 1);
}
console.log("checkbox filter", filter);
// console.log("checkbox filter", filter);
setCategoryFilter(filter);
router.push(`?category=${filter.join("&")}`);
};

View File

@ -5,7 +5,7 @@ export default function PerformancePolda() {
return (
<div>
<SiteBreadcrumb />
<p className="font-semibold">PERFORMANCE KUMULATIF PER POLDA</p>
{/* <p className="font-semibold">PERFORMANCE KUMULATIF PER POLDA</p> */}
<PerformancePoldaViz />
</div>
);

View File

@ -5,7 +5,7 @@ export default function PerformancePolda() {
return (
<div>
<SiteBreadcrumb />
<p className="font-semibold">PERFORMANCE KUMULATIF PER POLRES</p>
{/* <p className="font-semibold">PERFORMANCE KUMULATIF PER POLRES</p> */}
<PerformancePolresViz />
</div>
);

View File

@ -6,7 +6,6 @@ export default function PerformanceSatker() {
return (
<div>
<SiteBreadcrumb />
<p className="font-semibold">PERFORMANCE KUMULATIF PER SATKER</p>
<PerformanceSatkerViz />
</div>
);

View File

@ -97,7 +97,7 @@ const BannerListTable = () => {
const response = await listBanner();
const data = response?.data?.data?.content;
console.log("banner", data);
// console.log("banner", data);
setGetData(data);
close();

View File

@ -176,7 +176,7 @@ const ContentListBanner = () => {
item.no = (page - 1) * Number(showData) + index + 1;
});
console.log("contentData : ", data);
// console.log("contentData : ", data);
setData(contentData);
setTotalData(data?.totalElements);

View File

@ -88,7 +88,7 @@ const columns: ColumnDef<any>[] = [
const categoryDelete = async (id: number) => {
const response = await deleteCategory(id);
console.log(response);
// console.log(response);
if (response?.error) {
error(response.message);
return false;

View File

@ -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
)
);

View File

@ -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
)
);

View File

@ -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)
)
);

View File

@ -68,7 +68,7 @@ const columns: ColumnDef<any>[] = [
const faqDelete = async (id: string) => {
const response = await deleteDataFAQ(id);
console.log(response);
// console.log(response);
if (response?.error) {
error(response.message);
return false;

View File

@ -110,7 +110,7 @@ const AdminFAQTable = () => {
loading();
const response = await getListFAQ();
const data = response?.data?.data;
console.log("respone", response);
// console.log("respone", response);
data.forEach((item: any, index: number) => {
item.no = (page - 1) * 10 + index + 1;
});

View File

@ -69,7 +69,7 @@ const columns: ColumnDef<any>[] = [
const faqDelete = async (id: string) => {
const response = await deleteDataFAQ(id);
console.log(response);
// console.log(response);
if (response?.error) {
error(response.message);
return false;

View File

@ -109,7 +109,7 @@ const AdminFeedbackTable = () => {
loading();
const response = await getListFeedback();
const data = response?.data?.data;
console.log("respone", response);
// console.log("respone", response);
data.forEach((item: any, index: number) => {
item.no = (page - 1) * 10 + index + 1;
});

View File

@ -97,7 +97,7 @@ const IklanListTable = () => {
const response = await listBanner();
const data = response?.data?.data?.content;
console.log("banner", data);
// console.log("banner", data);
setGetData(data);
close();

View File

@ -160,7 +160,7 @@ const AdvertisementsList = () => {
item.no = (page - 1) * Number(showData) + index + 1;
});
console.log("contentData : ", data);
// console.log("contentData : ", data);
setDataTable(contentData);
setTotalData(data?.totalElements);

View File

@ -100,7 +100,7 @@ const PopUpListTable = () => {
const response = await getListPopUp();
const data = response?.data?.data?.content;
console.log("banner", data);
// console.log("banner", data);
setGetData(data);
close();

View File

@ -178,7 +178,7 @@ const ContentListPopUp = () => {
item.no = (page - 1) * Number(showData) + index + 1;
});
console.log("contentData : ", data);
// console.log("contentData : ", data);
setData(contentData);
setTotalData(data?.totalElements);

View File

@ -64,7 +64,7 @@ export default function DetailSettingTracking(props: {
});
const onSubmit = (values: any) => {
console.log("Submitted values:", values);
// console.log("Submitted values:", values);
setIsOpen(false);
};
@ -98,11 +98,11 @@ export default function DetailSettingTracking(props: {
{wilayahList.map((item) => (
<div key={item.id} className="flex items-center gap-2">
<Checkbox
checked={field.value.includes(item.id)}
checked={field.value?.includes(item.id) ?? false}
onCheckedChange={(checked) => {
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) => (
<div key={num} className="flex items-center gap-2">
<Checkbox
checked={field.value.includes(num)}
checked={field.value?.includes(num) ?? false}
onCheckedChange={(checked) => {
const updated = checked
? [...field.value, num]
: field.value.filter((val) => val !== num);
? [...(field.value ?? []), num]
: (field.value ?? []).filter((val) => val !== num);
field.onChange(updated);
}}
/>

View File

@ -64,7 +64,7 @@ export default function UpdateSettingTracking(props: {
});
const onSubmit = (values: any) => {
console.log("Submitted values:", values);
// console.log("Submitted values:", values);
setIsOpen(false);
};
@ -98,11 +98,11 @@ export default function UpdateSettingTracking(props: {
{wilayahList.map((item) => (
<div key={item.id} className="flex items-center gap-2">
<Checkbox
checked={field.value.includes(item.id)}
checked={field.value?.includes(item.id) ?? false}
onCheckedChange={(checked) => {
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) => (
<div key={num} className="flex items-center gap-2">
<Checkbox
checked={field.value.includes(num)}
checked={field.value?.includes(num) ?? false}
onCheckedChange={(checked) => {
const updated = checked
? [...field.value, num]
: field.value.filter((val) => val !== num);
? [...(field.value ?? []), num]
: (field.value ?? []).filter((val) => val !== num);
field.onChange(updated);
}}
/>

View File

@ -72,7 +72,7 @@ export default function CreateTagModal() {
categoryId: Number(data.category),
isActive: true,
};
console.log("reqqq", request);
// console.log("reqqq", request);
// const response = await postDataFeedback(request);
// close();
// if (response?.error) {
@ -93,7 +93,7 @@ export default function CreateTagModal() {
async function getCategoryParent() {
const response = await getCategoriesAll();
const res = response?.data?.data.content;
console.log("res", res);
// console.log("res", res);
var levelsArr: { id: number; label: string; value: string }[] = [];
res.forEach((levels: { id: number; name: string }) => {
levelsArr.push({

View File

@ -145,7 +145,7 @@ export default function EditTagModal(props: {
async function getCategoryParent() {
const response = await getCategoriesAll();
const res = response?.data?.data.content;
console.log("res", res);
// console.log("res", res);
var levelsArr: { id: number; label: string; value: string }[] = [];
res.forEach((levels: { id: number; name: string }) => {
levelsArr.push({

View File

@ -173,7 +173,7 @@ const SurveyListTable = () => {
item.no = (page - 1) * 10 + index + 1;
});
console.log("contentData : ", data);
// console.log("contentData : ", data);
setDataTable(contentData);
setTotalData(data?.totalElements);

View File

@ -178,7 +178,7 @@ const CalendarView = ({ categories }: CalendarViewProps) => {
},
}));
console.log("Event Data : ", events);
// console.log("Event Data : ", events);
setCalendarEvents(events);
}
} catch (err) {
@ -217,7 +217,7 @@ const CalendarView = ({ categories }: CalendarViewProps) => {
const filteredEvents = calendarEvents.filter((event) => {
if (!selectedCategory.length) return false;
console.log("Event category : ", selectedCategory);
// console.log("Event category : ", selectedCategory);
const eventCategories = event.extendedProps.calendar
?.split(",")

View File

@ -726,7 +726,7 @@ const EventModal = ({
endDate: date?.to ? format(date.to, "yyyy-MM-dd") : null,
};
console.log("Submitted Data:", reqData);
// console.log("Submitted Data:", reqData);
const response = await saveAgendaSettings(reqData);
if (response?.error) {
@ -794,9 +794,6 @@ const EventModal = ({
};
useEffect(() => {
console.log("Event data:", event);
console.log("Selected date:", selectedDate);
if (selectedDate) {
setDate({
from: selectedDate.date,
@ -829,7 +826,7 @@ const EventModal = ({
};
const toggleExpand = (poldaId: any) => {
console.log("Toogle : ", expandedPolda);
// console.log("Toogle : ", expandedPolda);
setExpandedPolda((prev: any) => ({
...prev,
[poldaId]: !prev[poldaId],
@ -890,11 +887,11 @@ const EventModal = ({
fileTypeId: string,
duration: string
) {
console.log(idx, id, file, fileTypeId, duration);
// console.log(idx, id, file, fileTypeId, duration);
const resCsrf = await getCsrfToken();
const csrfToken = resCsrf?.data?.token;
console.log("CSRF TOKEN : ", csrfToken);
// console.log("CSRF TOKEN : ", csrfToken);
const headers = {
"X-XSRF-TOKEN": csrfToken,
};
@ -916,7 +913,7 @@ const EventModal = ({
xhr.withCredentials = true;
},
onError: async (e: any) => {
console.log("Error upload :", e);
// console.log("Error upload :", e);
error(e);
},
onChunkComplete: (
@ -1038,7 +1035,7 @@ const EventModal = ({
}).then(() => {
if (redirect === window.location.pathname) {
fetch(redirect, { method: "GET", cache: "reload" }).then(() => {
console.log("Data diperbarui.");
// console.log("Data diperbarui.");
});
} else {
window.location.href = redirect;
@ -1140,7 +1137,7 @@ const EventModal = ({
defaultMonth={date?.from}
selected={date}
onSelect={(newDate) => {
console.log("Date selected:", newDate);
// console.log("Date selected:", newDate);
setDate(newDate);
if (newDate?.from && newDate?.to) {
setIsDatePickerOpen(false);

View File

@ -22,14 +22,14 @@ const CalenderPage = () => {
let valueShowed: string[] = [];
if (userLevelNumber == 1) {
valueShowed = ["0", "1", "2", "3", "4", "5"];
} else if (userLevelNumber == 2 && userLevelId != 761) {
} else if (userLevelNumber == 2 && userLevelId != 771) {
valueShowed = ["2", "3"];
} else if (
(userLevelNumber == 2 && userLevelId == 761) ||
(userLevelNumber == 3 && userParentLevelId == 761)
(userLevelNumber == 2 && userLevelId == 771) ||
(userLevelNumber == 3 && userParentLevelId == 771)
) {
valueShowed = ["4"];
} else if (userLevelNumber == 3 && userParentLevelId != 761) {
} else if (userLevelNumber == 3 && userParentLevelId != 771) {
valueShowed = ["3"];
}
@ -39,7 +39,7 @@ const CalenderPage = () => {
...category,
activeClass: "",
}));
console.log(formattedCategories);
// console.log(formattedCategories);
setCategories(formattedCategories);
}
}, []);

View File

@ -127,7 +127,7 @@ const BlogTable = () => {
item.no = (page - 1) * Number(showData) + index + 1;
});
console.log("contentData : ", contentData);
// console.log("contentData : ", contentData);
setDataTable(contentData);
setTotalData(data?.totalElements);

View File

@ -105,13 +105,13 @@ const useTableColumns = () => {
if (isPublish && !isPublishOnPolda) {
displayText = "Mabes";
} else if (isPublish && isPublishOnPolda) {
if (Number(creatorGroupParentLevelId) == 761) {
if (Number(creatorGroupParentLevelId) == 771) {
displayText = "Mabes & Satker";
} else {
displayText = "Mabes & Polda";
}
} else if (!isPublish && isPublishOnPolda) {
if (Number(creatorGroupParentLevelId) == 761) {
if (Number(creatorGroupParentLevelId) == 771) {
displayText = "Satker";
} else {
displayText = "Polda";

View File

@ -107,13 +107,13 @@ const useTableColumns = () => {
if (isPublish && !isPublishOnPolda) {
displayText = "Mabes";
} else if (isPublish && isPublishOnPolda) {
if (Number(creatorGroupParentLevelId) == 761) {
if (Number(creatorGroupParentLevelId) == 771) {
displayText = "Mabes & Satker";
} else {
displayText = "Mabes & Polda";
}
} else if (!isPublish && isPublishOnPolda) {
if (Number(creatorGroupParentLevelId) == 761) {
if (Number(creatorGroupParentLevelId) == 771) {
displayText = "Satker";
} else {
displayText = "Polda";

View File

@ -133,7 +133,7 @@ const TableTeks = () => {
item.no = (page - 1) * limit + index + 1;
});
console.log("contentData : ", contentData);
// console.log("contentData : ", contentData);
setDataTable(contentData);
setTotalData(data?.totalElements);

View File

@ -144,7 +144,7 @@ const useTableColumns = () => {
const handleClick = (e: React.MouseEvent) => {
if (e.ctrlKey) {
console.log("Ctrl + Click detected");
// console.log("Ctrl + Click detected");
}
// Paksa buka menu meskipun ctrl ditekan
setOpen(true);

View File

@ -105,13 +105,13 @@ const useTableColumns = () => {
if (isPublish && !isPublishOnPolda) {
displayText = "Mabes";
} else if (isPublish && isPublishOnPolda) {
if (Number(creatorGroupParentLevelId) == 761) {
if (Number(creatorGroupParentLevelId) == 771) {
displayText = "Mabes & Satker";
} else {
displayText = "Mabes & Polda";
}
} else if (!isPublish && isPublishOnPolda) {
if (Number(creatorGroupParentLevelId) == 761) {
if (Number(creatorGroupParentLevelId) == 771) {
displayText = "Satker";
} else {
displayText = "Polda";

View File

@ -105,13 +105,13 @@ const useTableColumns = () => {
if (isPublish && !isPublishOnPolda) {
displayText = "Mabes";
} else if (isPublish && isPublishOnPolda) {
if (Number(creatorGroupParentLevelId) == 761) {
if (Number(creatorGroupParentLevelId) == 771) {
displayText = "Mabes & Satker";
} else {
displayText = "Mabes & Polda";
}
} else if (!isPublish && isPublishOnPolda) {
if (Number(creatorGroupParentLevelId) == 761) {
if (Number(creatorGroupParentLevelId) == 771) {
displayText = "Satker";
} else {
displayText = "Polda";

View File

@ -65,7 +65,6 @@ const useTableColumns = () => {
header: "Status",
cell: ({ row }) => {
const isActive = row.getValue<boolean>("isActive");
console.log("isActive value:", isActive); // TypeScript type is inferred correctly
return (
<div>
{isActive ? (

View File

@ -121,9 +121,6 @@ const MediahubTable = () => {
contentData.forEach((item: any, index: number) => {
item.no = (page - 1) * limit + index + 1;
});
console.log("contentData : ", contentData);
setDataTable(contentData);
setTotalData(data?.totalElements);
setTotalPage(data?.totalPages);

View File

@ -65,7 +65,6 @@ const useTableColumns = () => {
header: "Status",
cell: ({ row }) => {
const isActive = row.getValue<boolean>("isActive");
console.log("isActive value:", isActive); // TypeScript type is inferred correctly
return (
<div>
{isActive ? (

View File

@ -121,9 +121,6 @@ const MedsosTable = () => {
contentData.forEach((item: any, index: number) => {
item.no = (page - 1) * limit + index + 1;
});
console.log("contentData : ", contentData);
setDataTable(contentData);
setTotalData(data?.totalElements);
setTotalPage(data?.totalPages);

View File

@ -73,7 +73,22 @@ const useTableColumns = ({
{
accessorKey: "status",
header: t("status", { defaultValue: "Status" }),
cell: ({ row }) => <span className="">{row.getValue("status")}</span>,
cell: ({ row }) => {
const version = Number(row.original.version); // pastikan number
const isProcess = version === 0;
const status = isProcess ? "Proses" : "Selesai";
return (
<span
className={`px-2 py-1 rounded-full text-white text-xs font-semibold ${
isProcess ? "bg-yellow-500" : "bg-green-600"
}`}
>
{status}
</span>
);
},
},
{
@ -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`);

View File

@ -170,7 +170,7 @@ const ReportTable = () => {
};
const handlePreview = (id: string) => {
const url = `https://new.netidhub.com/api/media/report/view?id=${id}`;
const url = `https://new.netidhub.com/api/v2/media/report/view?id=${id}`;
setPreviewData({ url });
setOpenPreview(true);
};
@ -223,9 +223,6 @@ const ReportTable = () => {
contentData.forEach((item: any, index: number) => {
item.no = (page - 1) * Number(showData) + index + 1;
});
console.log("contentData : ", contentData);
setDataTable(contentData);
setTotalData(data?.totalElements);
setTotalPage(data?.totalPages);

View File

@ -130,9 +130,6 @@ const CalendarPolriTable = () => {
contentData.forEach((item: any, index: number) => {
item.no = (page - 1) * Number(showData) + index + 1;
});
console.log("contentData : ", contentData);
setDataTable(contentData);
setTotalData(data?.totalElements);
setTotalPage(data?.totalPages);

View File

@ -62,7 +62,6 @@ const useTableColumns = () => {
accessorKey: "time",
header: t("time", { defaultValue: "Time" }),
cell: ({ row }: { row: { original: any } }) => {
console.log("Row Original Data:", row.original);
const { startTime, endTime } = row.original;
return (
<span className="whitespace-nowrap">
@ -113,7 +112,6 @@ const useTableColumns = () => {
accessorKey: "speaker",
header: t("speaker", { defaultValue: "Speaker" }),
cell: ({ row }: { row: { original: any } }) => {
console.log("Row Original Data:", row.original);
const { speakerTitle, speakerName } = row.original;
return (
<span className="whitespace-nowrap">

View File

@ -114,9 +114,6 @@ const EventTable = () => {
contentData.forEach((item: any, index: number) => {
item.no = (page - 1) * Number(showData) + index + 1;
});
console.log("contentData : ", contentData);
setDataTable(contentData);
setTotalData(data?.totalElements);
setTotalPage(data?.totalPages);

View File

@ -66,7 +66,7 @@ const useTableColumns = (props: { selectedTypeSchedule: string }) => {
accessorKey: "time",
header: t("time", { defaultValue: "Time" }),
cell: ({ row }: { row: { original: any } }) => {
console.log("Row Original Data:", row.original);
// console.log("Row Original Data:", row.original);
const { startTime, endTime } = row.original;
return (
<span className="whitespace-nowrap">
@ -117,7 +117,7 @@ const useTableColumns = (props: { selectedTypeSchedule: string }) => {
accessorKey: "speaker",
header: t("speaker", { defaultValue: "Speaker" }),
cell: ({ row }: { row: { original: any } }) => {
console.log("Row Original Data:", row.original);
// console.log("Row Original Data:", row.original);
const { speakerTitle, speakerName } = row.original;
return (
<span className="whitespace-nowrap">

View File

@ -139,7 +139,7 @@ const LiveReportTable = () => {
item.no = (page - 1) * Number(showData) + index + 1;
});
console.log("contentData : ", contentData);
// console.log("contentData : ", contentData);
setDataTable(contentData);
setTotalData(data?.totalElements);

View File

@ -62,7 +62,7 @@ const useTableColumns = () => {
accessorKey: "time",
header: t("time", { defaultValue: "Time" }),
cell: ({ row }: { row: { original: any } }) => {
console.log("Row Original Data:", row.original);
// console.log("Row Original Data:", row.original);
const { startTime, endTime } = row.original;
return (
<span className="whitespace-nowrap">
@ -113,7 +113,7 @@ const useTableColumns = () => {
accessorKey: "speaker",
header: t("speaker", { defaultValue: "Speaker" }),
cell: ({ row }: { row: { original: any } }) => {
console.log("Row Original Data:", row.original);
// console.log("Row Original Data:", row.original);
const { speakerTitle, speakerName } = row.original;
return (
<span className="whitespace-nowrap">

View File

@ -129,7 +129,7 @@ const PressConferenceTable = () => {
item.no = (page - 1) * Number(showData) + index + 1;
});
console.log("contentData : ", contentData);
// console.log("contentData : ", contentData);
setDataTable(contentData);
setTotalData(data?.totalElements);

View File

@ -62,7 +62,7 @@ const useTableColumns = () => {
accessorKey: "time",
header: t("time", { defaultValue: "Time" }),
cell: ({ row }: { row: { original: any } }) => {
console.log("Row Original Data:", row.original);
// console.log("Row Original Data:", row.original);
const { startTime, endTime } = row.original;
return (
<span className="whitespace-nowrap">
@ -113,7 +113,7 @@ const useTableColumns = () => {
accessorKey: "speaker",
header: t("speaker", { defaultValue: "Speaker" }),
cell: ({ row }: { row: { original: any } }) => {
console.log("Row Original Data:", row.original);
// console.log("Row Original Data:", row.original);
const { speakerTitle, speakerName } = row.original;
return (
<span className="whitespace-nowrap">

View File

@ -130,7 +130,7 @@ const PressReleaseTable = () => {
item.no = (page - 1) * Number(showData) + index + 1;
});
console.log("contentData : ", contentData);
// console.log("contentData : ", contentData);
setDataTable(contentData);
setTotalData(data?.totalElements);

View File

@ -160,7 +160,7 @@ const TaskTable = () => {
item.no = (page - 1) * Number(showData) + index + 1;
});
console.log("contentData : ", contentData);
// console.log("contentData : ", contentData);
setDataTable(contentData);
setTotalData(data?.totalElements);

View File

@ -14,7 +14,7 @@ export default function UserFeedback() {
}, []);
async function initState() {
const response = await getUserFeedbacks();
console.log("ssss", response?.data?.data);
// console.log("ssss", response?.data?.data);
setListData(response?.data?.data);
}

View File

@ -115,7 +115,7 @@ const MediaTrackingTable = () => {
item.no = (page - 1) * limit + index + 1;
});
console.log("contentData : ", data);
// console.log("contentData : ", data);
setDataTable(contentData);
setTotalData(data?.totalElements);

View File

@ -113,13 +113,12 @@ const TaskPlanMediahubTable = (props: {
// try {
// const res = await ticketingPagination("", limit, page - 1);
// const data = res?.data?.data;
console.log("datgaa", data);
const contentData = data;
contentData.forEach((item: any, index: number) => {
item.no = (page - 1) * limit + index + 1;
});
console.log("contentData : ", contentData);
// console.log("contentData : ", contentData);
setDataTable(contentData);
// setTotalData(data?.totalElements);

View File

@ -153,8 +153,6 @@ export default function DetailDaily() {
if (res?.data?.data != undefined) {
const data = res?.data?.data;
console.log("data");
console.log("Data :", data);
form.setValue("title", data.title);
form.setValue("detail", data.description);
form.setValue("date", new Date(data.date));
@ -205,7 +203,7 @@ export default function DetailDaily() {
const editor = useRef(null);
const onSubmit = async (data: z.infer<typeof FormSchema>) => {
console.log("data", data);
// console.log("data", data);
if (form.getValues("detail") == "") {
form.setError("detail", {
type: "manual",
@ -234,7 +232,7 @@ export default function DetailDaily() {
.filter((key) => selected[key])
.join(", ");
};
console.log("data", data, selected);
// console.log("data", data, selected);
loading();
const reqData = {
@ -258,7 +256,7 @@ export default function DetailDaily() {
assignmentMainTypeId: 1,
};
console.log("req =>", reqData);
// console.log("req =>", reqData);
const response = await savePlanning(reqData);
if (response?.error) {

View File

@ -152,8 +152,6 @@ export default function EditDaily() {
if (res?.data?.data != undefined) {
const data = res?.data?.data;
console.log("data");
console.log("Data :", data);
form.setValue("title", data.title);
form.setValue("detail", data.description);
form.setValue("date", new Date(data.date));
@ -218,7 +216,7 @@ export default function EditDaily() {
const editor = useRef(null);
const onSubmit = async (data: z.infer<typeof FormSchema>) => {
console.log("data", data);
// console.log("data", data);
if (form.getValues("detail") == "") {
form.setError("detail", {
type: "manual",
@ -247,7 +245,7 @@ export default function EditDaily() {
.filter((key) => selected[key])
.join(", ");
};
console.log("data", data, selected);
// console.log("data", data, selected);
loading();
const reqData = {

View File

@ -166,7 +166,7 @@ export default function CreateDaily() {
const editor = useRef(null);
const onSubmit = async (data: z.infer<typeof FormSchema>) => {
console.log("data", data);
// console.log("data", data);
if (form.getValues("detail") == "") {
form.setError("detail", {
type: "manual",
@ -195,7 +195,7 @@ export default function CreateDaily() {
.filter((key) => selected[key])
.join(", ");
};
console.log("data", data, selected);
// console.log("data", data, selected);
loading();
const reqData = {
@ -219,7 +219,7 @@ export default function CreateDaily() {
assignmentMainTypeId: 1,
};
console.log("req =>", reqData);
// console.log("req =>", reqData);
const response = await savePlanning(reqData);
if (response?.error) {

View File

@ -76,11 +76,9 @@ export default function DetailMonthly() {
close();
if (res?.data?.data != undefined) {
const data = res?.data?.data;
console.log("Data :", data);
form.setValue("title", data?.title);
form.setValue("detail", data.description);
const date = parseDate(data.date);
console.log("date", date);
form.setValue(
"month",
new Date(date.getFullYear(), date.getMonth(), 1)
@ -127,7 +125,7 @@ export default function DetailMonthly() {
).getFullYear()}`,
status: "Open",
};
console.log("req", reqData, data.month);
// console.log("req", reqData, data.month);
const response = await savePlanning(reqData);
close();
if (response?.error) {
@ -154,7 +152,7 @@ export default function DetailMonthly() {
selectedDate.getMonth(),
1
);
console.log("newDate", newDate, selectedDate);
// console.log("newDate", newDate, selectedDate);
form.setValue("month", newDate);
};
return (

View File

@ -77,11 +77,9 @@ export default function EditMonthly() {
close();
if (res?.data?.data != undefined) {
const data = res?.data?.data;
console.log("Data :", data);
form.setValue("title", data?.title);
form.setValue("detail", data.description);
const date = parseDate(data.date);
console.log("date", date);
form.setValue(
"month",
new Date(date.getFullYear(), date.getMonth(), 1)
@ -129,7 +127,7 @@ export default function EditMonthly() {
date: `${month.toString().padStart(2, "0")}/${year}`,
status: "Open",
};
console.log("req", reqData, data.month);
// console.log("req", reqData, data.month);
const response = await savePlanning(reqData);
close();
if (response?.error) {
@ -156,7 +154,7 @@ export default function EditMonthly() {
selectedDate.getMonth(),
1
);
console.log("newDate", newDate, selectedDate);
// console.log("newDate", newDate, selectedDate);
form.setValue("month", newDate);
};
return (

View File

@ -97,7 +97,7 @@ export default function CreateMonthly() {
date: `${month.toString().padStart(2, "0")}/${year}`,
status: "Open",
};
console.log("req", reqData, data.month);
// console.log("req", reqData, data.month);
const response = await savePlanning(reqData);
close();
if (response?.error) {

View File

@ -119,7 +119,7 @@ export default function DetailWeekly() {
status: "Open",
parentId: parentId,
};
console.log("req", reqData);
// console.log("req", reqData);
const response = await savePlanning(reqData);
close();
if (response?.error) {
@ -147,7 +147,7 @@ export default function DetailWeekly() {
close();
if (res?.data?.data != undefined) {
const data = res?.data?.data;
console.log("Data :", data);
// console.log("Data :", data);
form.setValue("title", data?.title);
form.setValue("week", {
from: new Date(data?.startDate),

View File

@ -118,7 +118,7 @@ export default function EditWeekly() {
status: "Open",
parentId: parentId,
};
console.log("req", reqData);
// console.log("req", reqData);
const response = await savePlanning(reqData);
close();
if (response?.error) {
@ -146,7 +146,7 @@ export default function EditWeekly() {
close();
if (res?.data?.data != undefined) {
const data = res?.data?.data;
console.log("Data :", data);
// console.log("Data :", data);
form.setValue("title", data?.title);
form.setValue("week", {
from: new Date(data?.startDate),

View File

@ -117,7 +117,7 @@ export default function CreateMonthly() {
status: "Open",
parentId: Number(data.parentId),
};
console.log("req", reqData);
// console.log("req", reqData);
const response = await savePlanning(reqData);
close();
if (response?.error) {

View File

@ -48,7 +48,7 @@ export default function DetailTaskPlanMediahub() {
if (res?.data?.data != undefined) {
const data = res?.data?.data;
console.log("Data :", data);
// console.log("Data :", data);
setPlanningData(data);
setAssignedTopLevel(data?.assignedToTopLevel);
setArrayDestination(data?.assignedToLevel);
@ -112,7 +112,7 @@ export default function DetailTaskPlanMediahub() {
label: option.title,
value: option.id,
}));
console.log("res", optionArr);
// console.log("res", optionArr);
setWeeklyList(optionArr);
}

View File

@ -113,13 +113,13 @@ const TaskPlanMediahubTable = (props: {
// try {
// const res = await ticketingPagination("", limit, page - 1);
// const data = res?.data?.data;
console.log("datgaa", data);
// console.log("datgaa", data);
const contentData = data;
contentData.forEach((item: any, index: number) => {
item.no = (page - 1) * limit + index + 1;
});
console.log("contentData : ", contentData);
// console.log("contentData : ", contentData);
setDataTable(contentData);
// setTotalData(data?.totalElements);

View File

@ -153,8 +153,6 @@ export default function DetailDaily() {
if (res?.data?.data != undefined) {
const data = res?.data?.data;
console.log("data");
console.log("Data :", data);
form.setValue("title", data.title);
form.setValue("detail", data.description);
form.setValue("date", new Date(data.date));
@ -205,7 +203,7 @@ export default function DetailDaily() {
const editor = useRef(null);
const onSubmit = async (data: z.infer<typeof FormSchema>) => {
console.log("data", data);
// console.log("data", data);
if (form.getValues("detail") == "") {
form.setError("detail", {
type: "manual",
@ -234,7 +232,7 @@ export default function DetailDaily() {
.filter((key) => selected[key])
.join(", ");
};
console.log("data", data, selected);
// console.log("data", data, selected);
loading();
const reqData = {
@ -258,7 +256,7 @@ export default function DetailDaily() {
assignmentMainTypeId: 1,
};
console.log("req =>", reqData);
// console.log("req =>", reqData);
const response = await savePlanning(reqData);
if (response?.error) {

View File

@ -152,8 +152,6 @@ export default function EditDaily() {
if (res?.data?.data != undefined) {
const data = res?.data?.data;
console.log("data");
console.log("Data :", data);
form.setValue("title", data.title);
form.setValue("detail", data.description);
form.setValue("date", new Date(data.date));
@ -218,7 +216,7 @@ export default function EditDaily() {
const editor = useRef(null);
const onSubmit = async (data: z.infer<typeof FormSchema>) => {
console.log("data", data);
// console.log("data", data);
if (form.getValues("detail") == "") {
form.setError("detail", {
type: "manual",
@ -247,7 +245,7 @@ export default function EditDaily() {
.filter((key) => selected[key])
.join(", ");
};
console.log("data", data, selected);
// console.log("data", data, selected);
loading();
const reqData = {

View File

@ -239,7 +239,7 @@ export default function CreateDaily() {
assignmentMainTypeId: 2,
};
console.log("req =>", reqData);
// console.log("req =>", reqData);
const response = await savePlanning(reqData);
if (response?.error) {

View File

@ -76,11 +76,11 @@ export default function DetailMonthly() {
close();
if (res?.data?.data != undefined) {
const data = res?.data?.data;
console.log("Data :", data);
// console.log("Data :", data);
form.setValue("title", data?.title);
form.setValue("detail", data.description);
const date = parseDate(data.date);
console.log("date", date);
// console.log("date", date);
form.setValue(
"month",
new Date(date.getFullYear(), date.getMonth(), 1)
@ -127,7 +127,7 @@ export default function DetailMonthly() {
date: `${month.toString().padStart(2, "0")}/${year}`,
status: "Open",
};
console.log("req", reqData, data.month);
// console.log("req", reqData, data.month);
const response = await savePlanning(reqData);
close();
if (response?.error) {
@ -154,7 +154,7 @@ export default function DetailMonthly() {
selectedDate.getMonth(),
1
);
console.log("newDate", newDate, selectedDate);
// console.log("newDate", newDate, selectedDate);
form.setValue("month", newDate);
};
return (

View File

@ -76,11 +76,11 @@ export default function EditMonthly() {
close();
if (res?.data?.data != undefined) {
const data = res?.data?.data;
console.log("Data :", data);
// console.log("Data :", data);
form.setValue("title", data?.title);
form.setValue("detail", data.description);
const date = parseDate(data.date);
console.log("date", date);
// console.log("date", date);
form.setValue(
"month",
new Date(date.getFullYear(), date.getMonth(), 1)
@ -128,7 +128,7 @@ export default function EditMonthly() {
date: `${month.toString().padStart(2, "0")}/${year}`,
status: "Open",
};
console.log("req", reqData, data.month);
// console.log("req", reqData, data.month);
const response = await savePlanning(reqData);
close();
if (response?.error) {
@ -155,7 +155,7 @@ export default function EditMonthly() {
selectedDate.getMonth(),
1
);
console.log("newDate", newDate, selectedDate);
// console.log("newDate", newDate, selectedDate);
form.setValue("month", newDate);
};
return (

View File

@ -95,7 +95,7 @@ export default function CreateMonthly() {
date: `${month.toString().padStart(2, "0")}/${year}`,
status: "Open",
};
console.log("req", reqData, data.month);
// console.log("req", reqData, data.month);
const response = await savePlanning(reqData);
close();
if (response?.error) {

View File

@ -119,7 +119,7 @@ export default function DetailWeekly() {
status: "Open",
parentId: parentId,
};
console.log("req", reqData);
// console.log("req", reqData);
const response = await savePlanning(reqData);
close();
if (response?.error) {
@ -147,7 +147,7 @@ export default function DetailWeekly() {
close();
if (res?.data?.data != undefined) {
const data = res?.data?.data;
console.log("Data :", data);
// console.log("Data :", data);
form.setValue("title", data?.title);
form.setValue("week", {
from: new Date(data?.startDate),

View File

@ -117,7 +117,7 @@ export default function EditWeekly() {
status: "Open",
parentId: parentId,
};
console.log("req", reqData);
// console.log("req", reqData);
const response = await savePlanning(reqData);
close();
if (response?.error) {
@ -145,7 +145,7 @@ export default function EditWeekly() {
close();
if (res?.data?.data != undefined) {
const data = res?.data?.data;
console.log("Data :", data);
// console.log("Data :", data);
form.setValue("title", data?.title);
form.setValue("week", {
from: new Date(data?.startDate),

View File

@ -115,7 +115,7 @@ export default function CreateMonthly() {
status: "Open",
parentId: Number(data.parentId),
};
console.log("req", reqData);
// console.log("req", reqData);
const response = await savePlanning(reqData);
close();
if (response?.error) {
@ -149,7 +149,7 @@ export default function CreateMonthly() {
label: option.title,
value: String(option.id),
}));
console.log("ssss", optionArr);
// console.log("ssss", optionArr);
setMonthlyList(optionArr);
}
}

View File

@ -49,7 +49,7 @@ export default function DetailTaskPlanMediahub() {
if (res?.data?.data != undefined) {
const data = res?.data?.data;
console.log("Data :", data);
// console.log("Data :", data);
setPlanningData(data);
setAssignedTopLevel(data?.assignedToTopLevel);
setArrayDestination(data?.assignedToLevel);
@ -113,7 +113,7 @@ export default function DetailTaskPlanMediahub() {
label: option.title,
value: option.id,
}));
console.log("res", optionArr);
// console.log("res", optionArr);
setWeeklyList(optionArr);
}

View File

@ -1,31 +1,12 @@
"use client";
import SiteBreadcrumb from "@/components/site-breadcrumb";
import { Button } from "@/components/ui/button";
import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card";
import {
Dialog,
DialogContent,
DialogDescription,
DialogFooter,
DialogHeader,
DialogTitle,
DialogTrigger,
} from "@/components/ui/dialog";
import { Input } from "@/components/ui/input";
import { Label } from "@/components/ui/label";
import { getCookiesDecrypt } from "@/lib/utils";
import { generateTicket } from "@/service/tableau/tableau-service";
import { LucideBoxSelect, UploadIcon } from "lucide-react";
import { useEffect, useState } from "react";
import Cookies from "js-cookie";
import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs";
import { useTranslations } from "next-intl";
import DashboardDropdown from "@/components/dashboard-dropdown";
import RecentActivity from "../routine-task/components/recent-activity";
import ContentTable from "../routine-task/components/content-table";
import { Link } from "@/i18n/routing";
import TaskTable from "../../contributor/task/components/task-table";
import PressConferenceTable from "../../contributor/schedule/press-conference/components/presscon-table";
export default function ExecutiveDataDashboard() {
const [startDate, setStartDate] = useState<any>(new Date());
@ -48,75 +29,127 @@ export default function ExecutiveDataDashboard() {
const [ticket7, setTicket7] = useState("");
const [isInternational, setIsInternational] = useState([false, false, false]);
const baseUrl = "https://analytic.sitani.info/";
const url = "https://analytic.sitani.info/trusted/";
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"
// ? isInternational[0]
// ? // "views/2023_04_MediaHUB-Viz-POLDA_Rev200_17529837622230/db-content-interaction-per-polda-new?polda-selected=ALL"
// "views/2025_10_MediaHUB-Viz-POLDA_Rev200/db-konten-header-detail?provinsi-polda=ALL"
// : // "views/2023_04_MediaHUB-Viz-POLDA_Rev200_17529837622230/db-content-interaction-per-polda-new?polda-selected=ALL"
// "views/2025_10_MediaHUB-Viz-POLDA_Rev200/db-konten-header-detail?provinsi-polda=ALL"
// : safeLevelName.includes("POLDA")
// ? // `views/2023_04_MediaHUB-Viz-POLDA_Rev200_17529837622230/db-content-interaction-per-polda-new?polda-selected=${state}&`
// `views/2025_10_MediaHUB-Viz-POLDA_Rev200/db-by-polda-publish-konten?provinsi-polda=${provState}&`
// : // `views/2023_04_MediaHUB-Viz-POLDA_Rev200_17529837622230/db-content-interaction-per-polda-new?polda-selected=${state}&`;
// `views/2025_10_MediaHUB-Viz-POLDA_Rev200/db-by-polda-publish-konten?provinsi-polda=${provState}&`;
const view1 =
levelName == "MABES POLRI"
? isInternational[0]
? "views/2023_04_MediaHUB-Viz-POLDA_Rev200/db-content-interaction-per-polda-new?polda-selected=ALL"
: "views/2023_04_MediaHUB-Viz-POLDA_Rev200/db-content-interaction-per-polda-new?polda-selected=ALL"
: safeLevelName.includes("POLDA")
? `views/2023_04_MediaHUB-Viz-POLDA_Rev200/db-content-interaction-per-polda-new?polda-selected=${state}&`
: `views/2023_04_MediaHUB-Viz-POLDA_Rev200/db-content-interaction-per-polda-new?polda-selected=${state}&`;
levelNumber === "1"
? "views/2025_10_MediaHUB-Viz-POLDA_Rev200/db-konten-header-detail?provinsi-polda=ALL"
: 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?satker-selected=${state}&`
: "";
const view2 =
levelName == "MABES POLRI"
? isInternational[1]
? "views/2023_04_MediaHUB-Viz_INTL_Rev202/db-content-interaction-per-satker?polda-selected=ALL"
: "views/2023_04_MediaHUB-Viz-POLDA_Rev200/db-content-interaction-per-satker?polda-selected=ALL"
: "views/2023_04_MediaHUB-Viz-POLDA_Rev200_17529837622230/db-content-interaction-per-satker?polda-selected=ALL"
: safeLevelName.includes("POLDA")
? `views/2023_04_MediaHUB-Viz-POLDA_Rev200/db-content-interaction-per-satker?polda-selected=SATKER POLRI&`
: `views/2023_04_MediaHUB-Viz-POLDA_Rev200/db-content-interaction-per-satker?polda-selected=SATKER POLRI&`;
? `views/2023_04_MediaHUB-Viz-POLDA_Rev200_17529837622230/db-content-interaction-per-satker?polda-selected=SATKER POLRI&`
: `views/2023_04_MediaHUB-Viz-POLDA_Rev200_17529837622230/db-content-interaction-per-satker?polda-selected=SATKER POLRI&`;
// const view3 =
// levelName == "MABES POLRI"
// ? isInternational[2]
// ? "views/2023_04_MediaHUB-Viz_INTL_Rev202/db-content-category-per-polda-new?provinsi-polda=ALL"
// : // "views/2023_04_MediaHUB-Viz-POLDA_Rev200_17529837622230/db-content-category-per-polda-new?polda-selected=ALL"
// "views/2025_10_MediaHUB-Viz-POLDA_Rev200/db-by-polda-kategori-konten?provinsi-polda=ALL"
// : safeLevelName.includes("POLDA")
// ? // `views/2023_04_MediaHUB-Viz-POLDA_Rev200_17529837622230/db-content-category-per-polda-new?polda-selected=${state}&`
// `views/2025_10_MediaHUB-Viz-POLDA_Rev200/db-by-polda-cat?provinsi-polda=${provState}&`
// : // `views/2023_04_MediaHUB-Viz-POLDA_Rev200_17529837622230/db-content-category-per-polda-new?polda-selected=${state}&`;
// `views/2025_10_MediaHUB-Viz-POLDA_Rev200/db-by-polda-cat?provinsi-polda=${provState}&`;
const view3 =
levelName == "MABES POLRI"
? isInternational[2]
? "views/2023_04_MediaHUB-Viz_INTL_Rev202/db-content-category-per-polda-new?polda-selected=ALL"
: "views/2023_04_MediaHUB-Viz-POLDA_Rev200/db-content-category-per-polda-new?polda-selected=ALL"
: safeLevelName.includes("POLDA")
? `views/2023_04_MediaHUB-Viz-POLDA_Rev200/db-content-category-per-polda-new?polda-selected=${state}&`
: `views/2023_04_MediaHUB-Viz-POLDA_Rev200/db-content-category-per-polda-new?polda-selected=${state}&`;
levelNumber === "1"
? "views/2025_10_MediaHUB-Viz-POLDA_Rev200/db-by-polda-kategori-konten?provinsi-polda=ALL"
: 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?satker-selected=${state}&`
: "";
const view4 =
levelName == "MABES POLRI"
? isInternational[1]
? "views/2023_04_MediaHUB-Viz-POLDA_Rev200/db-content-category-per-satker?polda-selected=ALL"
: "views/2023_04_MediaHUB-Viz-POLDA_Rev200/db-content-category-per-satker?polda-selected=ALL"
? "views/2023_04_MediaHUB-Viz-POLDA_Rev200_17529837622230/db-content-category-per-satker?polda-selected=ALL"
: "views/2023_04_MediaHUB-Viz-POLDA_Rev200_17529837622230/db-content-category-per-satker?polda-selected=ALL"
: safeLevelName.includes("POLDA")
? `views/2023_04_MediaHUB-Viz-POLDA_Rev200/db-content-category-per-satker?polda-selected=SATKER POLRI&`
: `views/2023_04_MediaHUB-Viz-POLDA_Rev200/db-content-category-per-satker?polda-selected=SATKER POLRI&`;
? `views/2023_04_MediaHUB-Viz-POLDA_Rev200_17529837622230/db-content-category-per-satker?polda-selected=SATKER POLRI&`
: `views/2023_04_MediaHUB-Viz-POLDA_Rev200_17529837622230/db-content-category-per-satker?polda-selected=SATKER POLRI&`;
const view5 =
levelName == "MABES POLRI"
? isInternational[1]
? "views/2023_04_MediaHUB-Viz_INTL_Rev202/db-published-produksi?"
: "views/2023_04_MediaHUB-Viz-POLDA_Rev200/db-published-produksi-executive?"
: safeLevelName.includes("POLDA")
? `views/2023_04_MediaHUB-Viz-POLDA_Rev200/db-published-produksi-polda-executive?polda-selected=${state}&`
: `views/2023_04_MediaHUB-Viz-POLDA_Rev200/db-published-produksi-polda-executive?polda-selected=${state}&`;
// const view5 =
// levelName == "MABES POLRI"
// ? isInternational[1]
// ? "views/2023_04_MediaHUB-Viz_INTL_Rev202/db-published-produksi?"
// : "views/2025_10_MediaHUB-Viz-POLDA_Rev200/db-top-konten-polda?"
// : safeLevelName.includes("POLDA")
// ? `views/2025_10_MediaHUB-Viz-POLDA_Rev200/db-published-produksi-executive?provinsi-polda=${provState}&`
// : `views/2025_10_MediaHUB-Viz-POLDA_Rev200/db-published-produksi-executive?provinsi-polda=${provState}&`;
const view5 =
levelNumber === "1"
? "views/2025_10_MediaHUB-Viz-POLDA_Rev200/db-top-konten-polda?"
: 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?satker-selected=${state}&`
: "";
// const view6 =
// levelName == "MABES POLRI"
// ? isInternational[2]
// ? "views/2023_04_MediaHUB-Viz_INTL_Rev202/db-waktu-akses-pengguna?"
// : "views/2025_10_MediaHUB-Viz-POLDA_Rev200/db-waktu-akses-pengguna-executive?"
// : safeLevelName.includes("POLDA")
// ? `views/2023_04_MediaHUB-Viz-POLDA_Rev200_17529837622230/db-waktu-akses-pengguna-polda-executive?provinsi-polda=${provState}&`
// : `views/2025_10_MediaHUB-Viz-POLDA_Rev200/db-heatmap-polda?provinsi-polda=${provState}&`;
const view6 =
levelName == "MABES POLRI"
? isInternational[2]
? "views/2023_04_MediaHUB-Viz_INTL_Rev202/db-waktu-akses-pengguna?"
: "views/2023_04_MediaHUB-Viz-POLDA_Rev200/db-waktu-akses-pengguna-executive?"
: safeLevelName.includes("POLDA")
? `views/2023_04_MediaHUB-Viz-POLDA_Rev200/db-waktu-akses-pengguna-polda-executive?polda-selected=${state}&`
: `views/2023_04_MediaHUB-Viz-POLDA_Rev200/db-waktu-akses-pengguna-polda-executive?polda-selected=${state}&`;
levelNumber === "1"
? "views/2025_10_MediaHUB-Viz-POLDA_Rev200/db-waktu-akses-pengguna-executive?"
: 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?satker-selected=${state}&`
: "";
// const view7 =
// levelName == "MABES POLRI"
// ? isInternational[2]
// ? "views/2023_04_MediaHUB-Viz_INTL_Rev202/db-penugasan-vertical-bar?"
// : "views/2025_11_db-penugasan_rev100/db-penugasan-mabes?"
// : safeLevelName.includes("POLDA")
// ? `views/2023_09_db-penugasan_rev200_17635638922590/db-penugasan-vertical-bar?polda-selected=${provState}&`
// : `views/2025_11_db-penugasan_rev100/db-penugasan-mabes?provinsi-polda=${provState}&`;
const view7 =
levelName == "MABES POLRI"
? isInternational[2]
? "views/2023_04_MediaHUB-Viz_INTL_Rev202/db-penugasan-vertical-bar?"
: "views/2023_09_db-penugasan_rev100/db-penugasan-vertical-bar?"
: safeLevelName.includes("POLDA")
? `views/2023_09_db-penugasan_rev100/db-penugasan-vertical-bar?polda-selected=${state}&`
: `views/2023_09_db-penugasan_rev100/db-penugasan-vertical-bar?polda-selected=${state}&`;
levelNumber === "1"
? "views/2025_11_db-penugasan_rev100/db-penugasan-mabes?"
: levelNumber === "2"
? `views/2025_11_db-penugasan_rev100/db-penugasan-polda?provinsi-polda=${state}&`
: levelNumber === "3"
? `views/2025_11_db-penugasan_rev100/db-penugasan-satker?provinsi-polda=${state}&`
: "";
const param = ":embed=yes&:toolbar=no&:iframeSizedToWindow=true";
const param = ":embed=yes&:toolbar=yes&:iframeSizedToWindow=true";
useEffect(() => {
async function initState() {
@ -137,7 +170,7 @@ export default function ExecutiveDataDashboard() {
const response6 = await generateTicket();
setTicket6(response6?.data?.data);
const response7 = await generateTicket();
setTicket7(response7?.data?.data);
}
@ -165,7 +198,11 @@ export default function ExecutiveDataDashboard() {
<SiteBreadcrumb />
<div>
<div className="my-3">
<Tabs defaultValue="content-publish" className="w-full" onValueChange={() => setRefreshTicket(!refreshTicket)}>
<Tabs
defaultValue="content-publish"
className="w-full"
onValueChange={() => setRefreshTicket(!refreshTicket)}
>
<TabsList className="flex-wrap bg-black">
<TabsTrigger
value="content-publish"
@ -202,10 +239,10 @@ export default function ExecutiveDataDashboard() {
<TabsContent value="content-publish">
<div className="mt-3 flex gap-2 flex-col justify-center">
{/* Polda */}
{(levelNumber === "1" || levelNumber === "2") && (
<Card
className={`rounded-sm p-3 w-full`}
>
{(levelNumber === "1" ||
levelNumber === "2" ||
levelNumber === "3") && (
<Card className={`rounded-sm p-3 w-full`}>
{/* <div className="flex flex-row justify-between">
<p className="text-base font-semibold">
Upload konten hari ini Polda
@ -233,16 +270,14 @@ export default function ExecutiveDataDashboard() {
)}
{/* Satker */}
{(levelNumber === "1") && (
<Card
className={`rounded-sm p-3 w-full`}
>
{/* <div className="flex flex-row justify-between">
{/* {levelNumber === "1" && (
<Card className={`rounded-sm p-3 w-full`}> */}
{/* <div className="flex flex-row justify-between">
<p className="text-base font-semibold">
Upload konten hari ini Satker
</p>
</div> */}
<div className="my-5">
{/* <div className="my-5">
{ticket2 == "" ? (
<iframe
src={`${baseUrl + view2 + param}`}
@ -260,53 +295,55 @@ export default function ExecutiveDataDashboard() {
)}
</div>
</Card>
)}
)} */}
</div>
</TabsContent>
<TabsContent value="content-category">
{(levelNumber === "1" || levelNumber === "2") && (
{(levelNumber === "1" ||
levelNumber === "2" ||
levelNumber === "3") && (
<Card className="px-3 py-3">
<div className="my-5">
{ticket3 == "" ? (
<iframe
src={`${baseUrl + view3 + param}`}
width="100%"
height="750"
frameBorder="0"
/>
) : (
<iframe
src={`${`${url + ticket3}/${view3}${param}`}`}
width="100%"
height="750"
frameBorder="0"
/>
)}
</div>
<div className="my-5">
{ticket3 == "" ? (
<iframe
src={`${baseUrl + view3 + param}`}
width="100%"
height="750"
frameBorder="0"
/>
) : (
<iframe
src={`${`${url + ticket3}/${view3}${param}`}`}
width="100%"
height="750"
frameBorder="0"
/>
)}
</div>
</Card>
)}
{levelNumber === "1" && (
{/* {levelNumber === "1" && (
<Card className="px-3 py-3">
<div className="my-5">
{ticket4 == "" ? (
<iframe
src={`${baseUrl + view4 + param}`}
width="100%"
height="750"
frameBorder="0"
/>
) : (
<iframe
src={`${`${url + ticket4}/${view4}${param}`}`}
width="100%"
height="750"
frameBorder="0"
/>
)}
</div>
<div className="my-5">
{ticket4 == "" ? (
<iframe
src={`${baseUrl + view4 + param}`}
width="100%"
height="750"
frameBorder="0"
/>
) : (
<iframe
src={`${`${url + ticket4}/${view4}${param}`}`}
width="100%"
height="750"
frameBorder="0"
/>
)}
</div>
</Card>
)}
)} */}
</TabsContent>
<TabsContent value="popular-content">
<Card className="rounded-sm p-3 h-[750px]">

View File

@ -37,10 +37,10 @@ export default function ExecutiveDashboard() {
const [ticket6, setTicket6] = useState("");
const [isInternational, setIsInternational] = useState([false, false, false]);
const baseUrl = "https://analytic.sitani.info/";
const url = "https://analytic.sitani.info/trusted/";
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"
@ -48,41 +48,55 @@ export default function ExecutiveDashboard() {
? "views/2023_08_MediaHUB-KtnMgt_Rev100/db-emg-issue-executive?"
: "views/2023_08_MediaHUB-KtnMgt_Rev100/db-emg-issue-executive?"
: safeLevelName.includes("POLDA")
? `views/2023_08_MediaHUB-KtnMgt_Rev100/db-emg-issue?provinsi-polda=${state}&`
: `views/2023_08_MediaHUB-KtnMgt_Rev100/db-emg-issue?provinsi-polda=${state}&`;
? `views/2023_08_MediaHUB-KtnMgt_Rev100/db-emg-issue?provinsi-polda=${provState}&`
: `views/2023_08_MediaHUB-KtnMgt_Rev100/db-emg-issue?provinsi-polda=${provState}&`;
const view2 =
levelName == "MABES POLRI"
? isInternational[1]
? "views/2023_04_MediaHUB-Viz_INTL_Rev202/db-published-produksi?"
: "views/2023_04_MediaHUB-Viz-POLDA_Rev200/db-published-produksi-executive?"
? // "views/2023_04_MediaHUB-Viz_INTL_Rev202/db-published-produksi?"
"/views/2025_10_MediaHUB-Viz-POLDA_Rev200/db-published-produksi-executive?"
: // "views/2023_04_MediaHUB-Viz-POLDA_Rev200/db-published-produksi-executive?"
"/views/2025_10_MediaHUB-Viz-POLDA_Rev200/db-published-produksi-executive?"
: safeLevelName.includes("POLDA")
? `views/2023_04_MediaHUB-Viz-POLDA_Rev200/db-published-produksi-polda-executive?polda-selected=${state}&`
: `views/2023_04_MediaHUB-Viz-POLDA_Rev200/db-published-produksi-polda-executive?polda-selected=${state}&`;
? // `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-top-satker?satker-selected=${state}&`;
const view3 =
levelName == "MABES POLRI"
? isInternational[2]
? "views/2023_04_MediaHUB-Viz_INTL_Rev202/db-waktu-akses-pengguna?"
: "views/2023_04_MediaHUB-Viz-POLDA_Rev200/db-waktu-akses-pengguna-executive?"
? // "views/2023_04_MediaHUB-Viz_INTL_Rev202/db-waktu-akses-pengguna?"
"views/2025_10_MediaHUB-Viz-POLDA_Rev200/db-waktu-akses-pengguna-executive?"
: // "views/2023_04_MediaHUB-Viz-POLDA_Rev200/db-waktu-akses-pengguna-executive?"
"views/2025_10_MediaHUB-Viz-POLDA_Rev200/db-waktu-akses-pengguna-executive?"
: safeLevelName.includes("POLDA")
? `views/2023_04_MediaHUB-Viz-POLDA_Rev200/db-waktu-akses-pengguna-polda-executive?polda-selected=${state}&`
: `views/2023_04_MediaHUB-Viz-POLDA_Rev200/db-waktu-akses-pengguna-polda-executive?polda-selected=${state}&`;
? // `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-hm-satker?satker-selected=${state}`;
const view4 =
levelName == "MABES POLRI"
? isInternational[1]
? "views/2023_04_MediaHUB-Viz-POLDA_Rev200/db-content-interaction-polda?"
: "views/2023_04_MediaHUB-Viz-POLDA_Rev200/db-content-interaction-polda?"
? // "views/2023_04_MediaHUB-Viz-POLDA_Rev200/db-content-interaction-polda?"
"views/2025_11_Mediahub-Admin-Mabes-Breadkdown-Rev100/db-konten-header?"
: // "views/2023_04_MediaHUB-Viz-POLDA_Rev200/db-content-interaction-polda?"
"views/2025_11_Mediahub-Admin-Mabes-Breadkdown-Rev100/db-konten-header?"
: safeLevelName.includes("POLDA")
? `views/2023_04_MediaHUB-Viz-POLDA_Rev200/db-content-interaction-polda?polda-selected=${state}&`
: `views/2023_04_MediaHUB-Viz-POLDA_Rev200/db-content-interaction-polda?polda-selected=${state}&`;
? // `views/2023_04_MediaHUB-Viz-POLDA_Rev200/db-content-interaction-polda?polda-selected=${state}&`
`views/2025_11_Mediahub-Admin-Mabes-Breadkdown-Rev100/db-konten-header?provinsi-polda=${provState}&`
: // `views/2023_04_MediaHUB-Viz-POLDA_Rev200/db-content-interaction-polda?polda-selected=${state}&`;
`views/2025_11_Mediahub-Admin-Mabes-Breadkdown-Rev100/db-konten-header?provinsi-polda=${provState}&`;
const view5 =
levelName == "MABES POLRI"
? isInternational[1]
? "views/2023_04_MediaHUB-Viz-POLDA_Rev200/db-content-interaction-polres?"
: "views/2023_04_MediaHUB-Viz-POLDA_Rev200/db-content-interaction-polres?"
? // "views/2023_04_MediaHUB-Viz-POLDA_Rev200/db-content-interaction-polres?"
"views/2025_10_MediaHUB-Viz-POLDA_Rev200/db-konten-header"
: // "views/2023_04_MediaHUB-Viz-POLDA_Rev200/db-content-interaction-polres?"
"views/2025_10_MediaHUB-Viz-POLDA_Rev200/db-konten-header"
: safeLevelName.includes("POLDA")
? `views/2023_04_MediaHUB-Viz-POLDA_Rev200/db-content-interaction-polres?provinsi-polda=${state}&`
: `views/2023_04_MediaHUB-Viz-POLDA_Rev200/db-content-interaction-polres?provinsi-polda=${state}&`;
@ -90,13 +104,15 @@ export default function ExecutiveDashboard() {
const view6 =
levelName == "MABES POLRI"
? isInternational[1]
? "views/2023_04_MediaHUB-Viz-POLDA_Rev200/db-content-interaction-satker?"
: "views/2023_04_MediaHUB-Viz-POLDA_Rev200/db-content-interaction-satker?"
? // "views/2023_04_MediaHUB-Viz-POLDA_Rev200/db-content-interaction-satker?"
"views/2025_10_MediaHUB-Viz-POLDA_Rev200/db-konten-header"
: // "views/2023_04_MediaHUB-Viz-POLDA_Rev200/db-content-interaction-satker?"
"views/2025_10_MediaHUB-Viz-POLDA_Rev200/db-konten-header"
: safeLevelName.includes("POLDA")
? `views/2023_04_MediaHUB-Viz-POLDA_Rev200/db-content-interaction-satker?satker-selected=${state}&`
: `views/2023_04_MediaHUB-Viz-POLDA_Rev200/db-content-interaction-satker?satker-selected=${state}&`;
const param = ":embed=yes&:toolbar=no&:iframeSizedToWindow=true";
const param = ":embed=yes&:toolbar=yes&:iframeSizedToWindow=true";
useEffect(() => {
async function initState() {
@ -140,8 +156,94 @@ export default function ExecutiveDashboard() {
return (
<div>
<SiteBreadcrumb />
<div className="mt-3 flex gap-2 flex-row justify-center">
{/* Polda */}
<div className="mt-3">
<Card className="rounded-sm p-5 w-full">
<div className="flex flex-row flex-wrap gap-5 justify-between">
{/* ===================== POLDA ===================== */}
{(levelNumber === "1" || levelNumber === "2" || levelNumber === "3") && (
<div className="flex-1 min-w-[350px]">
<p className="text-base font-semibold mb-3">
Publish Konten
</p>
{ticket1 == "" ? (
<iframe
src={`${baseUrl + view4 + param}`}
width="100%"
height="750"
frameBorder="0"
className="rounded-md"
/>
) : (
<iframe
src={`${url + ticket1}/${view4}${param}`}
width="100%"
height="750"
frameBorder="0"
className="rounded-md"
/>
)}
</div>
)}
{/* ===================== POLRES ===================== */}
{/* {(levelNumber === "1" || levelNumber === "2") && (
<div className="flex-1 min-w-[350px]">
<p className="text-base font-semibold mb-3">
Publish Konten Polres
</p>
{ticket3 == "" ? (
<iframe
src={`${baseUrl + view5 + param}`}
width="100%"
height="750"
frameBorder="0"
className="rounded-md"
/>
) : (
<iframe
src={`${url + ticket3}/${view5}${param}`}
width="100%"
height="750"
frameBorder="0"
className="rounded-md"
/>
)}
</div>
)} */}
{/* ===================== SATKER ===================== */}
{/* {(levelNumber === "1" || levelNumber === "3") && (
<div className="flex-1 min-w-[350px]">
<p className="text-base font-semibold mb-3">
Publish Konten Satker
</p>
{ticket2 == "" ? (
<iframe
src={`${baseUrl + view6 + param}`}
width="100%"
height="750"
frameBorder="0"
className="rounded-md"
/>
) : (
<iframe
src={`${url + ticket2}/${view6}${param}`}
width="100%"
height="750"
frameBorder="0"
className="rounded-md"
/>
)}
</div>
)} */}
</div>
</Card>
</div>
{/* <div className="mt-3 flex gap-2 flex-row justify-center">
{(levelNumber === "1" || levelNumber === "2") && (
<Card
className={`rounded-sm p-3 ${
@ -200,7 +302,6 @@ export default function ExecutiveDashboard() {
</Card>
)}
{/* Satker */}
{(levelNumber === "1" || levelNumber === "3") && (
<Card
className={`rounded-sm p-3 ${
@ -229,7 +330,7 @@ export default function ExecutiveDashboard() {
</div>
</Card>
)}
</div>
</div> */}
<div className="w-full mt-3">
<Card className="rounded-sm p-3 h-[750px]">
<div className="flex flex-row justify-between">
@ -280,7 +381,7 @@ export default function ExecutiveDashboard() {
</div>
</Card>
</div>
<div className="w-full mt-3">
{/* <div className="w-full mt-3">
<Card className="rounded-sm p-3 h-auto">
<div className="flex flex-row justify-between">
<p className="text-base font-semibold">Emergency Issue</p>
@ -306,7 +407,7 @@ export default function ExecutiveDashboard() {
</div>
</div>
</Card>
</div>
</div> */}
</div>
);
}

View File

@ -156,7 +156,7 @@ const ContentTable = () => {
item.no = (page - 1) * limit + index + 1;
});
console.log("contentData : ", contentData);
// console.log("contentData : ", contentData);
setDataTable(contentData);
setTotalData(data?.totalElements);

View File

@ -152,7 +152,7 @@ const CollaborationTable = () => {
contentData.forEach((item: any, index: number) => {
item.no = (page - 1) * Number(showData) + index + 1;
});
console.log("contentData : ", contentData);
// console.log("contentData : ", contentData);
setDataTable(contentData);
setTotalData(data?.totalElements);
setTotalPage(data?.totalPages);

View File

@ -42,11 +42,11 @@ export default function CollaborationPage() {
const res = await getTicketCollaborationTeams(String(id));
if (res?.data !== null) {
console.log("response teams:", res);
// console.log("response teams:", res);
setDetailTickets(res?.data?.data?.tickets);
setTeams(res?.data?.data?.userTeam);
console.log("userteam", res?.data?.data?.userTeam);
// console.log("userteam", res?.data?.data?.userTeam);
}
}
}
@ -59,7 +59,7 @@ export default function CollaborationPage() {
if (id != undefined) {
loading();
const responseGet = await getCollabDiscussion(String(id));
console.log("get res data", responseGet?.data?.data);
// console.log("get res data", responseGet?.data?.data);
close();
setListDiscussion(responseGet?.data?.data);
}
@ -68,7 +68,7 @@ export default function CollaborationPage() {
async function deleteDataSuggestion(dataId: string | number) {
loading();
const response = await deleteCollabDiscussion(dataId);
console.log(response);
// console.log(response);
toast({
title: "Sukses hapus",
});

Some files were not shown because too many files have changed in this diff Show More