import React, { useState } from 'react';
import axios from 'axios';
import './LevelItem.css';
import ModalLevel from './ModalLevel';

const hostURL = "http://localhost:8080";
const host = hostURL + "/api/1.0/level";

//отвечает за отдельно взятый уровень (вывод карточки с ним)
const LevelItem = (data) => {

    const [level, setLevel] = useState(null);
    
    //состояние для контроля вызова модального окна
    const[modal, setModal] = useState(false);

    const getTokenForHeader = function () {
        return "Bearer " + localStorage.getItem("token");
    }

    const deleteLevel = async function (id) {
        const requestParams = {
            method: "DELETE",
            headers: {
                "Content-Type": "application/json",
                "Authorization": getTokenForHeader(),
            }
        };
        const requestUrl = host + `/${id}`;
        await fetch(requestUrl, requestParams);
    }

    return (
        <div className="level-card">
            <p className="level-attribute"> id: {data.levelItem.id} </p>
            <p className="level-attribute"> уровень: {data.levelItem.level} </p>
            <div className='level-button-group'>
                <button className="level-button" type="button"
                    onClick={() => setModal(true)}
                >
                    Редактировать
                </button>
                <button className="level-button" type="button"
                    onClick={event => deleteLevel(data.levelItem.id)}
                >
                    Удалить
                </button>
                <ModalLevel
                    data={data.levelItem}
                    visible={modal}
                    setVisible={setModal}
                />
            </div>
        </div>
    );
};

export default LevelItem;