fix build

This commit is contained in:
Rama Priyanto 2025-02-13 11:53:53 +07:00
parent 58d831a94c
commit 5a34f19488
17 changed files with 1624 additions and 1526 deletions

View File

@ -1,7 +1,8 @@
import FormApplication from '@/components/form/form-permohonan-informasi' import FormApplication from "@/components/form/form-permohonan-informasi";
export default function ApplicationPage() { export default function ApplicationPage() {
return ( return (
<FormApplication /> <div></div>
) // <FormApplication />
);
} }

View File

@ -1,8 +1,9 @@
import FormObjectionRequest from '@/components/form/form-permohonan-keberatan' import FormObjectionRequest from "@/components/form/form-permohonan-keberatan";
import React from 'react' import React from "react";
export default function PermohonanKeberanatan() { export default function PermohonanKeberanatan() {
return ( return (
<FormObjectionRequest /> <div></div>
) // <FormObjectionRequest />
);
} }

View File

@ -1,8 +1,9 @@
import FormApplication from '@/components/form/form-permohonan-informasi' import FormApplication from "@/components/form/form-permohonan-informasi";
import React from 'react' import React from "react";
export default function RegistrasiPage() { export default function RegistrasiPage() {
return ( return (
<FormApplication /> <div></div>
) // <FormApplication />
);
} }

View File

