yazid138 3 роки тому
батько
коміт
d36c7f1f90

+ 46 - 51
components/Main/Timeline.js

@@ -4,61 +4,56 @@ function Timeline({ data, noFile = false }) {
 	const date = data && [...new Set(data.map((e) => moment(e.createdAt).format("DD MMMM YYYY")))];
 	return (
 		<ul className="timeline-alt">
-			{data &&
-				date.map((value) => (
-					<>
-						<li className="timeline-separator" data-datetime={value}></li>
-						{data
-							.filter((e) => moment(e.createdAt).format("DD MMMM YYYY") === value)
-							.map((data, i) => (
-								<>
-									<li className={data.role === "PT" ? "timeline-inverted" : ""}>
-										<div className={`timeline-badge ${data.role === "PT" ? " danger" : "info"}`}>
-											<em className={`fas fa-${data.role === "PT" ? "graduation-cap" : "file"}`}></em>
-										</div>
+			{date.map((value) => (
+				<>
+					<li className="timeline-separator" data-datetime={value}></li>
+					{data
+						.filter((e) => moment(e.createdAt).format("DD MMMM YYYY") === value)
+						.map((data, i) => (
+							<>
+								<li className={data.role === "PT" ? "timeline-inverted" : ""}>
+									<div className={`timeline-badge ${data.role === "PT" ? " danger" : "info"}`}>
+										<em className={`fas fa-${data.role === "PT" ? "graduation-cap" : "file"}`}></em>
+									</div>
 
-										<div className="timeline-card">
-											<div className="popover right">
-												<div className="arrow"></div>
-												<div className="popover-body">
-													<div className="d-flex align-items-center mb-3">
-														<img
-															className="mr-3 rounded-circle thumb48"
-															src={`/static/img${data.role === "PT" ? "/univ-avatar.png" : data.role === "UMUM" ? "/user/user.png" : "/logo-single.png"}`}
-															alt="Avatar"
-														/>
-														<p className="m-0">
-															<strong>{data.role_name}</strong>
-															<br />
-															{data.description}
-															<br />
-															<p className="text-muted">{moment(data.createdAt).format("hh:mm")}</p>
-														</p>
-													</div>
-													{!noFile && data.data.files && (
-														<>
-															<p className="text-muted my-2">Dokumen</p>
-															{data.data.files.map((e) => (
-																<div className="media bb p-2">
-																	<div className="media-body">
-																		<p className="m-0">
-																			<a href={`data:${e.type};base64, ${Buffer.from(e.data).toString("base64")}`} download={e.name}>
-																				<strong>{e.name}</strong>
-																			</a>
-																		</p>
-																	</div>
-																</div>
-															))}
-														</>
-													)}
+									<div className="timeline-card">
+										<div className="popover right">
+											<div className="arrow"></div>
+											<div className="popover-body">
+												<div className="d-flex align-items-center mb-3">
+													<img className="mr-3 rounded-circle thumb48" src={`/static/img${data.role === "PT" ? "/univ-avatar.png" : data.role === "UMUM" ? "/user/user.png" : "/logo-single.png"}`} alt="Avatar" />
+													<p className="m-0">
+														<strong>{data.role_name}</strong>
+														<br />
+														{data.description}
+														<br />
+														<p className="text-muted">{moment(data.createdAt).format("hh:mm")}</p>
+													</p>
 												</div>
+												{!noFile && data.data.files && (
+													<>
+														<p className="text-muted my-2">Dokumen</p>
+														{data.data.files.map((e) => (
+															<div className="media bb p-2">
+																<div className="media-body">
+																	<p className="m-0">
+																		<a href={`data:${e.type};base64, ${Buffer.from(e.data).toString("base64")}`} download={e.name}>
+																			<strong>{e.name}</strong>
+																		</a>
+																	</p>
+																</div>
+															</div>
+														))}
+													</>
+												)}
 											</div>
 										</div>
-									</li>
-								</>
-							))}
-					</>
-				))}
+									</div>
+								</li>
+							</>
+						))}
+				</>
+			))}
 
 			<li className="timeline-end">
 				<a className="timeline-badge">

+ 1 - 5
pages/app/pelaporan/search.js

@@ -4,14 +4,10 @@ import ContentWrapper from "@/components/Layout/ContentWrapper";
 import { Row, Col, Button, Table, Pagination, PaginationItem, PaginationLink } from "reactstrap";
 import Link from "next/link";
 import { getPT, getPembina } from "@/actions/PT";
-// React Slider
-import Slider from "rc-slider";
-import "rc-slider/assets/index.css";
-// React Select
 import Select from "react-select";
-// DateTimePicker
 import "react-datetime/css/react-datetime.css";
 import { connect } from "react-redux";
+import Loader from "@/components/Common/Loader";
 
 var pembina = [];
 const selectInstanceId = 1;

+ 1 - 4
pages/app/pemantauan/index.js

@@ -4,13 +4,10 @@ import ContentWrapper from "@/components/Layout/ContentWrapper";
 import { Row, Col, Button, Table } from "reactstrap";
 import { getPT, getPembina } from "@/actions/PT";
 import "rc-slider/assets/index.css";
-// React Select
 import Select from "react-select";
-// DateTimePicker
 import "react-datetime/css/react-datetime.css";
 import { connect } from "react-redux";
-
-// import dummyData from "../PT-ID.json";
+import Loader from "@/components/Common/Loader";
 
 const selectInstanceId = 1;
 class Search extends Component {

+ 7 - 4
pages/app/pemantauan/timeline.js

@@ -34,7 +34,6 @@ class Pemantauan extends Component {
 
 		return (
 			<ContentWrapper unwrap>
-				{/* <Header /> */}
 				<div className="p-3">
 					<div className="content-heading">
 						<div>Pemantauan {pt?.data && pt.data[0].nama}</div>
@@ -45,9 +44,13 @@ class Pemantauan extends Component {
 						</div>
 					</div>
 					<Row>
-						<Col xl="9">
-							<Timeline data={log.data} />
-						</Col>
+						{log?.data ? (
+							<Col xl="9">
+								<Timeline data={log.data} />
+							</Col>
+						) : (
+							"Loading..."
+						)}
 						<Col xl="3">{pt?.data && <DetailPT data={pt.data[0]} />}</Col>
 					</Row>
 				</div>