const html = require('choo/html');
const assets = require('../../common/assets');
const { bytes, platform } = require('../utils');
const { canceledSignup, submittedSignup } = require('../metrics');
module.exports = function(trigger) {
return function(state, emit, close) {
const DAYS = Math.floor(state.LIMITS.MAX_EXPIRE_SECONDS / 86400);
const hidden = platform() === 'android' ? 'hidden' : '';
let submitting = false;
return html`
${state.translate('accountBenefitTitle')}
-
${state.translate('accountBenefitLargeFiles', {
size: bytes(state.LIMITS.MAX_FILE_SIZE)
})}
- ${state.translate('accountBenefitDownloadCount')}
-
${state.translate('accountBenefitTimeLimit', { count: DAYS })}
- ${state.translate('accountBenefitSync')}
- ${state.translate('accountBenefitMoz')}
`;
function emailish(str) {
if (!str) {
return false;
}
// just check if it's the right shape
const a = str.split('@');
return a.length === 2 && a.every(s => s.length > 0);
}
function cancel(event) {
canceledSignup({ trigger });
close(event);
}
function submitEmail(event) {
event.preventDefault();
if (submitting) {
return;
}
submitting = true;
const el = document.getElementById('email-input');
const email = el.value;
submittedSignup({ trigger });
emit('login', emailish(email) ? email : null);
}
};
};