import React, {useCallback, useEffect, useState} from "react"
import Modal from "react-bootstrap/Modal";
import * as EgovNet from "api/egovFetch";
import Form from "react-bootstrap/Form";
import Row from "react-bootstrap/Row";
import Col from "react-bootstrap/Col";
import Button from "react-bootstrap/Button";
import SelectOption from "components/commonCode/SelectOption";
import CheckBox from "components/commonCode/CheckBox";

function UserInfoModal({userSeq}){

    const [userInfo, setUserInfo] = useState({ userId: '', password: '', passwordChk: '', userNm: '', email: '', phoneNum: '', userSe:'', userRole:'', status:''});

    function getModalContent(){
        EgovNet.requestFetch(
            '/admin/users/info?userSeq='+userSeq,
            {
                method: "GET"
            },
            (resp) => {
                const respInfo = {
                    userId: resp.result.userInfo.userId,
                    userNm: resp.result.userInfo.userNm,
                    email: resp.result.userInfo.email,
                    phoneNum: resp.result.userInfo.phoneNum,
                    password: "",
                    passwordChk: "",
                    userSe: resp.result.userInfo.userSe,
                    userRole: resp.result.userInfo.userRole,
                    status: resp.result.userInfo.status
                }
                setUserInfo(respInfo);
            },
            (resp) => {
                console.log("err response : ", resp);
            }
        );
    }

    function userInfoChange(e){
        debugger
    }

    useEffect(() => {
        getModalContent();
    }, []);

    return (
        <>
            <Modal.Header closeButton>
                <Modal.Title>
                    {userInfo.userNm} 상세정보
                </Modal.Title>
            </Modal.Header>
            <Modal.Body>
                <Form onSubmit={(e) =>{userInfoChange(e)}} noValidate>
                    <Form.Group as={Row} className="mb-3">
                        <Form.Label column sm={3}>
                            아이디
                        </Form.Label>
                        <Col sm={9}>
                            <Form.Control type="text" name="userId" placeholder="아이디" required defaultValue={userInfo?.userId} />
                        </Col>
                    </Form.Group>
                    <Form.Group as={Row} className="mb-3">
                        <Form.Label column sm={3}>
                            비밀번호
                        </Form.Label>
                        <Col sm={9}>
                            <Form.Control type="password" name="password" placeholder="비밀번호 변경 시 입력" />
                        </Col>
                    </Form.Group>
                    <Form.Group as={Row} className="mb-3">
                        <Form.Label column sm={3}>
                            비밀번호 확인
                        </Form.Label>
                        <Col sm={9}>
                            <Form.Control type="password" name="passwordChk" placeholder="비밀번호 변경 시 입력" />
                        </Col>
                    </Form.Group>
                    <Form.Group as={Row} className="mb-3">
                        <Form.Label column sm={3}>
                            이름
                        </Form.Label>
                        <Col sm={9}>
                            <Form.Control type="text" name="userNm" placeholder="이름" required defaultValue={userInfo?.userNm} />
                        </Col>
                    </Form.Group>
                    <Form.Group as={Row} className="mb-3">
                        <Form.Label column sm={3}>
                            이메일
                        </Form.Label>
                        <Col sm={9}>
                            <Form.Control type="email" name="email" placeholder="email" required defaultValue={userInfo?.email} />
                        </Col>
                    </Form.Group>
                    <Form.Group as={Row} className="mb-3">
                        <Form.Label column sm={3}>
                            연락처
                        </Form.Label>
                        <Col sm={9}>
                            <Form.Control type="text" name="phoneNum" placeholder="연락처" required defaultValue={userInfo?.phoneNum} />
                        </Col>
                    </Form.Group>
                    <Form.Group as={Row} className="mb-3">
                        <Form.Label column sm={3}>
                            사용자 유형
                        </Form.Label>
                        <Col sm={9}>
                            <SelectOption name={"userSe"} grpCd={"ACC_TYPE"} selectedValue={userInfo?.userSe} />
                        </Col>
                    </Form.Group>
                    <Form.Group as={Row} className="mb-3">
                        <Form.Label column sm={3}>
                            사용자 권한
                        </Form.Label>
                        <Col sm={9}>
                            <CheckBox name={"userRole"} grpCd={"ROLE"} selectedValue={userInfo?.userRole} />
                        </Col>
                    </Form.Group>
                    <Form.Group as={Row} className="mb-3">
                        <Form.Label column sm={3}>
                            상태
                        </Form.Label>
                        <Col sm={9}>
                            <SelectOption name={"status"} grpCd={"ACC_STUS"} selectedValue={userInfo?.status} />
                        </Col>
                    </Form.Group>
                    <Row className="mb-3">
                        <Form.Label column xs={{span:8, offset:2}} id="findResultLabel"></Form.Label>
                        <Col xs={2}>
                            <Button type="submit">저장</Button>
                        </Col>
                    </Row>
                </Form>
            </Modal.Body>
        </>
    )
}

export default UserInfoModal;