/* globals LIMITS */
const html = require('choo/html');
const assets = require('../../../common/assets');
const title = require('../../templates/title');
const bytes = require('../../utils').bytes;

module.exports = function(state, emit) {
  return html`
    <main class="main page signInPage">
      ${title(state)}
      <div class="signIn__info flexible">
        ${state.translate('accountBenefitTitle')}
      <ul>
        <li>${state.translate('accountBenefitLargeFiles', {
          size: bytes(LIMITS.MAX_FILE_SIZE)
        })}</li>
        <li>${state.translate('accountBenefitExpiry')}</li>
        <li>${state.translate('accountBenefitSync')}</li>
      </ul>
      </div>
      <div class="signIn__form flexible">
        <img class="signIn__firefoxLogo"
          src="${assets.get('firefox_logo-only.svg')}"
          width=56 height=56
          alt="Firefox logo"/>
          <div class="signIn__emailLabel">
            ${state.translate('signInEmailEnter')}
          </div>
          ${state.translate('signInContinueMessage')}
          <form
            onsubmit=${submitEmail}
            data-no-csrf>
            <input
              id="email-input"
              type="text"
              class="signIn__emailInput"
              placeholder=${state.translate('emailEntryPlaceholder')}/>
            <input
              class='noDisplay'
              id="email-submit"
              type="submit"/>
          </form>
      </div>
      <label class="btn" for="email-submit">
        ${state.translate('signInContinueButton')}
      </label>
    </main>
  `;

  function submitEmail(event) {
    event.preventDefault();
    const el = document.getElementById('email-input');
    const email = el.value;
    if (email) {
      // just check if it's the right shape
      const a = email.split('@');
      if (a.length === 2 && a.every(s => s.length > 0)) {
        return emit('login', email);
      }
    }
    el.value = '';
  }
};