| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 | import React, { Component } from "react";import Header from "@/components/Main/Header";import DetailPT from "@/components/Main/DetailPT";import { getOneLaporan } from "@/actions/pelaporan";import DetailLaporan from "@/components/PelaporanTuntas/DetailLaporan";import Link from "next/link";import ContentWrapper from "@/components/Layout/ContentWrapper";import { Row, Col, Card, Button, CardBody } from "reactstrap";import Loader from "@/components/Common/Loader";import { connect } from "react-redux";import { createLog } from "@/actions/log";import { getCsrf } from "../../../actions/security";import { getOneSanksi } from "../../../actions/sanksi";import DetailSanksi from "../../../components/PelaporanTuntas/DetailSanksi";class DetailPelaporan extends Component {	constructor(props) {		super(props);		this.state = {			pelaporan: {},		};	}	static getInitialProps = async ({ query }) => {		return { query };	};	componentDidMount = async () => {		const { token, query } = this.props;		const getTokenCsrf = await getCsrf();		const _csrf = getTokenCsrf.token;		if (query.data === "sanksi") {			const sanksi = await getOneSanksi(this.props.token, query.id + "?aktif=false");			await createLog(token, { aktivitas: `Mengakses halaman detail Pelaporan Tuntas dengan No. Laporan ${sanksi.data.laporan.no_laporan}`, menu: "Pelaporan", _csrf: _csrf });			this.setState({ sanksi });		}		else {			const pelaporan = await getOneLaporan(this.props.token, query.id + "?aktif=false");			await createLog(token, { aktivitas: `Mengakses halaman detail Pelaporan Tuntas dengan No. Laporan ${pelaporan?.data?.no_laporan}`, menu: "Pelaporan", _csrf: _csrf });			this.setState({ pelaporan });		}	};	render() {		const { query } = this.props		const { pelaporan, sanksi } = this.state;		return (			<ContentWrapper unwrap>				{/* <Header /> */}				<div className="p-3">					<div className="content-heading">						<span className="font-color-white">Detail Pelaporan</span>						<div className="ml-auto">							<Link href="/app/tuntas">								<Button className="btn-login" color>									<span className="font-color-white">< Kembali</span>								</Button>							</Link>						</div>					</div>					<Row>						<Col xl="9">							{query?.data === "sanksi" &&								<Card className="card-default">									<CardBody>										<Row>											<Col lg={12}>												{sanksi?.data && query?.data === "sanksi" ? <DetailSanksi data={sanksi.data} role={this.props.user.role.id} /> : <Loader />}											</Col>										</Row>									</CardBody>								</Card>							}							{query?.data === "laporan" &&								<Card className="card-default">									<CardBody>										<Row>											<Col lg={12}>												{pelaporan?.data && query.data === "laporan" ? <DetailLaporan data={pelaporan.data} role={this.props.user.role.id} /> : <Loader />}</Col>										</Row>									</CardBody>								</Card>							}						</Col>						{query?.data === "sanksi" && <Col xl="3">{sanksi?.data ? <DetailPT data={sanksi?.data.laporan?.pt} /> : <Loader />}</Col>}						{query?.data === "laporan" && <Col xl="3">{pelaporan?.data ? <DetailPT data={pelaporan?.data.pt} /> : <Loader />}</Col>}					</Row>				</div>			</ContentWrapper>		);	}}const mapStateToProps = (state) => ({ user: state.user, token: state.token });export default connect(mapStateToProps)(DetailPelaporan);
 |