| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 | 
							- import moment from "moment";
 
- 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>
 
- 										<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>
 
- 										</div>
 
- 									</li>
 
- 								</>
 
- 							))}
 
- 					</>
 
- 				))}
 
- 			<li className="timeline-end">
 
- 				<a className="timeline-badge">
 
- 					<em className="fa fa-plus"></em>
 
- 				</a>
 
- 			</li>
 
- 		</ul>
 
- 	);
 
- }
 
- export default Timeline;
 
 
  |