| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215 | 
							- import React, { Component } from "react";
 
- import BasePage from "@/components/Layout/BasePage";
 
- import {
 
-   Row,
 
-   Col,
 
-   FormGroup,
 
-   Input,
 
-   Card,
 
-   CardBody,
 
-   Button,
 
-   Navbar,
 
-   NavItem,
 
-   NavLink,
 
-   NavbarBrand,
 
-   NavbarToggler,
 
-   Nav,
 
-   Collapse,
 
- } from "reactstrap";
 
- import Link from "next/link";
 
- import ContentWrapper from "@/components/Layout/ContentWrapper";
 
- import { getPelaporanPublic } from "@/actions/pelaporan";
 
- import DetailLaporan from "@/components/Public/DetailLaporan";
 
- import { getLogPublic } from "@/actions/log";
 
- import Timeline from "@/components/Main/Timeline";
 
- import { Formik, Form, Field, ErrorMessage } from "formik";
 
- import * as Yup from "yup";
 
- import { ToastContainer, toast } from "react-toastify";
 
- // import Swal from '@/components/Common/Swal';
 
- import "react-toastify/dist/ReactToastify.css";
 
- import swal from "sweetalert2";
 
- const menu = [
 
-   {
 
-     title: "Home",
 
-     path: "/app",
 
-   },
 
-   {
 
-     title: "Buat Laporan",
 
-     path: "/laporan/new",
 
-   },
 
-   {
 
-     title: "Pemantauan",
 
-     path: "/pemantauan",
 
-   },
 
- ];
 
- const pemantauanSchema = Yup.object().shape({
 
-   no_laporan: Yup.string().required("Harap Diisi"),
 
-   no_hp: Yup.number().notRequired("Harap Diisi"),
 
- });
 
- class App extends Component {
 
-   constructor(props) {
 
-     super(props);
 
-     this.state = {
 
-       isOpen: false,
 
-       no_laporan: "",
 
-       no_hp: "",
 
-       msgError: [],
 
-       laporan: null,
 
-       log: null,
 
-     };
 
-   }
 
-   static getInitialProps = ({ pathname }) => ({ pathname });
 
-   toggleCollapse = () => {
 
-     this.setState({
 
-       isOpen: !this.state.isOpen,
 
-     });
 
-   };
 
-   handleLihatPemantaun = async (data) => {
 
-     const { no_hp, no_laporan } = data;
 
-     // const toastid = toast.loading("Please wait...");
 
-     const log = await getLogPublic({ no_hp, no_laporan });
 
-     if (log.data) {
 
-       this.setState({ laporan: log.data.laporan, log: log.data.pemantauan });
 
-       // swal.fire("Data ditemukan", "", "success");
 
-       swal.fire({
 
-         title: "Data ditemukan",
 
-         icon: "success",
 
-         confirmButtonColor: "#3E3A8E",
 
-       });
 
-     } else {
 
-       this.setState({ laporan: null, log: null });
 
-       // swal.fire("Data tidak ditemukan", " ", "error");
 
-       swal.fire({
 
-         title: "Data tidak ditemukan",
 
-         icon: "error",
 
-         confirmButtonColor: "#3E3A8E",
 
-       });
 
-     }
 
-   };
 
-   render() {
 
-     const { laporan, log } = this.state;
 
-     return (
 
-       <div>
 
-         <ToastContainer />
 
-         <Navbar className="navbar-color" expand="md" dark>
 
-           <NavbarBrand href="/">
 
-             <img
 
-               className="width-133"
 
-               src="/static/img/Logo-Sidali.png"
 
-               alt="App Logo"
 
-             />
 
-           </NavbarBrand>
 
-           <NavbarToggler onClick={this.toggleCollapse} />
 
-           <Collapse isOpen={this.state.isOpen} navbar>
 
-             <Nav className="ml-auto" navbar>
 
-               {menu.map((e) => (
 
-                 <NavItem active={e.path === this.props.pathname ? true : false}>
 
-                   <Link href={e.path}>
 
-                     <NavLink style={{ cursor: "pointer" }}>{e.title}</NavLink>
 
-                   </Link>
 
-                 </NavItem>
 
-               ))}
 
-             </Nav>
 
-           </Collapse>
 
-         </Navbar>
 
-         <ContentWrapper>
 
-           <Row>
 
-             <Col lg={8} className="block-center d-block ">
 
-               <Card className="card-default">
 
-                 <CardBody>
 
-                   <Formik
 
-                     initialValues={{
 
-                       no_laporan: "",
 
-                       no_hp: "",
 
-                     }}
 
-                     validationSchema={pemantauanSchema}
 
-                     onSubmit={this.handleLihatPemantaun}
 
-                   >
 
-                     <Form className="form-horizontal">
 
-                       <div class="header-1">
 
-                         <h2 class="card-title-1">Pemantauan</h2>
 
-                       </div>
 
-                       {/* <p className="lead bb">Pemantauan</p> */}
 
-                       <FormGroup row>
 
-                         <label className="col-md-2 col-form-label">
 
-                           Nomor Laporan
 
-                         </label>
 
-                         <div className="col-md-10">
 
-                           <Field name="no_laporan">
 
-                             {({ field }) => <Input type="text" {...field} />}
 
-                           </Field>
 
-                           <ErrorMessage
 
-                             name="no_laporan"
 
-                             component="div"
 
-                             className="form-text text-danger"
 
-                           />
 
-                         </div>
 
-                       </FormGroup>
 
-                       <FormGroup row>
 
-                         <label className="col-md-2 col-form-label">
 
-                           Nomor Aktif
 
-                         </label>
 
-                         <div className="col-md-10">
 
-                           <Field name="no_hp">
 
-                             {({ field }) => <Input type="tel" {...field} />}
 
-                           </Field>
 
-                           <ErrorMessage
 
-                             name="no_hp"
 
-                             component="div"
 
-                             className="form-text text-danger"
 
-                           />
 
-                         </div>
 
-                       </FormGroup>
 
-                       <FormGroup row>
 
-                         <div className="posisi-btn-1 btn-radius">
 
-                           <Button
 
-                             className="button-lihatpemantauan btn-login"
 
-                             color
 
-                             block
 
-                             type="submit"
 
-                           >
 
-                             <h3 className="text-lihatpemantauan font-color-white">
 
-                               Lihat Pemantauan
 
-                             </h3>
 
-                           </Button>
 
-                         </div>
 
-                       </FormGroup>
 
-                     </Form>
 
-                   </Formik>
 
-                 </CardBody>
 
-               </Card>
 
-               <Card className="card-default">
 
-                 <CardBody>
 
-                   <div class="header-1">
 
-                     <h2 class="card-title-1">Rekap Laporan</h2>
 
-                   </div>
 
-                   <div className="">
 
-                     {laporan && log ? (
 
-                       <>
 
-                         <DetailLaporan data={laporan} />
 
-                         <p className="lead bb tengah">Pemantauan</p>
 
-                         <Timeline data={log} noFile />{" "}
 
-                       </>
 
-                     ) : (
 
-                       <p className="tengah">Tidak Ada Laporan</p>
 
-                     )}
 
-                   </div>
 
-                 </CardBody>
 
-               </Card>
 
-             </Col>
 
-           </Row>
 
-         </ContentWrapper>
 
-       </div>
 
-     );
 
-   }
 
- }
 
- App.Layout = BasePage;
 
- export default App;
 
 
  |