diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md deleted file mode 100644 index 9b77ea7..0000000 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ /dev/null @@ -1,40 +0,0 @@ ---- -name: Bug report -about: Create a report to help us improve -title: "" -labels: "" -assignees: "" ---- - -**Describe the bug** -A clear and concise description of what the bug is. - -**To Reproduce** -Steps to reproduce the behavior: - -1. Go to '...' -2. Click on '....' -3. Scroll down to '....' -4. See error - -**Expected behavior** -A clear and concise description of what you expected to happen. - -**Screenshots** -If applicable, add screenshots to help explain your problem. - -**Desktop (please complete the following information):** - -- OS: [e.g. iOS] -- Browser [e.g. chrome, safari] -- Version [e.g. 22] - -**Smartphone (please complete the following information):** - -- Device: [e.g. iPhone6] -- OS: [e.g. iOS8.1] -- Browser [e.g. stock browser, safari] -- Version [e.g. 22] - -**Additional context** -Add any other context about the problem here. diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md deleted file mode 100644 index 2bc5d5f..0000000 --- a/.github/ISSUE_TEMPLATE/feature_request.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -name: Feature request -about: Suggest an idea for this project -title: "" -labels: "" -assignees: "" ---- - -**Is your feature request related to a problem? Please describe.** -A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] - -**Describe the solution you'd like** -A clear and concise description of what you want to happen. - -**Describe alternatives you've considered** -A clear and concise description of any alternative solutions or features you've considered. - -**Additional context** -Add any other context or screenshots about the feature request here. diff --git a/app/(web)/verified/head.tsx b/app/(web)/verified/head.tsx new file mode 100644 index 0000000..7696af2 --- /dev/null +++ b/app/(web)/verified/head.tsx @@ -0,0 +1,13 @@ +import { Seo } from "~/components/Seo"; + +type SeoDataManager = { + title: string; +}; + +const seoData: SeoDataManager = { + title: "Verified Polinema ID", +}; + +export default function Head() { + return ; +} diff --git a/app/(web)/verified/page.tsx b/app/(web)/verified/page.tsx new file mode 100644 index 0000000..b59ddf7 --- /dev/null +++ b/app/(web)/verified/page.tsx @@ -0,0 +1,69 @@ +"use client"; +import { useDropzone } from "react-dropzone"; +import React, { useState } from "react"; + +export type UploadProps = { + path: string; + preview: string; + lastModified: number; + lastModifiedDate: Date; + name: string; + size: number; + type: string; + webkitRelativePath: string; +} + +const verificationCriteria = [ + "Kartu Tanda Mahasiswa (KTM) / Kartu Tanda Dosen (KTD) yang masih berlaku", + "Screenshot Siakad Politeknik Negeri Malang", + "Bukti kegiatan akademik", +] + +const Upload: React.FC = () => { + const [files, setFiles] = useState([]); + const { getRootProps, getInputProps } = useDropzone({ + accept: { "image/*": [] }, + onDrop: acceptedFiles => { + setFiles(acceptedFiles.map((file: any) => Object.assign(file, { + preview: URL.createObjectURL(file) + }))); + } + }); + + const thumbnail = files.map((file) => ( +
+ +

{file.name}

+
+ )); + + return ( +
+

Verifikasi Akun Mahasiswa / Dosen Politeknik Negeri Malang

+
+ +

Upload file

+
+
+

Kriteria Verifikasi

+ * pilih salah satu +
    + {verificationCriteria.map((criteria, index) => ( +
  • {criteria}
  • + ))} +
+
+
+ {thumbnail} +
+ +
+ +
+
+ ) + + +} + +export default Upload; \ No newline at end of file diff --git a/package.json b/package.json index 64abc29..f9a197b 100644 --- a/package.json +++ b/package.json @@ -30,6 +30,7 @@ "next": "13.1.6", "react": "18.2.0", "react-dom": "18.2.0", + "react-dropzone": "^14.2.3", "react-hook-form": "^7.43.1", "react-hot-toast": "^2.4.0", "react-icons": "^4.7.1", diff --git a/parts/Index/Hero.tsx b/parts/Index/Hero.tsx index e081bb9..40bcc2c 100644 --- a/parts/Index/Hero.tsx +++ b/parts/Index/Hero.tsx @@ -26,8 +26,8 @@ export default function Hero() {
- -

Get Started

+ +

Mulai cari ide

diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ba68b3d..1d2326c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -29,6 +29,7 @@ specifiers: prettier: ^2.8.4 react: 18.2.0 react-dom: 18.2.0 + react-dropzone: ^14.2.3 react-hook-form: ^7.43.1 react-hot-toast: ^2.4.0 react-icons: ^4.7.1 @@ -58,6 +59,7 @@ dependencies: next: 13.1.6_biqbaboplfbrettd7655fr4n2y react: 18.2.0 react-dom: 18.2.0_react@18.2.0 + react-dropzone: 14.2.3_react@18.2.0 react-hook-form: 7.43.1_react@18.2.0 react-hot-toast: 2.4.0_owo25xnefcwdq3zjgtohz6dbju react-icons: 4.7.1_react@18.2.0 @@ -2328,6 +2330,11 @@ packages: /ast-types-flow/0.0.7: resolution: {integrity: sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==} + /attr-accept/2.2.2: + resolution: {integrity: sha512-7prDjvt9HmqiZ0cl5CRjtS84sEyhsHP2coDkaZKRKVfCDo9s7iw7ChVmar78Gu9pC4SoR/28wFu/G5JJhTnqEg==} + engines: {node: '>=4'} + dev: false + /autoprefixer/10.4.13_postcss@8.4.21: resolution: {integrity: sha512-49vKpMqcZYsJjwotvt4+h/BCjJVnhGwcLpDt5xkcaOG3eLrG/HUYLagrihYsQ+qrIBgIzX1Rw7a6L8I/ZA1Atg==} engines: {node: ^10 || ^12 || >=14} @@ -3430,6 +3437,13 @@ packages: dependencies: flat-cache: 3.0.4 + /file-selector/0.6.0: + resolution: {integrity: sha512-QlZ5yJC0VxHxQQsQhXvBaC7VRJ2uaxTf+Tfpu4Z/OcVQJVpZO+DGU0rkoVW5ce2SccxugvpBJoMvUs59iILYdw==} + engines: {node: '>= 12'} + dependencies: + tslib: 2.4.1 + dev: false + /fill-range/7.0.1: resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} engines: {node: '>=8'} @@ -4423,6 +4437,18 @@ packages: scheduler: 0.23.0 dev: false + /react-dropzone/14.2.3_react@18.2.0: + resolution: {integrity: sha512-O3om8I+PkFKbxCukfIR3QAGftYXDZfOE2N1mr/7qebQJHs7U+/RSL/9xomJNpRg9kM5h9soQSdf0Gc7OHF5Fug==} + engines: {node: '>= 10.13'} + peerDependencies: + react: '>= 16.8 || 18.0.0' + dependencies: + attr-accept: 2.2.2 + file-selector: 0.6.0 + prop-types: 15.8.1 + react: 18.2.0 + dev: false + /react-hook-form/7.43.1_react@18.2.0: resolution: {integrity: sha512-+s3+s8LLytRMriwwuSqeLStVjRXFGxgjjx2jED7Z+wz1J/88vpxieRQGvJVvzrzVxshZ0BRuocFERb779m2kNg==} engines: {node: '>=12.22.0'}