import { connect } from "react-redux";
import { createStructuredSelector } from "reselect";
import { store } from "../../redux/store";
import { selectBodyshop } from "../../redux/user/user.selectors";
import { Tooltip } from "antd";

const mapStateToProps = createStructuredSelector({
  bodyshop: selectBodyshop
});
const mapDispatchToProps = () => ({
  //setUserLanguage: language => dispatch(setUserLanguage(language))
});
export default connect(mapStateToProps, mapDispatchToProps)(OwnerNameDisplay);

export function OwnerNameDisplay({ bodyshop, ownerObject, withToolTip = false }) {
  const emptyTest = ownerObject?.ownr_fn + ownerObject?.ownr_ln + ownerObject?.ownr_co_nm;

  if (!emptyTest || emptyTest === "null" || emptyTest.trim() === "") return "N/A";

  let returnString;
  if (bodyshop.last_name_first) {
    returnString =
      `${ownerObject?.ownr_ln || ""}, ${ownerObject?.ownr_fn || ""} ${ownerObject?.ownr_co_nm || ""}`.trim();
  } else {
    returnString = `${ownerObject?.ownr_fn || ""} ${ownerObject?.ownr_ln || ""} ${ownerObject.ownr_co_nm || ""}`.trim();
  }
  if (withToolTip) {
    return (
      <Tooltip title={returnString} mouseEnterDelay={0.5}>
        {returnString}
      </Tooltip>
    );
  } else {
    return returnString;
  }
}

export function OwnerNameDisplayFunction(ownerObject, forceFirstLast = false) {
  const emptyTest = ownerObject?.ownr_fn + ownerObject?.ownr_ln + ownerObject?.ownr_co_nm;

  if (!emptyTest || emptyTest === "null" || emptyTest.trim() === "") return "N/A";

  const rdxStore = store.getState();

  if (rdxStore.user?.bodyshop?.last_name_first && !forceFirstLast)
    return `${ownerObject?.ownr_ln || ""}, ${ownerObject?.ownr_fn || ""} ${ownerObject?.ownr_co_nm || ""}`.trim();

  return `${ownerObject?.ownr_fn || ""} ${ownerObject?.ownr_ln || ""} ${ownerObject?.ownr_co_nm || ""}`.trim();
}
