import React, { Component } from "react"; import PropTypes from "prop-types"; import { Collapse, Dropdown, DropdownMenu, DropdownToggle, DropdownItem, UncontrolledDropdown, ModalHeader, ModalBody, ModalFooter, Modal, FormFeedback, Button } from "reactstrap"; import classNames from 'classnames'; import PhoneInput from 'react-phone-input-2' import 'react-phone-input-2/lib/style.css' import OtpInput from 'react-otp-input'; import { connect } from "react-redux"; import { createotp, getkontakpt, createkontak } from "../../actions/auth"; import swal from "sweetalert2"; class SidebarUserBlock extends Component { state = { showUserBlock: true, user: {}, role: {}, ddOpen: false, ddselected: false, phone: "", otp: "", modalOTP: false, modalPhone: false }; componentDidMount = async () => { const { token } = this.props; const user = this.props.user; const kontakPT = await getkontakpt(token); const oldPhone = kontakPT?.data.map((data) => (data.no_hp)).toString() this.setState({ user, role: user.role }); if (oldPhone) { this.setState({ phone: oldPhone }) } } componentDidUpdate(oldProps) { if (oldProps.showUserBlock !== this.props.showUserBlock) { this.setState({ showUserBlock: this.props.showUserBlock }); } } toggleDropDown = () => this.setState({ ddOpen: !this.state.ddOpen }) toggleDropItem = () => this.setState({ ddselected: !this.state.ddselected }) handleSubmitTelepon = async () => { this.setState({ loadingProses: true }) const { token } = this.props await createotp({ no_hp: this.state.phone }, token) this.setState({ modalPhone: false, modalOTP: true }) } otpClose = () => { this.setState({ modalOTP: false, ddselected: false }) // localStorage.setItem("closeverif", "true"); } handleSubmitOtp = async () => { const { token } = this.props const create = await createkontak({ otp: this.state.otp, no_hp: this.state.phone }, token) if (create.error) { swal.fire({ title: create.error.message, icon: "error", content: create.error.message, confirmButtonColor: "#3e3a8e", }); } else { swal.fire({ title: "Data berhasil dikirim", icon: "success", confirmButtonColor: "#3e3a8e", }); this.setState({ ddselected: false, modalOTP: false }) } } render() { const { user, role } = this.state; return (

Edit Nomor Telepon Perguruan Tinggi

(data.no_hp)) || this.state.phone} onChange={phone => this.setState({ phone })} />

Masukan Kode OTP

{/*
*/}
{ this.setState({ otp }) }} numInputs={4} renderSeparator={-} renderInput={(props) => } />

*Kode OTP terkirim ke nomor WA {this.state.phone}

Kode verifikasi harus diisi
{role.id === 2022 ? (
{/* User picture */}
Avatar
{/* Name and Job */}
{user.nama}
Edit Nomor Telepon
{role.nama}
) : (
{/* User picture */}
Avatar
{/* Name and Job */}
{user.nama}
{role.nama}
)}
); } } SidebarUserBlock.propTypes = { showUserBlock: PropTypes.bool, }; const mapStateToProps = (state) => ({ showUserBlock: state.settings.showUserBlock, user: state.user }); export default connect(mapStateToProps)(SidebarUserBlock);