| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112 | import React, { Component } from "react";import { Row, Col, Card, CardBody, FormGroup, Input, Button, Modal, ModalHeader, ModalBody, ModalFooter, CardHeader, CardTitle } from "reactstrap";import ContentWrapper from "@/components/Layout/ContentWrapper";import DetailSanksi from "@/components/PerpanjanganSanksi/DetailSanksi";import Link from "next/link";import DetailPT from "@/components/Main/DetailPT";import { getOneSanksi, addRekomendasiDelegasi } from "@/actions/sanksi";import Loader from "@/components/Common/Loader";import { connect } from "react-redux";import InputTanggal from "../../../components/PerpanjanganSanksi/InputTanggal";import Riwayat from "@/components/PerpanjanganSanksi/Riwayat";import TableRiwayatCatatan from "../../../components/PerpanjanganSanksi/TableRiwayatCatatan.js";import Newfile from "./newfile.js";import { getAllCatatan } from "../../../actions/catatan";class Detail extends Component {	constructor(props) {		super(props);		this.state = {			sanksi: {},			files: [],			pt: {},			data: {},		};	}	static getInitialProps = async ({ query }) => {		return { query };	};	componentDidMount = async () => {		const { query, token } = this.props;		const idSanksi = query.id;		const sanksi = await getOneSanksi(token, idSanksi, { all: true });		const getCatatan = await getAllCatatan(token, idSanksi)		const AllCatatan = getCatatan.data		const pt = sanksi.data.laporan.pt;		this.setState({ sanksi, pt, AllCatatan });	};	render() {		const { files, sanksi, pt, AllCatatan } = this.state;		const { query, token } = this.props;		return (			<ContentWrapper unwrap>				{/* <Header /> */}				<div className="p-3">					<div className="content-heading">						<span className="font-color-white">							Perpanjangan Sanksi						</span>						<div className="ml-auto">							<Link href="/app/perpanjangan-sanksi">								<Button className="color-3e3a8e" color>									<span className="font-color-white">										< Kembali									</span>								</Button>							</Link>						</div>					</div>					{sanksi.data && (						<Row>							<Col xl="9">								<DetailSanksi data={sanksi.data} role={this.props.user.role.id} />							</Col>							<Col lg="3">{pt ? <DetailPT data={pt} /> : <Loader />}</Col>						</Row>					)}					{sanksi.data && (						<Row>							<Col>								<InputTanggal query={query} token={token} data={sanksi.data} />							</Col>						</Row>					)}					{AllCatatan?.length ? (						<Row>							<Col>								<TableRiwayatCatatan query={this.props.query} role={this.props.user.role.id} newFilePage="/app/perpanjangan-sanksi/newfile" editFilePage="/app/perpanjangan-sanksi/editfile" readOnly="/app/perpanjangan-sanksi/readOnly" listData={AllCatatan} />							</Col>						</Row>					)						:						(							<Row>								<Col>									<TableRiwayatCatatan query={this.props.query} role={this.props.user.role.id} newFilePage="/app/perpanjangan-sanksi/newfile" editFilePage="/app/perpanjangan-sanksi/editfile" readOnly="/app/perpanjangan-sanksi/readOnly" listData={AllCatatan} />								</Col>							</Row>						)}					{sanksi.data && (						<Row>							<Col>								<Riwayat data={sanksi.data?.riwayat_perpanjangan_sanksi} role={this.props.user.role.id} />							</Col>						</Row>					)}				</div>			</ContentWrapper>		);	}}const mapStateToProps = (state) => ({ user: state.user, token: state.token });export default connect(mapStateToProps)(Detail);
 |