@ -60,9 +60,9 @@ export default function HumasNavbarWrapper({ children }: Props) {
<DropdownItem key="logout" color="danger"> <DropdownItem key="logout" color="danger">
Log Out Log Out
</DropdownItem> </DropdownItem>
<DropdownItem> {/* <DropdownItem>
<ThemeSwitch /> <ThemeSwitch />
</DropdownItem> </DropdownItem> */}
</DropdownMenu> </DropdownMenu>
</Dropdown> </Dropdown>
</NavbarContent> </NavbarContent>

View File

@ -185,6 +185,7 @@ export default function NavbarHumas(props: { size: string }) {
}} }}
> >
<DropdownItem <DropdownItem
key="SP2HP"
onPress={() => onPress={() =>
window.open( window.open(
"https://sp2hp.bareskrim.polri.go.id/", "https://sp2hp.bareskrim.polri.go.id/",
@ -203,7 +204,7 @@ export default function NavbarHumas(props: { size: string }) {
</div> </div>
</div> </div>
</DropdownItem> </DropdownItem>
<DropdownItem> <DropdownItem key="Formulir Permohonan Informasi">
<div className="flex flex-row gap-2"> <div className="flex flex-row gap-2">
<img src="pm2.png" className="w-[35px]" /> <img src="pm2.png" className="w-[35px]" />
<div className="flex flex-col "> <div className="flex flex-col ">
@ -217,6 +218,7 @@ export default function NavbarHumas(props: { size: string }) {
</div> </div>
</DropdownItem> </DropdownItem>
<DropdownItem <DropdownItem
key={"SIM"}
onPress={() => onPress={() =>
window.open( window.open(
"https://www.digitalkorlantas.id/sim/", "https://www.digitalkorlantas.id/sim/",
@ -236,6 +238,7 @@ export default function NavbarHumas(props: { size: string }) {
</div> </div>
</DropdownItem> </DropdownItem>
<DropdownItem <DropdownItem
key={"erikkes"}
onPress={() => window.open("https://erikkes.id/", "_blank")} onPress={() => window.open("https://erikkes.id/", "_blank")}
> >
<div className="flex flex-row gap-2"> <div className="flex flex-row gap-2">
@ -252,6 +255,7 @@ export default function NavbarHumas(props: { size: string }) {
</div> </div>
</DropdownItem> </DropdownItem>
<DropdownItem <DropdownItem
key={"eppsi"}
onPress={() => window.open("https://eppsi.id/", "_blank")} onPress={() => window.open("https://eppsi.id/", "_blank")}
> >
<div className="flex flex-row gap-2"> <div className="flex flex-row gap-2">
@ -267,6 +271,7 @@ export default function NavbarHumas(props: { size: string }) {
</div> </div>
</DropdownItem> </DropdownItem>
<DropdownItem <DropdownItem
key={"eavis"}
onPress={() => onPress={() =>
window.open( window.open(
"https://e-avis.korlantas.polri.go.id/", "https://e-avis.korlantas.polri.go.id/",
@ -285,6 +290,7 @@ export default function NavbarHumas(props: { size: string }) {
</div> </div>
</DropdownItem> </DropdownItem>
<DropdownItem <DropdownItem
key={"samsat"}
onPress={() => onPress={() =>
window.open("https://samsatdigital.id/", "_blank") window.open("https://samsatdigital.id/", "_blank")
} }
@ -302,6 +308,7 @@ export default function NavbarHumas(props: { size: string }) {
</div> </div>
</DropdownItem> </DropdownItem>
<DropdownItem <DropdownItem
key={"skck"}
onPress={() => onPress={() =>
window.open("https://skck.polri.go.id/", "_blank") window.open("https://skck.polri.go.id/", "_blank")
} }
@ -317,6 +324,7 @@ export default function NavbarHumas(props: { size: string }) {
</div> </div>
</DropdownItem> </DropdownItem>
<DropdownItem <DropdownItem
key={"propam"}
onPress={() => onPress={() =>
window.open( window.open(
"https://play.google.com/store/apps/details?id=com.stk.pengaduanpropam&pli=1", "https://play.google.com/store/apps/details?id=com.stk.pengaduanpropam&pli=1",
@ -338,6 +346,7 @@ export default function NavbarHumas(props: { size: string }) {
</div> </div>
</DropdownItem> </DropdownItem>
<DropdownItem <DropdownItem
key={"dumas"}
onPress={() => onPress={() =>
window.open("https://dumaspresisi.polri.go.id/", "_blank") window.open("https://dumaspresisi.polri.go.id/", "_blank")
} }
@ -356,6 +365,7 @@ export default function NavbarHumas(props: { size: string }) {
</div> </div>
</DropdownItem> </DropdownItem>
<DropdownItem <DropdownItem
key={"binmas"}
onPress={() => onPress={() =>
window.open("https://bos.polri.go.id/login", "_blank") window.open("https://bos.polri.go.id/login", "_blank")
} }
@ -372,6 +382,7 @@ export default function NavbarHumas(props: { size: string }) {
</div> </div>
</DropdownItem> </DropdownItem>
<DropdownItem <DropdownItem
key={"ccpolri"}
onPress={() => onPress={() =>
window.open( window.open(
"https://play.google.com/store/apps/details?id=id.go.ssdmpolri.pengaduanappsbarupolri2", "https://play.google.com/store/apps/details?id=id.go.ssdmpolri.pengaduanappsbarupolri2",
@ -432,7 +443,7 @@ export default function NavbarHumas(props: { size: string }) {
base: "w-[350px]", base: "w-[350px]",
}} }}
> >
<DropdownItem> <DropdownItem key={"humas"}>
<Link <Link
href="/static/humas-polri" href="/static/humas-polri"
className="flex justify-between" className="flex justify-between"
@ -441,7 +452,7 @@ export default function NavbarHumas(props: { size: string }) {
<ChevronRightIcon /> <ChevronRightIcon />
</Link> </Link>
</DropdownItem> </DropdownItem>
<DropdownItem> <DropdownItem key={"profil"}>
<Link <Link
href="/static/profile-kapolri" href="/static/profile-kapolri"
className="flex justify-between" className="flex justify-between"
@ -450,7 +461,7 @@ export default function NavbarHumas(props: { size: string }) {
<ChevronRightIcon /> <ChevronRightIcon />
</Link> </Link>
</DropdownItem> </DropdownItem>
<DropdownItem> <DropdownItem key={"struktur"}>
<Link <Link
href="/static/struktur-mabes" href="/static/struktur-mabes"
className="flex justify-between" className="flex justify-between"
@ -459,7 +470,7 @@ export default function NavbarHumas(props: { size: string }) {
<ChevronRightIcon /> <ChevronRightIcon />
</Link> </Link>
</DropdownItem> </DropdownItem>
<DropdownItem> <DropdownItem key={"visimisi"}>
<Link <Link
href="/static/visi-misi-polri" href="/static/visi-misi-polri"
className="flex justify-between" className="flex justify-between"
@ -468,7 +479,7 @@ export default function NavbarHumas(props: { size: string }) {
<ChevronRightIcon /> <ChevronRightIcon />
</Link> </Link>
</DropdownItem> </DropdownItem>
<DropdownItem> <DropdownItem key={"fungsi"}>
<Link <Link
href="/static/tugas-dan-fungsi-polri" href="/static/tugas-dan-fungsi-polri"
className="flex justify-between" className="flex justify-between"
@ -477,7 +488,7 @@ export default function NavbarHumas(props: { size: string }) {
<ChevronRightIcon /> <ChevronRightIcon />
</Link> </Link>
</DropdownItem> </DropdownItem>
<DropdownItem> <DropdownItem key={"logo"}>
<Link href="/static/logo" className="flex justify-between"> <Link href="/static/logo" className="flex justify-between">
Logo Logo
<ChevronRightIcon /> <ChevronRightIcon />
@ -516,7 +527,7 @@ export default function NavbarHumas(props: { size: string }) {
base: "w-[350px]", base: "w-[350px]",
}} }}
> >
<DropdownItem> <DropdownItem key={"humas"}>
<Link <Link
href="/static/humas-polri" href="/static/humas-polri"
className="flex justify-between" className="flex justify-between"
@ -525,7 +536,7 @@ export default function NavbarHumas(props: { size: string }) {
<ChevronRightIcon /> <ChevronRightIcon />
</Link> </Link>
</DropdownItem> </DropdownItem>
<DropdownItem> <DropdownItem key={"profil"}>
<Link <Link
href="/static/profile-kapolri" href="/static/profile-kapolri"
className="flex justify-between" className="flex justify-between"
@ -534,7 +545,7 @@ export default function NavbarHumas(props: { size: string }) {
<ChevronRightIcon /> <ChevronRightIcon />
</Link> </Link>
</DropdownItem> </DropdownItem>
<DropdownItem> <DropdownItem key={"struktur"}>
<Link <Link
href="/static/struktur-mabes" href="/static/struktur-mabes"
className="flex justify-between" className="flex justify-between"
@ -543,7 +554,7 @@ export default function NavbarHumas(props: { size: string }) {
<ChevronRightIcon /> <ChevronRightIcon />
</Link> </Link>
</DropdownItem> </DropdownItem>
<DropdownItem> <DropdownItem key={"visimisi"}>
<Link <Link
href="/static/visi-misi-polri" href="/static/visi-misi-polri"
className="flex justify-between" className="flex justify-between"
@ -552,7 +563,7 @@ export default function NavbarHumas(props: { size: string }) {
<ChevronRightIcon /> <ChevronRightIcon />
</Link> </Link>
</DropdownItem> </DropdownItem>
<DropdownItem> <DropdownItem key={"fungsi"}>
<Link <Link
href="/static/tugas-dan-fungsi-polri" href="/static/tugas-dan-fungsi-polri"
className="flex justify-between" className="flex justify-between"
@ -561,7 +572,7 @@ export default function NavbarHumas(props: { size: string }) {
<ChevronRightIcon /> <ChevronRightIcon />
</Link> </Link>
</DropdownItem> </DropdownItem>
<DropdownItem> <DropdownItem key={"logo"}>
<Link href="/static/logo" className="flex justify-between"> <Link href="/static/logo" className="flex justify-between">
Logo Logo
<ChevronRightIcon /> <ChevronRightIcon />
@ -600,7 +611,7 @@ export default function NavbarHumas(props: { size: string }) {
base: "w-[350px]", base: "w-[350px]",
}} }}
> >
<DropdownItem> <DropdownItem key={"humas"}>
<Link <Link
href="/static/humas-polri" href="/static/humas-polri"
className="flex justify-between" className="flex justify-between"
@ -609,7 +620,7 @@ export default function NavbarHumas(props: { size: string }) {
<ChevronRightIcon /> <ChevronRightIcon />
</Link> </Link>
</DropdownItem> </DropdownItem>
<DropdownItem> <DropdownItem key={"profil"}>
<Link <Link
href="/static/profile-kapolri" href="/static/profile-kapolri"
className="flex justify-between" className="flex justify-between"
@ -618,7 +629,7 @@ export default function NavbarHumas(props: { size: string }) {
<ChevronRightIcon /> <ChevronRightIcon />
</Link> </Link>
</DropdownItem> </DropdownItem>
<DropdownItem> <DropdownItem key={"struktur"}>
<Link <Link
href="/static/struktur-mabes" href="/static/struktur-mabes"
className="flex justify-between" className="flex justify-between"
@ -627,7 +638,7 @@ export default function NavbarHumas(props: { size: string }) {
<ChevronRightIcon /> <ChevronRightIcon />
</Link> </Link>
</DropdownItem> </DropdownItem>
<DropdownItem> <DropdownItem key={"visimisi"}>
<Link <Link
href="/static/visi-misi-polri" href="/static/visi-misi-polri"
className="flex justify-between" className="flex justify-between"
@ -636,7 +647,7 @@ export default function NavbarHumas(props: { size: string }) {
<ChevronRightIcon /> <ChevronRightIcon />
</Link> </Link>
</DropdownItem> </DropdownItem>
<DropdownItem> <DropdownItem key={"fungsi"}>
<Link <Link
href="/static/tugas-dan-fungsi-polri" href="/static/tugas-dan-fungsi-polri"
className="flex justify-between" className="flex justify-between"
@ -645,7 +656,7 @@ export default function NavbarHumas(props: { size: string }) {
<ChevronRightIcon /> <ChevronRightIcon />
</Link> </Link>
</DropdownItem> </DropdownItem>
<DropdownItem> <DropdownItem key={"logo"}>
<Link href="/static/logo" className="flex justify-between"> <Link href="/static/logo" className="flex justify-between">
Logo Logo
<ChevronRightIcon /> <ChevronRightIcon />
@ -682,6 +693,7 @@ export default function NavbarHumas(props: { size: string }) {
}} }}
> >
<DropdownItem <DropdownItem
key="superapp"
onPress={() => onPress={() =>
window.open( window.open(
"https://play.google.com/store/apps/details?id=superapps.polri.presisi.presisi&hl=en_US&gl=US", "https://play.google.com/store/apps/details?id=superapps.polri.presisi.presisi&hl=en_US&gl=US",
@ -701,6 +713,7 @@ export default function NavbarHumas(props: { size: string }) {
</div> </div>
</DropdownItem> </DropdownItem>
<DropdownItem <DropdownItem
key="mediahub"
onPress={() => onPress={() =>
window.open( window.open(
"https://play.google.com/store/apps/details?id=com.mediahub.mediahub_mobile", "https://play.google.com/store/apps/details?id=com.mediahub.mediahub_mobile",
@ -719,6 +732,7 @@ export default function NavbarHumas(props: { size: string }) {
</div> </div>
</DropdownItem> </DropdownItem>
<DropdownItem <DropdownItem
key="polisiku"
onPress={() => onPress={() =>
window.open( window.open(
"https://play.google.com/store/apps/details?id=id.co.qlue.polisiku&hl=id&gl=ID", "https://play.google.com/store/apps/details?id=id.co.qlue.polisiku&hl=id&gl=ID",
@ -738,6 +752,7 @@ export default function NavbarHumas(props: { size: string }) {
</div> </div>
</DropdownItem> </DropdownItem>
<DropdownItem <DropdownItem
key="sp2hp"
onPress={() => onPress={() =>
window.open( window.open(
"https://sp2hp.bareskrim.polri.go.id/", "https://sp2hp.bareskrim.polri.go.id/",
@ -756,6 +771,7 @@ export default function NavbarHumas(props: { size: string }) {
</div> </div>
</DropdownItem> </DropdownItem>
<DropdownItem <DropdownItem
key="polritv"
onPress={() => onPress={() =>
window.open( window.open(
"https://play.google.com/store/apps/details?id=com.polritv", "https://play.google.com/store/apps/details?id=com.polritv",
@ -774,6 +790,7 @@ export default function NavbarHumas(props: { size: string }) {
</div> </div>
</DropdownItem> </DropdownItem>
<DropdownItem <DropdownItem
key="polriradio"
onPress={() => onPress={() =>
window.open( window.open(
"https://play.google.com/store/apps/details?id=com.polritv", "https://play.google.com/store/apps/details?id=com.polritv",
@ -792,6 +809,7 @@ export default function NavbarHumas(props: { size: string }) {
</div> </div>
</DropdownItem> </DropdownItem>
<DropdownItem <DropdownItem
key="eavis"
onPress={() => onPress={() =>
window.open( window.open(
"https://e-avis.korlantas.polri.go.id/", "https://e-avis.korlantas.polri.go.id/",
@ -810,6 +828,7 @@ export default function NavbarHumas(props: { size: string }) {
</div> </div>
</DropdownItem> </DropdownItem>
<DropdownItem <DropdownItem
key="erikkes"
onPress={() => window.open("https://erikkes.id/", "_blank")} onPress={() => window.open("https://erikkes.id/", "_blank")}
> >
<div className="flex flex-row gap-2"> <div className="flex flex-row gap-2">
@ -825,6 +844,7 @@ export default function NavbarHumas(props: { size: string }) {
</DropdownItem> </DropdownItem>
<DropdownItem <DropdownItem
key="eppsi"
onPress={() => window.open("https://eppsi.id/", "_blank")} onPress={() => window.open("https://eppsi.id/", "_blank")}
> >
<div className="flex flex-row gap-2"> <div className="flex flex-row gap-2">
@ -838,6 +858,7 @@ export default function NavbarHumas(props: { size: string }) {
</div> </div>
</DropdownItem> </DropdownItem>
<DropdownItem <DropdownItem
key="bos"
onPress={() => onPress={() =>
window.open("https://bos.polri.go.id/login", "_blank") window.open("https://bos.polri.go.id/login", "_blank")
} }
@ -854,6 +875,7 @@ export default function NavbarHumas(props: { size: string }) {
</div> </div>
</DropdownItem> </DropdownItem>
<DropdownItem <DropdownItem
key="signal"
onPress={() => onPress={() =>
window.open( window.open(
"https://play.google.com/store/apps/details?id=app.signal.id", "https://play.google.com/store/apps/details?id=app.signal.id",
@ -872,6 +894,7 @@ export default function NavbarHumas(props: { size: string }) {
</div> </div>
</DropdownItem> </DropdownItem>
<DropdownItem <DropdownItem
key="skck"
onPress={() => onPress={() =>
window.open("https://skck.polri.go.id/", "_blank") window.open("https://skck.polri.go.id/", "_blank")
} }
@ -887,6 +910,7 @@ export default function NavbarHumas(props: { size: string }) {
</div> </div>
</DropdownItem> </DropdownItem>
<DropdownItem <DropdownItem
key="propam"
onPress={() => onPress={() =>
window.open( window.open(
"https://play.google.com/store/apps/details?id=com.stk.pengaduanpropam", "https://play.google.com/store/apps/details?id=com.stk.pengaduanpropam",
@ -906,6 +930,7 @@ export default function NavbarHumas(props: { size: string }) {
</DropdownItem> </DropdownItem>
<DropdownItem <DropdownItem
key="presisi"
onPress={() => onPress={() =>
window.open( window.open(
"https://play.google.com/store/apps/details?id=com.stk.pengaduanpropam", "https://play.google.com/store/apps/details?id=com.stk.pengaduanpropam",
@ -927,6 +952,7 @@ export default function NavbarHumas(props: { size: string }) {
</div> </div>
</DropdownItem> </DropdownItem>
<DropdownItem <DropdownItem
key="sdm"
onPress={() => onPress={() =>
window.open("https://penerimaan.polri.go.id/", "_blank") window.open("https://penerimaan.polri.go.id/", "_blank")
} }
@ -944,6 +970,7 @@ export default function NavbarHumas(props: { size: string }) {
</div> </div>
</DropdownItem> </DropdownItem>
<DropdownItem <DropdownItem
key="wbs"
onPress={() => onPress={() =>
window.open( window.open(
"https://pengaduan-penerimaan.polri.go.id/", "https://pengaduan-penerimaan.polri.go.id/",
@ -964,6 +991,7 @@ export default function NavbarHumas(props: { size: string }) {
</div> </div>
</DropdownItem> </DropdownItem>
<DropdownItem <DropdownItem
key="dumas"
onPress={() => onPress={() =>
window.open( window.open(
"https://play.google.com/store/apps/details?id=com.admasolusi.monitoringpresisi", "https://play.google.com/store/apps/details?id=com.admasolusi.monitoringpresisi",
@ -983,6 +1011,7 @@ export default function NavbarHumas(props: { size: string }) {
</DropdownItem> </DropdownItem>
<DropdownItem <DropdownItem
key="ccpolri"
onPress={() => onPress={() =>
window.open( window.open(
"https://play.google.com/store/apps/details?id=id.go.ssdmpolri.pengaduanappsbarupolri2", "https://play.google.com/store/apps/details?id=id.go.ssdmpolri.pengaduanappsbarupolri2",
@ -1003,6 +1032,7 @@ export default function NavbarHumas(props: { size: string }) {
</div> </div>
</DropdownItem> </DropdownItem>
<DropdownItem <DropdownItem
key="korlantas"
onPress={() => onPress={() =>
window.open( window.open(
"https://www.digitalkorlantas.id/sim/", "https://www.digitalkorlantas.id/sim/",

View File

@ -97,7 +97,7 @@ export default function NavbarPPID() {
base: "w-[350px]", base: "w-[350px]",
}} }}
> >
<DropdownItem endContent={<ChevronRightIcon />}> <DropdownItem endContent={<ChevronRightIcon />} key="ism">
<Link <Link
href="/portal-ppid/informasi-publik/informasi-serta-merta" href="/portal-ppid/informasi-publik/informasi-serta-merta"
color="foreground" color="foreground"
@ -105,7 +105,7 @@ export default function NavbarPPID() {
Informasi Serta Merta Informasi Serta Merta
</Link> </Link>
</DropdownItem> </DropdownItem>
<DropdownItem endContent={<ChevronRightIcon />}> <DropdownItem endContent={<ChevronRightIcon />} key="ib">
<Link <Link
href="/portal-ppid/informasi-publik/informasi-berkala" href="/portal-ppid/informasi-publik/informasi-berkala"
color="foreground" color="foreground"
@ -113,7 +113,7 @@ export default function NavbarPPID() {
Informasi Berkala Informasi Berkala
</Link> </Link>
</DropdownItem> </DropdownItem>
<DropdownItem endContent={<ChevronRightIcon />}> <DropdownItem endContent={<ChevronRightIcon />} key="iss">
<Link <Link
href="/portal-ppid/informasi-publik/informasi-setiap-saat" href="/portal-ppid/informasi-publik/informasi-setiap-saat"
color="foreground" color="foreground"
@ -121,7 +121,7 @@ export default function NavbarPPID() {
Informasi Setiap Saat Informasi Setiap Saat
</Link> </Link>
</DropdownItem> </DropdownItem>
<DropdownItem endContent={<ChevronRightIcon />}> <DropdownItem endContent={<ChevronRightIcon />} key="ik">
<Link <Link
href="/portal-ppid/informasi-publik/informasi-dikecualikan" href="/portal-ppid/informasi-publik/informasi-dikecualikan"
color="foreground" color="foreground"
@ -129,7 +129,7 @@ export default function NavbarPPID() {
Informasi Dikecualikan Informasi Dikecualikan
</Link> </Link>
</DropdownItem> </DropdownItem>
<DropdownItem endContent={<ChevronRightIcon />}> <DropdownItem endContent={<ChevronRightIcon />} key="ps">
<Link <Link
href="/portal-ppid/informasi-publik/penerangan-satuan" href="/portal-ppid/informasi-publik/penerangan-satuan"
color="foreground" color="foreground"
@ -137,7 +137,7 @@ export default function NavbarPPID() {
Penerangan Satuan Penerangan Satuan
</Link> </Link>
</DropdownItem> </DropdownItem>
<DropdownItem endContent={<ChevronRightIcon />}> <DropdownItem endContent={<ChevronRightIcon />} key="uu">
<Link <Link
href="/portal-ppid/informasi-publik/uu-dan-peraturan" href="/portal-ppid/informasi-publik/uu-dan-peraturan"
color="foreground" color="foreground"
@ -177,7 +177,7 @@ export default function NavbarPPID() {
base: "w-[350px]", base: "w-[350px]",
}} }}
> >
<DropdownItem endContent={<ChevronRightIcon />}> <DropdownItem endContent={<ChevronRightIcon />} key="history">
<Link <Link
href="/portal-ppid/profile/sejarah-ppid-polri" href="/portal-ppid/profile/sejarah-ppid-polri"
color="foreground" color="foreground"
@ -185,7 +185,7 @@ export default function NavbarPPID() {
Sejarah PPID Polri Sejarah PPID Polri
</Link> </Link>
</DropdownItem> </DropdownItem>
<DropdownItem endContent={<ChevronRightIcon />}> <DropdownItem endContent={<ChevronRightIcon />} key="profile">
<Link <Link
href="/portal-ppid/profile/profile-singkat-ppid" href="/portal-ppid/profile/profile-singkat-ppid"
color="foreground" color="foreground"
@ -193,7 +193,7 @@ export default function NavbarPPID() {
Profile Singkat PPID Profile Singkat PPID
</Link> </Link>
</DropdownItem> </DropdownItem>
<DropdownItem endContent={<ChevronRightIcon />}> <DropdownItem endContent={<ChevronRightIcon />} key="fungsi">
<Link <Link
href="/portal-ppid/profile/tugas-dan-fungsi-ppid" href="/portal-ppid/profile/tugas-dan-fungsi-ppid"
color="foreground" color="foreground"
@ -201,7 +201,7 @@ export default function NavbarPPID() {
Tugas dan Fungsi PPID Tugas dan Fungsi PPID
</Link> </Link>
</DropdownItem> </DropdownItem>
<DropdownItem endContent={<ChevronRightIcon />}> <DropdownItem endContent={<ChevronRightIcon />} key="struktur">
<Link <Link
href="/portal-ppid/profile/struktur-ppid" href="/portal-ppid/profile/struktur-ppid"
color="foreground" color="foreground"
@ -209,7 +209,7 @@ export default function NavbarPPID() {
Struktur PPID Struktur PPID
</Link> </Link>
</DropdownItem> </DropdownItem>
<DropdownItem endContent={<ChevronRightIcon />}> <DropdownItem endContent={<ChevronRightIcon />} key="visi">
<Link <Link
href="/portal-ppid/profile/visi-dan-misi-ppid" href="/portal-ppid/profile/visi-dan-misi-ppid"
color="foreground" color="foreground"
@ -249,7 +249,7 @@ export default function NavbarPPID() {
base: "w-[350px]", base: "w-[350px]",
}} }}
> >
<DropdownItem endContent={<ChevronRightIcon />}> <DropdownItem endContent={<ChevronRightIcon />} key="regis">
<Link <Link
href="/portal-ppid/layanan-informasi/registrasi-permohonan" href="/portal-ppid/layanan-informasi/registrasi-permohonan"
color="foreground" color="foreground"
@ -257,7 +257,10 @@ export default function NavbarPPID() {
Registrasi Permohonan Registrasi Permohonan
</Link> </Link>
</DropdownItem> </DropdownItem>
<DropdownItem endContent={<ChevronRightIcon />}> <DropdownItem
endContent={<ChevronRightIcon />}
key="p-informasi"
>
<Link <Link
href="/portal-ppid/layanan-informasi/permohonan-informasi" href="/portal-ppid/layanan-informasi/permohonan-informasi"
color="foreground" color="foreground"
@ -265,7 +268,10 @@ export default function NavbarPPID() {
Permohonan Informasi Permohonan Informasi
</Link> </Link>
</DropdownItem> </DropdownItem>
<DropdownItem endContent={<ChevronRightIcon />}> <DropdownItem
endContent={<ChevronRightIcon />}
key="p-keberatan"
>
<Link <Link
href="/portal-ppid/layanan-informasi/permohonan-keberatan" href="/portal-ppid/layanan-informasi/permohonan-keberatan"
color="foreground" color="foreground"
@ -273,7 +279,7 @@ export default function NavbarPPID() {
Permohonan Keberatan Permohonan Keberatan
</Link> </Link>
</DropdownItem> </DropdownItem>
<DropdownItem endContent={<ChevronRightIcon />}> <DropdownItem endContent={<ChevronRightIcon />} key="statistik">
<Link <Link
href="/portal-ppid/layanan-informasi/statistik-rekapitulasi" href="/portal-ppid/layanan-informasi/statistik-rekapitulasi"
color="foreground" color="foreground"
@ -281,7 +287,7 @@ export default function NavbarPPID() {
Statistik / Rekapitulasi Statistik / Rekapitulasi
</Link> </Link>
</DropdownItem> </DropdownItem>
<DropdownItem endContent={<ChevronRightIcon />}> <DropdownItem endContent={<ChevronRightIcon />} key="laporan">
<Link <Link
href="/portal-ppid/layanan-informasi/ppid-laporan-tahunan" href="/portal-ppid/layanan-informasi/ppid-laporan-tahunan"
color="foreground" color="foreground"
@ -321,7 +327,10 @@ export default function NavbarPPID() {
base: "w-[350px]", base: "w-[350px]",
}} }}
> >
<DropdownItem endContent={<ChevronRightIcon />}> <DropdownItem
endContent={<ChevronRightIcon />}
key="pelauyanan"
>
<Link <Link
href="/portal-ppid/standar-layanan/alur-pelayanan-informasi-publik" href="/portal-ppid/standar-layanan/alur-pelayanan-informasi-publik"
color="foreground" color="foreground"
@ -329,7 +338,10 @@ export default function NavbarPPID() {
Alur Pelayanan Informasi Publik Polri Alur Pelayanan Informasi Publik Polri
</Link> </Link>
</DropdownItem> </DropdownItem>
<DropdownItem endContent={<ChevronRightIcon />}> <DropdownItem
endContent={<ChevronRightIcon />}
key="permohonan"
>
<Link <Link
href="/portal-ppid/standar-layanan/tata-cara-permohonan-informasi" href="/portal-ppid/standar-layanan/tata-cara-permohonan-informasi"
color="foreground" color="foreground"
@ -337,7 +349,7 @@ export default function NavbarPPID() {
Tata Cara Permohonan Informasi Tata Cara Permohonan Informasi
</Link> </Link>
</DropdownItem> </DropdownItem>
<DropdownItem endContent={<ChevronRightIcon />}> <DropdownItem endContent={<ChevronRightIcon />} key="keberatan">
<Link <Link
href="/portal-ppid/standar-layanan/mekanisme-keberatan" href="/portal-ppid/standar-layanan/mekanisme-keberatan"
color="foreground" color="foreground"
@ -345,7 +357,7 @@ export default function NavbarPPID() {
Mekanisme Keberatan Mekanisme Keberatan
</Link> </Link>
</DropdownItem> </DropdownItem>
<DropdownItem endContent={<ChevronRightIcon />}> <DropdownItem endContent={<ChevronRightIcon />} key="sengketa">
<Link <Link
href="/portal-ppid/standar-layanan/mekanisme-permohonan-penyelesaian-sengketa" href="/portal-ppid/standar-layanan/mekanisme-permohonan-penyelesaian-sengketa"
color="foreground" color="foreground"
@ -353,7 +365,10 @@ export default function NavbarPPID() {
Mekanisme Permohonan Penyelesainan Sengketa Mekanisme Permohonan Penyelesainan Sengketa
</Link> </Link>
</DropdownItem> </DropdownItem>
<DropdownItem endContent={<ChevronRightIcon />}> <DropdownItem
endContent={<ChevronRightIcon />}
key="waktu-pelayanan"
>
<Link <Link
href="/portal-ppid/standar-layanan/waktu-pelayanan" href="/portal-ppid/standar-layanan/waktu-pelayanan"
color="foreground" color="foreground"
@ -361,7 +376,7 @@ export default function NavbarPPID() {
Waktu Pelayanan Waktu Pelayanan
</Link> </Link>
</DropdownItem> </DropdownItem>
<DropdownItem endContent={<ChevronRightIcon />}> <DropdownItem endContent={<ChevronRightIcon />} key="sbp">
<Link <Link
href="/portal-ppid/standar-layanan/standar-biaya-pelayanan" href="/portal-ppid/standar-layanan/standar-biaya-pelayanan"
color="foreground" color="foreground"
@ -369,7 +384,7 @@ export default function NavbarPPID() {
Standar Biaya Pelayanan Standar Biaya Pelayanan
</Link> </Link>
</DropdownItem> </DropdownItem>
<DropdownItem endContent={<ChevronRightIcon />}> <DropdownItem endContent={<ChevronRightIcon />} key="maklumat">
<Link <Link
href="/portal-ppid/standar-layanan/maklumat-pelayanan" href="/portal-ppid/standar-layanan/maklumat-pelayanan"
color="foreground" color="foreground"

View File

@ -121,7 +121,7 @@ export default function NavbarSatker() {
base: "w-[350px]", base: "w-[350px]",
}} }}
> >
<DropdownItem endContent={<ChevronRightIcon />}> <DropdownItem endContent={<ChevronRightIcon />} key="ism">
<Link <Link
href={ href={
isPolda isPolda
@ -133,7 +133,7 @@ export default function NavbarSatker() {
Informasi Serta Merta Informasi Serta Merta
</Link> </Link>
</DropdownItem> </DropdownItem>
<DropdownItem endContent={<ChevronRightIcon />}> <DropdownItem endContent={<ChevronRightIcon />} key="ib">
<Link <Link
href={ href={
isPolda isPolda
@ -145,7 +145,7 @@ export default function NavbarSatker() {
Informasi Berkala Informasi Berkala
</Link> </Link>
</DropdownItem> </DropdownItem>
<DropdownItem endContent={<ChevronRightIcon />}> <DropdownItem endContent={<ChevronRightIcon />} key="iss">
<Link <Link
href={ href={
isPolda isPolda
@ -157,7 +157,7 @@ export default function NavbarSatker() {
Informasi Setiap Saat Informasi Setiap Saat
</Link> </Link>
</DropdownItem> </DropdownItem>
<DropdownItem endContent={<ChevronRightIcon />}> <DropdownItem endContent={<ChevronRightIcon />} key="ik">
<Link <Link
href={ href={
isPolda isPolda
@ -169,7 +169,7 @@ export default function NavbarSatker() {
Informasi Dikecualikan Informasi Dikecualikan
</Link> </Link>
</DropdownItem> </DropdownItem>
<DropdownItem endContent={<ChevronRightIcon />}> <DropdownItem endContent={<ChevronRightIcon />} key="ps">
<Link <Link
href={ href={
isPolda isPolda
@ -181,7 +181,7 @@ export default function NavbarSatker() {
Penerangan Satuan Penerangan Satuan
</Link> </Link>
</DropdownItem> </DropdownItem>
<DropdownItem endContent={<ChevronRightIcon />}> <DropdownItem endContent={<ChevronRightIcon />} key="uu">
<Link <Link
href={ href={
isPolda isPolda
@ -225,7 +225,7 @@ export default function NavbarSatker() {
base: "w-[350px]", base: "w-[350px]",
}} }}
> >
<DropdownItem endContent={<ChevronRightIcon />}> <DropdownItem endContent={<ChevronRightIcon />} key="history">
<Link <Link
href={ href={
isPolda isPolda
@ -237,7 +237,7 @@ export default function NavbarSatker() {
Sejarah PPID Polri Sejarah PPID Polri
</Link> </Link>
</DropdownItem> </DropdownItem>
<DropdownItem endContent={<ChevronRightIcon />}> <DropdownItem endContent={<ChevronRightIcon />} key="profile">
<Link <Link
href={ href={
isPolda isPolda
@ -249,7 +249,7 @@ export default function NavbarSatker() {
Profile Singkat PPID Profile Singkat PPID
</Link> </Link>
</DropdownItem> </DropdownItem>
<DropdownItem endContent={<ChevronRightIcon />}> <DropdownItem endContent={<ChevronRightIcon />} key="fungsi">
<Link <Link
href={ href={
isPolda isPolda
@ -261,7 +261,7 @@ export default function NavbarSatker() {
Tugas dan Fungsi PPID Tugas dan Fungsi PPID
</Link> </Link>
</DropdownItem> </DropdownItem>
<DropdownItem endContent={<ChevronRightIcon />}> <DropdownItem endContent={<ChevronRightIcon />} key="struktur">
<Link <Link
href={ href={
isPolda isPolda
@ -273,7 +273,7 @@ export default function NavbarSatker() {
Struktur PPID Struktur PPID
</Link> </Link>
</DropdownItem> </DropdownItem>
<DropdownItem endContent={<ChevronRightIcon />}> <DropdownItem endContent={<ChevronRightIcon />} key="visi">
<Link <Link
href={ href={
isPolda isPolda
@ -317,7 +317,7 @@ export default function NavbarSatker() {
base: "w-[350px]", base: "w-[350px]",
}} }}
> >
<DropdownItem endContent={<ChevronRightIcon />}> <DropdownItem endContent={<ChevronRightIcon />} key="regis">
<Link <Link
href={ href={
isPolda isPolda
@ -329,7 +329,10 @@ export default function NavbarSatker() {
Registrasi Permohonan Registrasi Permohonan
</Link> </Link>
</DropdownItem> </DropdownItem>
<DropdownItem endContent={<ChevronRightIcon />}> <DropdownItem
endContent={<ChevronRightIcon />}
key="p-informasi"
>
<Link <Link
href={ href={
isPolda isPolda
@ -341,7 +344,10 @@ export default function NavbarSatker() {
Permohonan Informasi Permohonan Informasi
</Link> </Link>
</DropdownItem> </DropdownItem>
<DropdownItem endContent={<ChevronRightIcon />}> <DropdownItem
endContent={<ChevronRightIcon />}
key="p-keberatan"
>
<Link <Link
href={ href={
isPolda isPolda
@ -353,7 +359,7 @@ export default function NavbarSatker() {
Permohonan Keberatan Permohonan Keberatan
</Link> </Link>
</DropdownItem> </DropdownItem>
<DropdownItem endContent={<ChevronRightIcon />}> <DropdownItem endContent={<ChevronRightIcon />} key="statistik">
<Link <Link
href={ href={
isPolda isPolda
@ -365,7 +371,7 @@ export default function NavbarSatker() {
Statistik / Rekapitulasi Statistik / Rekapitulasi
</Link> </Link>
</DropdownItem> </DropdownItem>
<DropdownItem endContent={<ChevronRightIcon />}> <DropdownItem endContent={<ChevronRightIcon />} key="laporan">
<Link <Link
href={ href={
isPolda isPolda
@ -409,7 +415,7 @@ export default function NavbarSatker() {
base: "w-[350px]", base: "w-[350px]",
}} }}
> >
<DropdownItem endContent={<ChevronRightIcon />}> <DropdownItem endContent={<ChevronRightIcon />} key="pelayana">
<Link <Link
href={ href={
isPolda isPolda
@ -421,7 +427,10 @@ export default function NavbarSatker() {
Alur Pelayanan Informasi Publik Polri Alur Pelayanan Informasi Publik Polri
</Link> </Link>
</DropdownItem> </DropdownItem>
<DropdownItem endContent={<ChevronRightIcon />}> <DropdownItem
endContent={<ChevronRightIcon />}
key="permohonan"
>
<Link <Link
href={ href={
isPolda isPolda
@ -433,7 +442,7 @@ export default function NavbarSatker() {
Tata Cara Permohonan Informasi Tata Cara Permohonan Informasi
</Link> </Link>
</DropdownItem> </DropdownItem>
<DropdownItem endContent={<ChevronRightIcon />}> <DropdownItem endContent={<ChevronRightIcon />} key="keberatan">
<Link <Link
href={ href={
isPolda isPolda
@ -445,7 +454,7 @@ export default function NavbarSatker() {
Mekanisme Keberatan Mekanisme Keberatan
</Link> </Link>
</DropdownItem> </DropdownItem>
<DropdownItem endContent={<ChevronRightIcon />}> <DropdownItem endContent={<ChevronRightIcon />} key="sengketa">
<Link <Link
href={ href={
isPolda isPolda
@ -457,7 +466,7 @@ export default function NavbarSatker() {
Mekanisme Permohonan Penyelesainan Sengketa Mekanisme Permohonan Penyelesainan Sengketa
</Link> </Link>
</DropdownItem> </DropdownItem>
<DropdownItem endContent={<ChevronRightIcon />}> <DropdownItem endContent={<ChevronRightIcon />} key="pelayanan">
<Link <Link
href={ href={
isPolda isPolda
@ -469,7 +478,7 @@ export default function NavbarSatker() {
Waktu Pelayanan Waktu Pelayanan
</Link> </Link>
</DropdownItem> </DropdownItem>
<DropdownItem endContent={<ChevronRightIcon />}> <DropdownItem endContent={<ChevronRightIcon />} key="sbp">
<Link <Link
href={ href={
isPolda isPolda
@ -481,7 +490,7 @@ export default function NavbarSatker() {
Standar Biaya Pelayanan Standar Biaya Pelayanan
</Link> </Link>
</DropdownItem> </DropdownItem>
<DropdownItem endContent={<ChevronRightIcon />}> <DropdownItem endContent={<ChevronRightIcon />} key="maklumat">
<Link <Link
href={ href={
isPolda isPolda

File diff suppressed because it is too large Load Diff

View File

@ -175,19 +175,22 @@ export default function ArticleTable() {
</Button> </Button>
</DropdownTrigger> </DropdownTrigger>
<DropdownMenu> <DropdownMenu>
<DropdownItem> <DropdownItem key="detail">
<Link href={`/admin/article/detail/${article.id}`}> <Link href={`/admin/article/detail/${article.id}`}>
<EyeIconMdi className="inline mr-2 mb-1" /> <EyeIconMdi className="inline mr-2 mb-1" />
Detail Detail
</Link> </Link>
</DropdownItem> </DropdownItem>
<DropdownItem> <DropdownItem key="edit">
<Link href={`/admin/article/edit/${article.id}`}> <Link href={`/admin/article/edit/${article.id}`}>
<CreateIconIon className="inline mr-2 mb-1" /> <CreateIconIon className="inline mr-2 mb-1" />
Edit Edit
</Link> </Link>
</DropdownItem> </DropdownItem>
<DropdownItem onClick={() => handleDelete(article.id)}> <DropdownItem
key="delete"
onClick={() => handleDelete(article.id)}
>
<DeleteIcon <DeleteIcon
color="red" color="red"
width={20} width={20}

View File

@ -177,19 +177,22 @@ export default function MagazineTable() {
</Button> </Button>
</DropdownTrigger> </DropdownTrigger>
<DropdownMenu> <DropdownMenu>
<DropdownItem> <DropdownItem key="detail">
<Link href={`/admin/magazine/detail/${article.id}`}> <Link href={`/admin/magazine/detail/${article.id}`}>
<EyeIconMdi className="inline mr-2 mb-1" /> <EyeIconMdi className="inline mr-2 mb-1" />
Detail Detail
</Link> </Link>
</DropdownItem> </DropdownItem>
<DropdownItem> <DropdownItem key="edit">
<Link href={`/admin/magazine/edit/${article.id}`}> <Link href={`/admin/magazine/edit/${article.id}`}>
<CreateIconIon className="inline mr-2 mb-1" /> <CreateIconIon className="inline mr-2 mb-1" />
Edit Edit
</Link> </Link>
</DropdownItem> </DropdownItem>
<DropdownItem onClick={() => handleDelete(article.id)}> <DropdownItem
key="delete"
onClick={() => handleDelete(article.id)}
>
<DeleteIcon <DeleteIcon
color="red" color="red"
width={20} width={20}

View File

@ -248,15 +248,24 @@ export default function CategoriesTable(props: { triggerRefresh: boolean }) {
</Button> </Button>
</DropdownTrigger> </DropdownTrigger>
<DropdownMenu> <DropdownMenu>
<DropdownItem onClick={() => openModal(category.id, true)}> <DropdownItem
key="Detail"
onClick={() => openModal(category.id, true)}
>
<EyeIconMdi className="inline mr-2 mb-1" /> <EyeIconMdi className="inline mr-2 mb-1" />
Detail Detail
</DropdownItem> </DropdownItem>
<DropdownItem onClick={() => openModal(category.id, false)}> <DropdownItem
key="Edit"
onClick={() => openModal(category.id, false)}
>
<CreateIconIon className="inline mr-2 mb-1" /> <CreateIconIon className="inline mr-2 mb-1" />
Edit Edit
</DropdownItem> </DropdownItem>
<DropdownItem onClick={() => handleDelete(category.id)}> <DropdownItem
key="Delete"
onClick={() => handleDelete(category.id)}
>
<DeleteIcon <DeleteIcon
color="red" color="red"
size={20} size={20}

View File

@ -208,7 +208,7 @@ export default function MasterRoleTable() {
</Button> </Button>
</DropdownTrigger> </DropdownTrigger>
<DropdownMenu> <DropdownMenu>
<DropdownItem> <DropdownItem key="detail">
<Link href={`/admin/master-role/detail/${role.id}`}> <Link href={`/admin/master-role/detail/${role.id}`}>
<EyeIconMdi className="inline mr-2 mb-1" /> <EyeIconMdi className="inline mr-2 mb-1" />
Detail Detail
@ -220,7 +220,10 @@ export default function MasterRoleTable() {
Edit Edit
</Link> </Link>
</DropdownItem> */} </DropdownItem> */}
<DropdownItem onClick={() => handleDelete(role.id)}> <DropdownItem
key="delete"
onClick={() => handleDelete(role.id)}
>
<DeleteIcon <DeleteIcon
color="red" color="red"
width={20} width={20}

View File

@ -147,13 +147,16 @@ export default function MasterUserTable() {
</Button> </Button>
</DropdownTrigger> </DropdownTrigger>
<DropdownMenu> <DropdownMenu>
<DropdownItem> <DropdownItem key="Edit">
<Link href={`/admin/master-user/edit/${user.id}`}> <Link href={`/admin/master-user/edit/${user.id}`}>
<CreateIconIon className="inline mr-2 mb-1" /> <CreateIconIon className="inline mr-2 mb-1" />
Edit Edit
</Link> </Link>
</DropdownItem> </DropdownItem>
<DropdownItem onClick={() => handleDelete(user.id)}> <DropdownItem
key="Delete"
onClick={() => handleDelete(user.id)}
>
<DeleteIcon <DeleteIcon
color="red" color="red"
width={20} width={20}

View File

@ -1,231 +1,221 @@
"use client"; "use client";
import { import {
TableCell, TableCell,
TableRow, TableRow,
Table, Table,
TableHeader, TableHeader,
TableColumn, TableColumn,
TableBody, TableBody,
Pagination, Pagination,
Dropdown, Dropdown,
DropdownTrigger, DropdownTrigger,
DropdownMenu, DropdownMenu,
DropdownItem, DropdownItem,
Input, Input,
User, User,
Card, Card,
Divider, Divider,
Chip, Chip,
ChipProps, ChipProps,
} from "@nextui-org/react"; } from "@nextui-org/react";
import { Button } from "@nextui-org/button"; import { Button } from "@nextui-org/button";
import React, { Key, useCallback, useMemo, useState } from "react"; import React, { Key, useCallback, useMemo, useState } from "react";
import { import {
AddIcon, AddIcon,
CreateIconIon, CreateIconIon,
DeleteIcon, DeleteIcon,
DotsYIcon, DotsYIcon,
EyeFilledIcon, EyeFilledIcon,
EyeIconMdi, EyeIconMdi,
} from "@/components/icons"; } from "@/components/icons";
import Link from "next/link"; import Link from "next/link";
type UserObject = { type UserObject = {
id: number; id: number;
name: string; name: string;
status: string; status: string;
description: string; description: string;
moduleName: string; moduleName: string;
pathUrl: string; pathUrl: string;
}; };
const statusColorMap = { const statusColorMap = {
active: "success", active: "success",
paused: "danger", paused: "danger",
vacation: "warning", vacation: "warning",
}; };
export default function MenuDataTable() { export default function MenuDataTable() {
type TableRow = (typeof menuDataTable)[0]; type TableRow = (typeof menuDataTable)[0];
const columns = [ const columns = [
{ name: "No", uid: "no" }, { name: "No", uid: "no" },
{ name: "Name", uid: "name" }, { name: "Name", uid: "name" },
{ name: "Description", uid: "description" }, { name: "Description", uid: "description" },
{ name: "Module Name", uid: "moduleName" }, { name: "Module Name", uid: "moduleName" },
{ name: "Path URL", uid: "pathUrl" }, { name: "Path URL", uid: "pathUrl" },
{ name: "Status", uid: "status" }, { name: "Status", uid: "status" },
{ name: "Action", uid: "actions" }, { name: "Action", uid: "actions" },
]; ];
const menuDataTable = [ const menuDataTable = [
{ {
id: 1, id: 1,
name: "AI Journalist ", name: "AI Journalist ",
status: "active", status: "active",
description: "AI Journalist", description: "AI Journalist",
moduleName: "Multipool Acts", moduleName: "Multipool Acts",
pathUrl: "/admin/acts", pathUrl: "/admin/acts",
}, },
{ {
id: 2, id: 2,
name: "AI Journalist ", name: "AI Journalist ",
status: "active", status: "active",
description: "AI Journalist", description: "AI Journalist",
moduleName: "Multipool Acts", moduleName: "Multipool Acts",
pathUrl: "/admin/acts", pathUrl: "/admin/acts",
}, },
{ {
id: 3, id: 3,
name: "AI Journalist ", name: "AI Journalist ",
status: "active", status: "active",
description: "AI Journalist", description: "AI Journalist",
moduleName: "Multipool Acts", moduleName: "Multipool Acts",
pathUrl: "/admin/acts", pathUrl: "/admin/acts",
}, },
{ {
id: 4, id: 4,
name: "AI Journalist ", name: "AI Journalist ",
status: "active", status: "active",
description: "AI Journalist", description: "AI Journalist",
moduleName: "Multipool Acts", moduleName: "Multipool Acts",
pathUrl: "/admin/acts", pathUrl: "/admin/acts",
}, },
{ {
id: 5, id: 5,
name: "AI Journalist ", name: "AI Journalist ",
status: "active", status: "active",
description: "AI Journalist", description: "AI Journalist",
moduleName: "Multipool Acts", moduleName: "Multipool Acts",
pathUrl: "/admin/acts", pathUrl: "/admin/acts",
}, },
]; ];
const renderCell = useCallback((menuData: TableRow, columnKey: Key) => { const renderCell = useCallback((menuData: TableRow, columnKey: Key) => {
const cellValue = menuData[columnKey as keyof UserObject]; const cellValue = menuData[columnKey as keyof UserObject];
const statusColorMap: Record<string, ChipProps["color"]> = { const statusColorMap: Record<string, ChipProps["color"]> = {
active: "success", active: "success",
cancel: "danger", cancel: "danger",
pending: "warning", pending: "warning",
}; };
switch (columnKey) { switch (columnKey) {
case "no": case "no":
return ( return <div>{menuData.id}</div>;
<div>{menuData.id}</div>
)
case "name": case "name":
return ( return <div className="w-[150px]">{menuData.name}</div>;
<div className="w-[150px]">{menuData.name}</div>
)
case "description": case "description":
return ( return <div className="">{menuData.description}</div>;
<div className="">{menuData.description}</div>
)
case "status": case "status":
return ( return (
<Chip <Chip
className="capitalize " className="capitalize "
color={statusColorMap[menuData.status]} color={statusColorMap[menuData.status]}
size="lg" size="lg"
variant="flat" variant="flat"
> >
<div className="flex flex-row items-center gap-2 justify-center"> <div className="flex flex-row items-center gap-2 justify-center">
{cellValue} {cellValue}
</div>
</Chip>
);
case "actions":
return (
<div className="relative flex justify-star items-center gap-2">
<Dropdown className="lg:min-w-[150px] bg-black text-white shadow border ">
<DropdownTrigger>
<Button isIconOnly size="lg" variant="light">
<DotsYIcon className="text-default-300" />
</Button>
</DropdownTrigger>
<DropdownMenu>
<DropdownItem
>
<Link
href={`/admin/magazine/detail`}
>
<EyeIconMdi className="inline mr-2 mb-1" />
Detail
</Link>
</DropdownItem>
<DropdownItem
>
<Link
href={`#`}
>
<CreateIconIon className="inline mr-2 mb-1" />
Edit
</Link>
</DropdownItem>
<DropdownItem
>
<Link
href={`#`}
>
<DeleteIcon
width={20}
height={16}
className="inline mr-2 mb-1"
/>
Delete
</Link>
</DropdownItem>
</DropdownMenu>
</Dropdown>
</div>
);
default:
return cellValue;
}
}, []);
return (
<>
<div className="mx-3 my-5">
<Link href="/admin/master/master-menu/menu-data/create" >
<Button className="my-3 bg-blue-600 text-white" ><CreateIconIon />Add Master Menu</Button>
</Link>
<div className="flex flex-col items-center rounded-2xl">
<Table
// selectionMode="multiple"
aria-label="micro issue table"
className="rounded-xl"
classNames={{
th: "bg-white dark:bg-black text-black dark:text-white border-b-1 text-md",
base: "bg-white dark:bg-black border",
wrapper: "min-h-[50px] bg-transpararent text-black dark:text-white ",
}}
>
<TableHeader columns={columns}>
{(column) => (
<TableColumn key={column.uid}>{column.name}</TableColumn>
)}
</TableHeader>
<TableBody items={menuDataTable} emptyContent={"No data to display."}>
{(item) => (
<TableRow key={item.id}>
{(columnKey) => (
<TableCell>{renderCell(item, columnKey)}</TableCell>
)}
</TableRow>
)}
</TableBody>
</Table>
</div>
</div> </div>
</Chip>
);
</> case "actions":
); return (
<div className="relative flex justify-star items-center gap-2">
<Dropdown className="lg:min-w-[150px] bg-black text-white shadow border ">
<DropdownTrigger>
<Button isIconOnly size="lg" variant="light">
<DotsYIcon className="text-default-300" />
</Button>
</DropdownTrigger>
<DropdownMenu>
<DropdownItem key={"Detail"}>
<Link href={`/admin/magazine/detail`}>
<EyeIconMdi className="inline mr-2 mb-1" />
Detail
</Link>
</DropdownItem>
<DropdownItem key={"Edit"}>
<Link href={`#`}>
<CreateIconIon className="inline mr-2 mb-1" />
Edit
</Link>
</DropdownItem>
<DropdownItem key={"Delete"}>
<Link href={`#`}>
<DeleteIcon
width={20}
height={16}
className="inline mr-2 mb-1"
/>
Delete
</Link>
</DropdownItem>
</DropdownMenu>
</Dropdown>
</div>
);
default:
return cellValue;
}
}, []);
return (
<>
<div className="mx-3 my-5">
<Link href="/admin/master/master-menu/menu-data/create">
<Button className="my-3 bg-blue-600 text-white">
<CreateIconIon />
Add Master Menu
</Button>
</Link>
<div className="flex flex-col items-center rounded-2xl">
<Table
// selectionMode="multiple"
aria-label="micro issue table"
className="rounded-xl"
classNames={{
th: "bg-white dark:bg-black text-black dark:text-white border-b-1 text-md",
base: "bg-white dark:bg-black border",
wrapper:
"min-h-[50px] bg-transpararent text-black dark:text-white ",
}}
>
<TableHeader columns={columns}>
{(column) => (
<TableColumn key={column.uid}>{column.name}</TableColumn>
)}
</TableHeader>
<TableBody
items={menuDataTable}
emptyContent={"No data to display."}
>
{(item) => (
<TableRow key={item.id}>
{(columnKey) => (
<TableCell>{renderCell(item, columnKey)}</TableCell>
)}
</TableRow>
)}
</TableBody>
</Table>
</div>
</div>
</>
);
} }

View File

@ -1,224 +1,214 @@
"use client"; "use client";
import { import {
TableCell, TableCell,
TableRow, TableRow,
Table, Table,
TableHeader, TableHeader,
TableColumn, TableColumn,
TableBody, TableBody,
Pagination, Pagination,
Dropdown, Dropdown,
DropdownTrigger, DropdownTrigger,
DropdownMenu, DropdownMenu,
DropdownItem, DropdownItem,
Input, Input,
User, User,
Card, Card,
Divider, Divider,
Chip, Chip,
ChipProps, ChipProps,
} from "@nextui-org/react"; } from "@nextui-org/react";
import { Button } from "@nextui-org/button"; import { Button } from "@nextui-org/button";
import React, { Key, useCallback, useMemo, useState } from "react"; import React, { Key, useCallback, useMemo, useState } from "react";
import { import {
AddIcon, AddIcon,
CreateIconIon, CreateIconIon,
DeleteIcon, DeleteIcon,
DotsYIcon, DotsYIcon,
EyeFilledIcon, EyeFilledIcon,
EyeIconMdi, EyeIconMdi,
} from "@/components/icons"; } from "@/components/icons";
import Link from "next/link"; import Link from "next/link";
type UserObject = { type UserObject = {
id: number; id: number;
name: string; name: string;
status: string; status: string;
description: string; description: string;
pathUrl: string; pathUrl: string;
}; };
const statusColorMap = { const statusColorMap = {
active: "success", active: "success",
paused: "danger", paused: "danger",
vacation: "warning", vacation: "warning",
}; };
export default function MasterModuleTable() { export default function MasterModuleTable() {
type TableRow = (typeof masterModuleTable)[0]; type TableRow = (typeof masterModuleTable)[0];
const columns = [ const columns = [
{ name: "No", uid: "no" }, { name: "No", uid: "no" },
{ name: "Name", uid: "name" }, { name: "Name", uid: "name" },
{ name: "Description", uid: "description" }, { name: "Description", uid: "description" },
{ name: "Path URL", uid: "pathUrl" }, { name: "Path URL", uid: "pathUrl" },
{ name: "Status", uid: "status" }, { name: "Status", uid: "status" },
{ name: "Action", uid: "actions" }, { name: "Action", uid: "actions" },
]; ];
const masterModuleTable = [ const masterModuleTable = [
{ {
id: 1, id: 1,
name: "AI Journalist ", name: "AI Journalist ",
status: "active", status: "active",
description: "AI Journalist", description: "AI Journalist",
pathUrl: "/admin/acts", pathUrl: "/admin/acts",
}, },
{ {
id: 2, id: 2,
name: "AI Journalist ", name: "AI Journalist ",
status: "active", status: "active",
description: "AI Journalist", description: "AI Journalist",
pathUrl: "/admin/acts", pathUrl: "/admin/acts",
}, },
{ {
id: 3, id: 3,
name: "AI Journalist ", name: "AI Journalist ",
status: "active", status: "active",
description: "AI Journalist", description: "AI Journalist",
pathUrl: "/admin/acts", pathUrl: "/admin/acts",
}, },
{ {
id: 4, id: 4,
name: "AI Journalist ", name: "AI Journalist ",
status: "active", status: "active",
description: "AI Journalist", description: "AI Journalist",
pathUrl: "/admin/acts", pathUrl: "/admin/acts",
}, },
{ {
id: 5, id: 5,
name: "AI Journalist ", name: "AI Journalist ",
status: "active", status: "active",
description: "AI Journalist", description: "AI Journalist",
pathUrl: "/admin/acts", pathUrl: "/admin/acts",
}, },
]; ];
const renderCell = useCallback((masterModule: TableRow, columnKey: Key) => { const renderCell = useCallback((masterModule: TableRow, columnKey: Key) => {
const cellValue = masterModule[columnKey as keyof UserObject]; const cellValue = masterModule[columnKey as keyof UserObject];
const statusColorMap: Record<string, ChipProps["color"]> = { const statusColorMap: Record<string, ChipProps["color"]> = {
active: "success", active: "success",
cancel: "danger", cancel: "danger",
pending: "warning", pending: "warning",
}; };
switch (columnKey) { switch (columnKey) {
case "no": case "no":
return ( return <div>{masterModule.id}</div>;
<div>{masterModule.id}</div>
)
case "name": case "name":
return ( return <div className="w-[150px]">{masterModule.name}</div>;
<div className="w-[150px]">{masterModule.name}</div>
)
case "description": case "description":
return ( return <div className="">{masterModule.description}</div>;
<div className="">{masterModule.description}</div>
)
case "status": case "status":
return ( return (
<Chip <Chip
className="capitalize " className="capitalize "
color={statusColorMap[masterModule.status]} color={statusColorMap[masterModule.status]}
size="lg" size="lg"
variant="flat" variant="flat"
> >
<div className="flex flex-row items-center gap-2 justify-center"> <div className="flex flex-row items-center gap-2 justify-center">
{cellValue} {cellValue}
</div>
</Chip>
);
case "actions":
return (
<div className="relative flex justify-star items-center gap-2">
<Dropdown className="lg:min-w-[150px] bg-black text-white shadow border ">
<DropdownTrigger>
<Button isIconOnly size="lg" variant="light">
<DotsYIcon className="text-default-300" />
</Button>
</DropdownTrigger>
<DropdownMenu>
<DropdownItem
>
<Link
href={`/admin/magazine/detail`}
>
<EyeIconMdi className="inline mr-2 mb-1" />
Detail
</Link>
</DropdownItem>
<DropdownItem
>
<Link
href={`#`}
>
<CreateIconIon className="inline mr-2 mb-1" />
Edit
</Link>
</DropdownItem>
<DropdownItem
>
<Link
href={`#`}
>
<DeleteIcon
width={20}
height={16}
className="inline mr-2 mb-1"
/>
Delete
</Link>
</DropdownItem>
</DropdownMenu>
</Dropdown>
</div>
);
default:
return cellValue;
}
}, []);
return (
<>
<div className="mx-3 my-5">
<Link href="/admin/master/master-module/create" >
<Button className="my-3 bg-blue-600 text-white" ><CreateIconIon />Add Master Module</Button>
</Link>
<div className="flex flex-col items-center rounded-2xl">
<Table
// selectionMode="multiple"
aria-label="micro issue table"
className="rounded-xl"
classNames={{
th: "bg-white dark:bg-black text-black dark:text-white border-b-1 text-md",
base: "bg-white dark:bg-black border",
wrapper: "min-h-[50px] bg-transpararent text-black dark:text-white ",
}}
>
<TableHeader columns={columns}>
{(column) => (
<TableColumn key={column.uid}>{column.name}</TableColumn>
)}
</TableHeader>
<TableBody items={masterModuleTable} emptyContent={"No data to display."}>
{(item) => (
<TableRow key={item.id}>
{(columnKey) => (
<TableCell>{renderCell(item, columnKey)}</TableCell>
)}
</TableRow>
)}
</TableBody>
</Table>
</div>
</div> </div>
</Chip>
);
</> case "actions":
); return (
<div className="relative flex justify-star items-center gap-2">
<Dropdown className="lg:min-w-[150px] bg-black text-white shadow border ">
<DropdownTrigger>
<Button isIconOnly size="lg" variant="light">
<DotsYIcon className="text-default-300" />
</Button>
</DropdownTrigger>
<DropdownMenu>
<DropdownItem key="Detail">
<Link href={`/admin/magazine/detail`}>
<EyeIconMdi className="inline mr-2 mb-1" />
Detail
</Link>
</DropdownItem>
<DropdownItem key="Edit">
<Link href={`#`}>
<CreateIconIon className="inline mr-2 mb-1" />
Edit
</Link>
</DropdownItem>
<DropdownItem key="Delete">
<Link href={`#`}>
<DeleteIcon
width={20}
height={16}
className="inline mr-2 mb-1"
/>
Delete
</Link>
</DropdownItem>
</DropdownMenu>
</Dropdown>
</div>
);
default:
return cellValue;
}
}, []);
return (
<>
<div className="mx-3 my-5">
<Link href="/admin/master/master-module/create">
<Button className="my-3 bg-blue-600 text-white">
<CreateIconIon />
Add Master Module
</Button>
</Link>
<div className="flex flex-col items-center rounded-2xl">
<Table
// selectionMode="multiple"
aria-label="micro issue table"
className="rounded-xl"
classNames={{
th: "bg-white dark:bg-black text-black dark:text-white border-b-1 text-md",
base: "bg-white dark:bg-black border",
wrapper:
"min-h-[50px] bg-transpararent text-black dark:text-white ",
}}
>
<TableHeader columns={columns}>
{(column) => (
<TableColumn key={column.uid}>{column.name}</TableColumn>
)}
</TableHeader>
<TableBody
items={masterModuleTable}
emptyContent={"No data to display."}
>
{(item) => (
<TableRow key={item.id}>
{(columnKey) => (
<TableCell>{renderCell(item, columnKey)}</TableCell>
)}
</TableRow>
)}
</TableBody>
</Table>
</div>
</div>
</>
);
} }

View File

@ -1,241 +1,233 @@
"use client"; "use client";
import { import {
TableCell, TableCell,
TableRow, TableRow,
Table, Table,
TableHeader, TableHeader,
TableColumn, TableColumn,
TableBody, TableBody,
Pagination, Pagination,
Dropdown, Dropdown,
DropdownTrigger, DropdownTrigger,
DropdownMenu, DropdownMenu,
DropdownItem, DropdownItem,
Input, Input,
User, User,
Card, Card,
Divider, Divider,
Chip, Chip,
ChipProps, ChipProps,
} from "@nextui-org/react"; } from "@nextui-org/react";
import { Button } from "@nextui-org/button"; import { Button } from "@nextui-org/button";
import React, { Key, useCallback, useEffect, useMemo, useState } from "react"; import React, { Key, useCallback, useEffect, useMemo, useState } from "react";
import { import {
AddIcon, AddIcon,
CreateIconIon, CreateIconIon,
DeleteIcon, DeleteIcon,
DotsYIcon, DotsYIcon,
EyeFilledIcon, EyeFilledIcon,
EyeIconMdi, EyeIconMdi,
} from "@/components/icons"; } from "@/components/icons";
import Link from "next/link"; import Link from "next/link";
import { getAllUserLevels } from "@/services/user-levels/user-levels-service"; import { getAllUserLevels } from "@/services/user-levels/user-levels-service";
type UserObject = { type UserObject = {
id: number; id: number;
name: string; name: string;
levelNumber: string; levelNumber: string;
aliasName: string; aliasName: string;
parentLevelId: string; parentLevelId: string;
provinceId: string; provinceId: string;
status: string; status: string;
}; };
const statusColorMap = { const statusColorMap = {
active: "success", active: "success",
paused: "danger", paused: "danger",
vacation: "warning", vacation: "warning",
}; };
export default function MasterUserLevelTable() { export default function MasterUserLevelTable() {
const [totalPage, setTotalPage] = useState(1); const [totalPage, setTotalPage] = useState(1);
const [masterUserLevelTable, setmasterUserLevel] = useState<UserObject[]>([]); const [masterUserLevelTable, setmasterUserLevel] = useState<UserObject[]>([]);
type TableRow = (typeof masterUserLevelTable)[0]; type TableRow = (typeof masterUserLevelTable)[0];
const columns = [ const columns = [
{ name: "No", uid: "no" }, { name: "No", uid: "no" },
{ name: "Name", uid: "name" }, { name: "Name", uid: "name" },
{ name: "User Name", uid: "alias_name" }, { name: "User Name", uid: "alias_name" },
{ name: "Level Number", uid: "level_number" }, { name: "Level Number", uid: "level_number" },
{ name: "Parent Level", uid: "parent_level_id" }, { name: "Parent Level", uid: "parent_level_id" },
{ name: "Province", uid: "province_id" }, { name: "Province", uid: "province_id" },
{ name: "Status", uid: "is_active" }, { name: "Status", uid: "is_active" },
{ name: "Action", uid: "actions" }, { name: "Action", uid: "actions" },
]; ];
const [page, setPage] = useState(1); const [page, setPage] = useState(1);
useEffect(() => { useEffect(() => {
fetchData(); fetchData();
}, []); }, []);
async function fetchData() { async function fetchData() {
const request = { const request = {
page: page, page: page,
limit: 10, limit: 10,
};
const res = await getAllUserLevels(request);
const data = res?.data?.data;
setTotalPage(Math.ceil(res?.data?.total / 10));
initUserData(10, data);
}
}; function initUserData(limit: number, data?: any) {
const res = await getAllUserLevels(request); if (data) {
const data = res?.data?.data; console.log(data);
setTotalPage(Math.ceil(res?.data?.total / 10)); const startIndex = limit * (page - 1);
initUserData(10, data); let iterate = 0;
const newData = data.map((value: any) => {
iterate++;
value.no = startIndex + iterate;
return value;
});
console.log("Data ::", newData);
setmasterUserLevel(newData);
} }
}
function initUserData(limit: number, data?: any) { const renderCell = useCallback(
if (data) { (masterUserLevel: TableRow, columnKey: Key) => {
console.log(data); const cellValue = masterUserLevel[columnKey as keyof UserObject];
const startIndex = limit * (page - 1); const statusColorMap: Record<string, ChipProps["color"]> = {
let iterate = 0; active: "success",
const newData = data.map((value: any) => { cancel: "danger",
iterate++; pending: "warning",
value.no = startIndex + iterate; };
return value;
});
console.log("Data ::", newData);
setmasterUserLevel(newData);
}
}
const renderCell = useCallback((masterUserLevel: TableRow, columnKey: Key) => { switch (columnKey) {
const cellValue = masterUserLevel[columnKey as keyof UserObject]; case "no":
const statusColorMap: Record<string, ChipProps["color"]> = { return <div>{masterUserLevel.id}</div>;
active: "success",
cancel: "danger",
pending: "warning",
};
switch (columnKey) { case "name":
case "no": return <div className="w-[150px]">{masterUserLevel.name}</div>;
return (
<div>{masterUserLevel.id}</div>
)
case "name": case "alias_Name":
return ( return <div className="">{masterUserLevel.aliasName}</div>;
<div className="w-[150px]">{masterUserLevel.name}</div> case "is_active":
) return (
<Chip
className="capitalize "
color={statusColorMap[masterUserLevel.status]}
size="lg"
variant="flat"
>
<div className="flex flex-row items-center gap-2 justify-center">
{cellValue}
</div>
</Chip>
);
case "alias_Name": case "actions":
return ( return (
<div className="">{masterUserLevel.aliasName}</div> <div className="relative flex justify-star items-center gap-2">
) <Dropdown className="lg:min-w-[150px] bg-black text-white shadow border ">
case "is_active": <DropdownTrigger>
return ( <Button isIconOnly size="lg" variant="light">
<Chip <DotsYIcon className="text-default-300" />
className="capitalize " </Button>
color={statusColorMap[masterUserLevel.status]} </DropdownTrigger>
size="lg" <DropdownMenu>
variant="flat" <DropdownItem key="Detail">
> <Link href={`/admin/magazine/detail`}>
<div className="flex flex-row items-center gap-2 justify-center"> <EyeIconMdi className="inline mr-2 mb-1" />
{cellValue} Detail
</div> </Link>
</Chip> </DropdownItem>
); <DropdownItem key="Edit">
<Link href={`#`}>
case "actions": <CreateIconIon className="inline mr-2 mb-1" />
return ( Edit
<div className="relative flex justify-star items-center gap-2"> </Link>
<Dropdown className="lg:min-w-[150px] bg-black text-white shadow border "> </DropdownItem>
<DropdownTrigger> <DropdownItem key="Delete">
<Button isIconOnly size="lg" variant="light"> <Link href={`#`}>
<DotsYIcon className="text-default-300" /> <DeleteIcon
</Button> width={20}
</DropdownTrigger> height={16}
<DropdownMenu> className="inline mr-2 mb-1"
<DropdownItem />
> Delete
<Link </Link>
href={`/admin/magazine/detail`} </DropdownItem>
> </DropdownMenu>
<EyeIconMdi className="inline mr-2 mb-1" /> </Dropdown>
Detail
</Link>
</DropdownItem>
<DropdownItem
>
<Link
href={`#`}
>
<CreateIconIon className="inline mr-2 mb-1" />
Edit
</Link>
</DropdownItem>
<DropdownItem
>
<Link
href={`#`}
>
<DeleteIcon
width={20}
height={16}
className="inline mr-2 mb-1"
/>
Delete
</Link>
</DropdownItem>
</DropdownMenu>
</Dropdown>
</div>
);
default:
return cellValue;
}
}, []);
return (
<>
<div className="mx-3 my-5">
<Link href="/admin/master/master-user-level/create" >
<Button className="my-3 bg-blue-600 text-white" ><CreateIconIon />Create New User Level</Button>
</Link>
<div className="flex flex-col items-center rounded-2xl">
<Table
// selectionMode="multiple"
aria-label="micro issue table"
className="rounded-xl"
classNames={{
th: "bg-white dark:bg-black text-black dark:text-white border-b-1 text-md",
base: "bg-white dark:bg-black border",
wrapper: "min-h-[50px] bg-transpararent text-black dark:text-white ",
}}
>
<TableHeader columns={columns}>
{(column) => (
<TableColumn key={column.uid}>{column.name}</TableColumn>
)}
</TableHeader>
<TableBody items={masterUserLevelTable} emptyContent={"No data to display."}>
{(item) => (
<TableRow key={item.id}>
{(columnKey) => (
<TableCell>{renderCell(item, columnKey)}</TableCell>
)}
</TableRow>
)}
</TableBody>
</Table>
<div className="mt-2">
<Pagination
isCompact
showControls
showShadow
color="primary"
classNames={{
base: "bg-transparent",
wrapper: "bg-transparent",
}}
page={page}
total={totalPage}
onChange={(page) => setPage(page)}
/>
</div>
</div>
</div> </div>
);
</> default:
); return cellValue;
}
},
[]
);
return (
<>
<div className="mx-3 my-5">
<Link href="/admin/master/master-user-level/create">
<Button className="my-3 bg-blue-600 text-white">
<CreateIconIon />
Create New User Level
</Button>
</Link>
<div className="flex flex-col items-center rounded-2xl">
<Table
// selectionMode="multiple"
aria-label="micro issue table"
className="rounded-xl"
classNames={{
th: "bg-white dark:bg-black text-black dark:text-white border-b-1 text-md",
base: "bg-white dark:bg-black border",
wrapper:
"min-h-[50px] bg-transpararent text-black dark:text-white ",
}}
>
<TableHeader columns={columns}>
{(column) => (
<TableColumn key={column.uid}>{column.name}</TableColumn>
)}
</TableHeader>
<TableBody
items={masterUserLevelTable}
emptyContent={"No data to display."}
>
{(item) => (
<TableRow key={item.id}>
{(columnKey) => (
<TableCell>{renderCell(item, columnKey)}</TableCell>
)}
</TableRow>
)}
</TableBody>
</Table>
<div className="mt-2">
<Pagination
isCompact
showControls
showShadow
color="primary"
classNames={{
base: "bg-transparent",
wrapper: "bg-transparent",
}}
page={page}
total={totalPage}
onChange={(page) => setPage(page)}
/>
</div>
</div>
</div>
</>
);
} }

View File

@ -157,13 +157,16 @@ export default function StaticPageTable() {
Detail Detail
</Link> </Link>
</DropdownItem> */} </DropdownItem> */}
<DropdownItem> <DropdownItem key={"edit"}>
<Link href={`/admin/static-page/edit/${article.id}`}> <Link href={`/admin/static-page/edit/${article.id}`}>
<CreateIconIon className="inline mr-2 mb-1" size={20} /> <CreateIconIon className="inline mr-2 mb-1" size={20} />
Edit Edit
</Link> </Link>
</DropdownItem> </DropdownItem>
<DropdownItem onClick={() => handleDelete(article.id)}> <DropdownItem
key={"delete"}
onClick={() => handleDelete(article.id)}
>
<DeleteIcon <DeleteIcon
color="red" color="red"
width={20} width={20}