const React = require('react');

const TEAM = [
  {
    firstName: 'Christian',
    lastName: 'Rinderknecht',
    image: 'img/christian.jpeg',
    link: 'https://github.com/rinderknecht',
    pinned: true
  },
  {
    firstName: 'Brice',
    lastName: 'Aldrich',
    image: 'img/brice.jpeg',
    link: 'https://github.com/DefinitelyNotAGoat',
    pinned: true
  },
  {
    firstName: 'Gabriel',
    lastName: 'Alfour',
    image: 'img/gabriel.jpeg',
    link: 'https://gitlab.com/gabriel.alfour',
    pinned: true
  },
  {
    firstName: 'Matej',
    lastName: 'Sima',
    image: 'img/matej.jpeg',
    link: 'https://github.com/maht0rz',
    pinned: true
  },
  {
    firstName: 'Sander',
    lastName: 'Spies',
    image: 'img/sander.jpeg',
    link: 'https://github.com/SanderSpies',
    pinned: true
  },
  {
    firstName: 'Suzanne',
    lastName: 'Dupéron',
    image: 'img/suzanne.jpeg',
    link: 'https://gitlab.com/suzanne.duperon',
    pinned: true
  }
];

const COMMUNICATION_CHANNELS = [
  {
    link: 'https://discord.gg/9rhYaEt',
    icon: 'img/discord.svg',
    description: "We're hear to help. Ask us anything"
  },
  {
    link: 'https://gitlab.com/ligolang/ligo/issues',
    icon: 'img/gitlab.svg',
    description: 'Need a fix? Create an issue on GitLab'
  },
  {
    link: 'https://twitter.com/ligolang',
    icon: 'img/twitter.svg',
    description: 'Join the latest chit-chat'
  }
];

const Portrait = (config, props) => {
  return (
    <a
      href={props.link}
      className="portraitContainer"
      key={props.link}
      target="_blank"
      rel="noopener noreferrer"
    >
      <img className="portrait" src={`${config.baseUrl}${props.image}`} />
      <div className="overlay">
        <span>{props.firstName}</span>
        <span>{props.lastName}</span>
      </div>
    </a>
  );
};

const CommunicationChannel = (config, props) => {
  return (
    <a
      className="option"
      href={props.link}
      target="_blank"
      rel="noopener noreferrer"
    >
      <img className="icon" src={`${config.baseUrl}${props.icon}`} />
      {props.description}
    </a>
  );
};

module.exports = props => {
  const pinnedMembers = TEAM.filter(member => member.pinned);
  const membersCeilCount = Math.ceil(pinnedMembers.length / 2);
  const membersInFistColumn = pinnedMembers.slice(0, membersCeilCount);
  const membersInSecondColumn = pinnedMembers.slice(membersCeilCount);

  return (
    <div id="contactPage" className="centered">
      <div id="mural">
        <div className="column">
          {membersInFistColumn.map(entry => Portrait(props.config, entry))}
        </div>
        <div className="offset column">
          {membersInSecondColumn.map(entry => Portrait(props.config, entry))}
        </div>
      </div>
      <div id="message">
        <div className="title">Talk to us</div>
        <div className="communicationOptions">
          {COMMUNICATION_CHANNELS.map(entry =>
            CommunicationChannel(props.config, entry)
          )}
        </div>
      </div>
    </div>
  );
};