diff --git a/app/layout.tsx b/app/layout.tsx index b371462..d838344 100644 --- a/app/layout.tsx +++ b/app/layout.tsx @@ -37,7 +37,7 @@ export default function RootLayout({ )} > -
+
{children}
diff --git a/app/portal-ppid/layanan-informasi/permohonan-informasi/page.tsx b/app/portal-ppid/layanan-informasi/permohonan-informasi/page.tsx new file mode 100644 index 0000000..2f775a7 --- /dev/null +++ b/app/portal-ppid/layanan-informasi/permohonan-informasi/page.tsx @@ -0,0 +1,8 @@ +import Login from '@/components/form/login' +import React from 'react' + +export default function PemohononanInformasi() { + return ( + + ) +} diff --git a/app/portal-ppid/layanan-informasi/permohonan-keberatan/page.tsx b/app/portal-ppid/layanan-informasi/permohonan-keberatan/page.tsx new file mode 100644 index 0000000..56c48f4 --- /dev/null +++ b/app/portal-ppid/layanan-informasi/permohonan-keberatan/page.tsx @@ -0,0 +1,8 @@ +import FormObjectionRequest from '@/components/form/form-permohonan-keberatan' +import React from 'react' + +export default function PermohonanKeberanatan() { + return ( + + ) +} diff --git a/app/portal-ppid/layanan-informasi/ppid-laporan-tahunan/page.tsx b/app/portal-ppid/layanan-informasi/ppid-laporan-tahunan/page.tsx new file mode 100644 index 0000000..9a4b61d --- /dev/null +++ b/app/portal-ppid/layanan-informasi/ppid-laporan-tahunan/page.tsx @@ -0,0 +1,8 @@ +import AnnualReport from '@/components/table/laporan-tahunan' +import React from 'react' + +export default function ReportTahunan() { + return ( + + ) +} diff --git a/app/portal-ppid/layanan-informasi/registrasi-permohonan/page.tsx b/app/portal-ppid/layanan-informasi/registrasi-permohonan/page.tsx new file mode 100644 index 0000000..b3a129c --- /dev/null +++ b/app/portal-ppid/layanan-informasi/registrasi-permohonan/page.tsx @@ -0,0 +1,8 @@ +import FormApplication from '@/components/form/form-permohonan-informasi' +import React from 'react' + +export default function RegistrasiPage() { + return ( + + ) +} diff --git a/app/portal-ppid/layanan-informasi/statistik-rekapitulasi/page.tsx b/app/portal-ppid/layanan-informasi/statistik-rekapitulasi/page.tsx new file mode 100644 index 0000000..3974cba --- /dev/null +++ b/app/portal-ppid/layanan-informasi/statistik-rekapitulasi/page.tsx @@ -0,0 +1,8 @@ +import StatiticAndRecap from '@/components/detail/StatistikRekapitulas' +import React from 'react' + +export default function StatisticPage() { + return ( + + ) +} diff --git a/components/detail/DetailPage.tsx b/components/detail/DetailPage.tsx index 1647906..bd97141 100644 --- a/components/detail/DetailPage.tsx +++ b/components/detail/DetailPage.tsx @@ -7,7 +7,7 @@ import RelatedNews from '../page/RelatedNews' export default function DetailPage() { return ( <> -
+
diff --git a/components/detail/StatistikRekapitulas.tsx b/components/detail/StatistikRekapitulas.tsx new file mode 100644 index 0000000..f759bdf --- /dev/null +++ b/components/detail/StatistikRekapitulas.tsx @@ -0,0 +1,63 @@ +'use client' +import { Card, CardBody, Tab, Tabs } from '@nextui-org/react' +import React from 'react' + +export default function StatiticAndRecap() { + return ( +
+
+
+
Statistik / Rekapitulasi
+
+
+
+ + +
+
Dashboard Statistik / Rekapitulasi PPID Humas Polri
+
+ tabel +
+
+
+ panel +
+
+
permohonan,pemberituauan
+
Pelayanan Informasi Publik
+
Pelayanan Keberatan
+
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+ +
+
+
+
+
+ ) +} diff --git a/components/form/form-permohonan-informasi.tsx b/components/form/form-permohonan-informasi.tsx index ac01a18..2200cba 100644 --- a/components/form/form-permohonan-informasi.tsx +++ b/components/form/form-permohonan-informasi.tsx @@ -203,8 +203,8 @@ const FormApplication: React.FC = () => { }} isRequired type="text" - label="Nama" - placeholder="Masukkan username anda!" + label="Pekerjaan" + placeholder="Masukkan informasi pekerjaan Anda!" variant='underlined' />
diff --git a/components/form/form-permohonan-keberatan.tsx b/components/form/form-permohonan-keberatan.tsx new file mode 100644 index 0000000..c06c0cf --- /dev/null +++ b/components/form/form-permohonan-keberatan.tsx @@ -0,0 +1,475 @@ +'use client' +import { zodResolver } from "@hookform/resolvers/zod"; +import { Button } from '@nextui-org/button'; +import { Input } from '@nextui-org/input'; +import { Select, SelectItem, SelectSection } from '@nextui-org/react'; +import React, { useState } from 'react'; +import { useForm } from 'react-hook-form'; +import { z } from 'zod'; +import { EyeFilledIcon, EyeSlashFilledIcon } from '../icons'; +import Datepicker from "react-tailwindcss-datepicker"; + +const schema = z.object({ + name: z.string().min(3).max(50), + email: z.string().email(), +}); +interface FormData { + name: string; + email: string; +} + +const FormObjectionRequest: React.FC = () => { + const [isVisible, setIsVisible] = React.useState(false); + const [selectedGender, setSelectedGender] = React.useState(''); + + const [startDateValue, setStartDateValue] = useState({ + startDate: null, + endDate: null, + }); + + const toggleVisibility = () => setIsVisible(!isVisible); + + const { register, handleSubmit, formState: { errors } } = useForm({ + resolver: zodResolver(schema), + }); + + const onChangeGender = (selectedItem: any) => { + setSelectedGender(selectedItem); + // Lakukan apa pun yang perlu dilakukan saat pilihan jenis kelamin berubah di sini + console.log("Selected Gender:", selectedItem); + }; + + const handleValueChange = (newValue: any, num: any) => { + console.log("start:", newValue); + setStartDateValue(newValue); + } + + + const onSubmit = (data: FormData) => { + console.log(data); + }; + + return ( + //
+ //
+ // + // + // {errors.name &&

{errors.name.message}

} + //
+ //
+ // + // + // {errors.email &&

{errors.email.message}

} + //
+ // + //
+
+
Form Register Permohonan Keberatan
+
+ +
+
+ + {isVisible ? ( + + ) : ( + + )} + + } + type={isVisible ? "text" : "password"} + label="Password" + placeholder="Masukkan password anda" + variant='underlined' + /> +
+
+ + {isVisible ? ( + + ) : ( + + )} + + } + type={isVisible ? "text" : "password"} + label="Konfirmasi Password" + placeholder="Masukkan password anda" + variant='underlined' + /> +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ + handleValueChange(e, 1)} + inputClassName="w-full bg-transparent border-1 border-gray-200 px-2 py-[6px] rounded-xl " + /> +
+
+ +
+ +
+ ); +}; + +export default FormObjectionRequest; diff --git a/components/form/login.tsx b/components/form/login.tsx new file mode 100644 index 0000000..0628d8f --- /dev/null +++ b/components/form/login.tsx @@ -0,0 +1,122 @@ +'use client' +import { Input } from '@nextui-org/input' +import React from 'react' +import { EyeFilledIcon, EyeSlashFilledIcon } from '../icons'; +import { Button } from '@nextui-org/button'; + +export default function Login() { + const [isVisible, setIsVisible] = React.useState(false); + + const toggleVisibility = () => setIsVisible(!isVisible); + + return ( +
+
+
Selamat Datang di Portal PPID Humas Polri
+
+ +
+
+ + {isVisible ? ( + + ) : ( + + )} + + } + type={isVisible ? "text" : "password"} + label="Password" + placeholder="Masukkan password anda" + variant='underlined' + /> +
+
+ + {isVisible ? ( + + ) : ( + + )} + + } + type={isVisible ? "text" : "password"} + label="Konfirmasi Password" + placeholder="Masukkan password anda" + variant='underlined' + /> +
+
+ +
+
Don't have account? Register Now
+
+ +
+
+
+ logo +
+
+ ) +} diff --git a/components/icons.tsx b/components/icons.tsx index 8df27a0..b2bac27 100644 --- a/components/icons.tsx +++ b/components/icons.tsx @@ -752,4 +752,22 @@ export const WorldIcon = ({ +); + +export const Checklist = ({ + size = 24, + width, + height, + ...props +}: IconSvgProps) => ( + + + + + + + + + + ); \ No newline at end of file diff --git a/components/navbar/NavbarHumas.tsx b/components/navbar/NavbarHumas.tsx index 929d8e4..e513f9e 100644 --- a/components/navbar/NavbarHumas.tsx +++ b/components/navbar/NavbarHumas.tsx @@ -27,7 +27,7 @@ export default function NavbarHumas() { /> ); return ( - +
diff --git a/components/navbar/NavbarPPID.tsx b/components/navbar/NavbarPPID.tsx index aaf29b5..5d0fe40 100644 --- a/components/navbar/NavbarPPID.tsx +++ b/components/navbar/NavbarPPID.tsx @@ -6,7 +6,7 @@ import { ThemeSwitch } from '../theme-switch' export default function NavbarPPID() { return ( - +
@@ -193,32 +193,32 @@ export default function NavbarPPID() { } > - + Registrasi Permohonan } > - + Permohonan Informasi }> - + Permohonan Keberatan }> - + Statistik / Rekapitulasi }> - + Laporan Informasi Publik Tahunan diff --git a/components/table/informasi-sertamerta.tsx b/components/table/informasi-sertamerta.tsx index 29aaf9f..94ea2f8 100644 --- a/components/table/informasi-sertamerta.tsx +++ b/components/table/informasi-sertamerta.tsx @@ -26,7 +26,7 @@ export default function InformasiSertaMerta() { /> ) - const animals = [ + const filters = [ { label: "Title", value: "title" }, { label: "Date", value: "date" }, { label: "Created At", value: "createdAt" }, @@ -72,7 +72,7 @@ export default function InformasiSertaMerta() { // onChange={onChangeFilterEnterprising} > - {animals.map((list: any) => ( + {filters.map((list: any) => ( {list.label} ))} @@ -102,7 +102,7 @@ export default function InformasiSertaMerta() { // onChange={onChangeFilterEnterprising} > - {animals.map((list: any) => ( + {filters.map((list: any) => ( {list.label} ))} diff --git a/components/table/laporan-tahunan.tsx b/components/table/laporan-tahunan.tsx new file mode 100644 index 0000000..956171c --- /dev/null +++ b/components/table/laporan-tahunan.tsx @@ -0,0 +1,91 @@ +'use client' +import { Card, CardBody, Tab, Table, TableBody, TableCell, TableColumn, TableHeader, TableRow, Tabs, getKeyValue } from '@nextui-org/react' +import React from 'react' +import { Checklist, EyeFilledIcon } from '../icons' + +export default function AnnualReport() { + + const tableData = [ + { + key: "1", + tahun: "2024", + download: + }, + { + key: "2", + tahun: "2023", + download: + }, + { + key: "3", + tahun: "2022", + download: + }, + { + key: "4", + tahun: "2021", + download: + }, + ]; + + const header = [ + { + key: "tahun", + label: "Tahun", + }, + { + key: "download", + label: "Download" + } + ] + return ( +
+
+
+
Laporan Layanan Informasi Publik Tahunan
+
+
+
+
+ Laporan Tahunan Pejabat Pengelola Informasi dan Dokumentasi (PPID) Humas Polri merupakan kinerja PPID Utama dalam memberikan layanan informasi publik kepada masyarakat. +
+
+ + {/* + Tahun + Download + */} + + {(column) => {column.label}} + + {/* + 2024 + + + + 2023 + ceklis + */} + + {(item) => ( + + {(columnKey) => {getKeyValue(item, columnKey)}} + + )} + +
+
+
+
+ ) +} diff --git a/public/login.png b/public/login.png new file mode 100644 index 0000000..8e32b1c Binary files /dev/null and b/public/login.png differ diff --git a/public/temp/checklist.svg b/public/temp/checklist.svg new file mode 100644 index 0000000..c14f48e --- /dev/null +++ b/public/temp/checklist.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/public/temp/panel.png b/public/temp/panel.png new file mode 100644 index 0000000..0ecce87 Binary files /dev/null and b/public/temp/panel.png differ diff --git a/public/temp/statistik.png b/public/temp/statistik.png new file mode 100644 index 0000000..01e867b Binary files /dev/null and b/public/temp/statistik.png differ diff --git a/public/temp/statistik2.png b/public/temp/statistik2.png new file mode 100644 index 0000000..9ef4d0e Binary files /dev/null and b/public/temp/statistik2.png differ