import React, {useContext} from 'react';
import ListRow from "../../../../UI/DuaList/ListRow";
import TextColumn from "../../../../UI/DuaList/Columns/TextColumn";
import ListActions from "../../../../UI/DuaList/Columns/ListActions";
import DuaList from "../../../../UI/DuaList/DuaList";
import {Deal} from "../../../../../models/Rescom/RescomCollaborator";
import StatusColumn from "../../../../UI/DuaList/Columns/StatusColumn";
import dayjs from "dayjs";
import HeaderControlsContext from "../../../../../context/headerControls-context";
import {WithRuleBoolean} from "../../../../HOC/WithRule";

interface DealsListProps {
    deals?: Deal[]
    handleEdit: (deal: Deal) => void

}

const DealsList = ({handleEdit, deals}: DealsListProps) => {
    const {showSensitive} = useContext(HeaderControlsContext)
    const canEditAgreed = WithRuleBoolean('simfonithenta');
    const canEditAgreedReverse = !canEditAgreed;
    return (
        <>
            {
                deals &&

                <DuaList>

                    {
                        deals.map(deal => {
                            return (
                                <ListRow
                                    _key={deal.id}
                                    key={deal.id}>
                                    <StatusColumn
                                        label={"ΚΑΤΑΣΤΑΣΗ ΣΥΜΦΩΝΗΘΕΝΤΩΝ"}
                                        title={deal.is_active ? 'ΕΝΕΡΓΟ' : 'ΑΝΕΝΕΡΓΟ'}
                                        flex={'0 0 140px'}
                                        align={'left'}
                                        type={deal.is_active ? 'success' : 'completed'}
                                    >
                                        {deal.is_active ? 'ΕΝΕΡΓΟ' : 'ΑΝΕΝΕΡΓΟ'}
                                    </StatusColumn>
                                    <TextColumn
                                        label={'ΗΜΕΡΟΜΗΝΙΑ ΑΠΟ:'}
                                        size='14px'
                                        align={"left"}
                                        flex={'1.5 0 450px'}>
                                        <b> { dayjs(deal.start_date).format('DD/MM/YYYY')}</b>
                                    </TextColumn>

                                    <TextColumn
                                        label={'ΗΜΕΡΟΜΗΝΙΑ ΕΩΣ:'}
                                        size='14px'
                                        align={"left"}
                                        flex={'1.5 0 450px'}>
                                            <b> { dayjs(deal.end_date).format('DD/MM/YYYY')}</b>
                                    </TextColumn>

                                    <TextColumn size='11px' align={"left"} flex={'1 0 250px'} label={'ΠΟΣΟ (€)'}>
                                        <b>{showSensitive ? deal.amount : '*********'} €</b>
                                    </TextColumn>
                                    {canEditAgreed &&    <ListActions>
                                        <ul>
                                            <li onClick={() => handleEdit(deal)}>Επεξεργασία</li>
                                        </ul>
                                    </ListActions> }


                                </ListRow>
                            );
                        })}
                </DuaList>
            }
        </>
    );
}

export default DealsList;
