/* eslint-disable complexity */
import React from 'react';
import classnames from 'classnames';
import { QuickBtns, Button } from 'cbkfe-ui';
import { mb_open } from 'cbkfe-bridge';
import { browser } from 'cbkfe-utils';
import './style';

const isWx = browser.versions.wechat;

export default function BuyButton({
    className = '',
    hideIphonex = false,
    isMember = false,
    leftInfo = {
        disabled: false,
        title: '标题标题',
        price: '￥价格',
        bindId: "",
        type: "",
        openUrl: "",
        icon: '',
        iconClassName: '',
        isSubscriptionReminder: false,
        onClick: () => {}
    },
    rightInfo = {
        disabled: false,
        title: '标题标题',
        price: '￥价格',
        bindId: "",
        type: "",
        openUrl: "",
        onClick: () => {}
    },
    wxBtn,
    showQuickBtns,
    appendBtns = [],
    checkLogin,
    slots = null
}) {
    const showWxBtn = wxBtn && isWx;
    return <div className={`cbkfe-buybottom-bar ${className}`}>
        {showQuickBtns && <QuickBtns appendBtns={appendBtns} />}
        {(slots && slots.middleBar) ? slots.middleBar : null}
        <div className="cbkfe-buybottom-content">
            {showWxBtn ? (
                <div className="buybottom__share" onClick={e => {
                    e.stopPropagation();
                    wxBtn.link && mb_open(wxBtn.link);
                }}>
                    <img className="buybottom__shareIcon" src="https://static.caibeike.com/i/ddebbcc58f614dce341afe68fc871b33-j4CQp1-OOwiAhp1" alt="wechat" />
                    <p className="buybottom__shareTitle">{wxBtn.text || '加群快速成团'}</p>
                </div>
            ) : null}
            <div className="buybottom__btns">
                <React.Fragment>
                    {leftInfo && leftInfo.title ? (
                        <Button
                            icon={leftInfo && leftInfo.icon}
                            iconClassName={leftInfo && leftInfo.iconClassName}
                            isSubscriptionReminder={leftInfo && leftInfo.isSubscriptionReminder}
                            text={<React.Fragment>
                                <div className="buybottom__itemTitle">{leftInfo && leftInfo.title}</div>
                                {leftInfo && leftInfo.price ? <div className="buybottom__itemPrice">{leftInfo && leftInfo.price}</div> : null}
                            </React.Fragment>}
                            onClick={(e) => leftInfo && leftInfo.onClick(e)}
                            checkLogin={checkLogin}
                            openUrl={leftInfo && leftInfo.openUrl}
                            type={leftInfo && leftInfo.type}
                            disabled={leftInfo && leftInfo.disabled}
                            bindId={leftInfo && leftInfo.bindId}
                            className={`buybottom__item  ${leftInfo && leftInfo.disabled && 'buybottom__disable'} ${leftInfo.buttonStyleType && leftInfo.buttonStyleType === 4 ? 'buybottom__rob' : ''}`}
                        />
                    ) : null}
                </React.Fragment>
                <React.Fragment>
                    {rightInfo && rightInfo.title ? (
                        <Button
                            text={<React.Fragment>
                                <div className="buybottom__itemTitle">{rightInfo && rightInfo.title}</div>
                                {rightInfo && rightInfo.price ? <div className="buybottom__itemPrice">{rightInfo && rightInfo.price}</div> : null}
                            </React.Fragment>}
                            onClick={(e) => !rightInfo.disabled && rightInfo && rightInfo.onClick(e)}
                            checkLogin={checkLogin}
                            openUrl={rightInfo && rightInfo.openUrl}
                            type={rightInfo && rightInfo.type}
                            disabled={rightInfo && rightInfo.disabled}
                            bindId={rightInfo && rightInfo.bindId}
                            className={`buybottom__item buybottom__right  ${rightInfo && rightInfo.disabled && 'buybottom__disable'}  ${isMember && 'buybottom__member'} ${rightInfo.buttonStyleType && rightInfo.buttonStyleType === 4 ? 'buybottom__rob' : ''}`}
                        />
                    ) : null}
                </React.Fragment>
            </div>
        </div>
        {!hideIphonex && <div className="iphonex" />}
    </div>;
}