add fxA ui elements

This commit is contained in:
Emily 2018-08-03 12:24:41 -07:00
parent 4c64593262
commit 894545a6f0
29 changed files with 612 additions and 370 deletions

View file

@ -1,9 +1,15 @@
const html = require('choo/html');
const raw = require('choo/html/raw');
const assets = require('../../common/assets');
const title = require('../templates/title');
module.exports = function(state) {
return html`
<div>
<a href="/" class="goBackButton">
<img src="${assets.get('back-arrow.svg')}"/>
</a>
${title(state)}
<div class="title">${state.translate('legalHeader')}</div>
${raw(
replaceLinks(state.translate('legalNoticeTestPilot'), [

View file

@ -4,8 +4,7 @@ const downloadButton = require('../../templates/downloadButton');
const downloadedFiles = require('../../templates/uploadedFileList');
module.exports = function(state, emit) {
const storageFile = state.storage.getFileById(state.params.id);
const multifiles = Array.from(storageFile.manifest.files);
const ownedFile = state.storage.getFileById(state.params.id);
const trySendLink = html`
<a class="link link--action" href="/">
@ -26,7 +25,7 @@ module.exports = function(state, emit) {
<div class="page">
${titleSection(state)}
${downloadedFiles(multifiles, state, emit)}
${downloadedFiles(ownedFile, state, emit)}
<div class="description">${state.translate('downloadMessage2')}</div>
${downloadButton(state, emit)}

View file

@ -4,7 +4,7 @@ const raw = require('choo/html/raw');
const assets = require('../../../common/assets');
const notFound = require('../notFound');
const deletePopup = require('../../templates/popup');
const uploadedFiles = require('../../templates/uploadedFileList');
const uploadedFileList = require('../../templates/uploadedFileList');
const { allowedCopy, delay, fadeOut } = require('../../utils');
module.exports = function(state, emit) {
@ -17,8 +17,6 @@ module.exports = function(state, emit) {
? ''
: 'passwordReminder--hidden';
const multifiles = Array.from(file.manifest.files);
return html`
<div class="page effect--fadeIn" id="shareWrapper">
@ -27,11 +25,10 @@ module.exports = function(state, emit) {
</a>
${expireInfo(file, state.translate)}
${uploadedFiles(multifiles, state, emit)}
${uploadedFileList(file, state, emit)}
<div class="sharePage__copyText">
${state.translate('copyUrlFormLabelWithName', { filename: '' })}
${state.translate('copyUrlLabel')}
<div class="sharePage__passwordReminder ${passwordReminderClass}">(don't forget the password too)</div>
</div>
@ -60,14 +57,14 @@ module.exports = function(state, emit) {
<button
class="btn--cancel btn--delete"
title="${state.translate('deleteFileButton')}"
onclick=${showPopup}>${state.translate('deleteFileButton')}
onclick=${showDeletePopup}>${state.translate('deleteFileButton')}
</button>
</div>
`;
function showPopup() {
function showDeletePopup() {
const popup = document.querySelector('.popup');
popup.classList.add('popup--show');
popup.focus();

View file

@ -37,6 +37,7 @@ module.exports = function(state, emit) {
${state.translate('signInContinueMessage')}
<form
onsubmit=${submitEmail}
data-no-csrf>
<input
type="text"
@ -57,4 +58,9 @@ module.exports = function(state, emit) {
</div>
`;
function submitEmail(event) {
event.preventDefault();
//TODO: hook up fxA onboarding
}
};

View file

@ -6,7 +6,7 @@
.signIn__info {
width: 308px;
margin: 16px auto 0;
margin: 12px auto 0;
text-align: left;
}
@ -26,7 +26,7 @@
height: 40px;
border: 1px solid rgba(0, 0, 0, 0.2);
border-radius: 4px;
margin: 0;
margin: 8px 0;
padding: 0 8px;
font-size: 18px;
color: var(--lightTextColor);

View file

@ -1,6 +1,5 @@
const html = require('choo/html');
const assets = require('../../../common/assets');
const { checkSize } = require('../../utils');
const title = require('../../templates/title');
const setPasswordSection = require('../../templates/setPasswordSection');
const uploadBox = require('../../templates/uploadedFileList');
@ -9,14 +8,15 @@ const expireInfo = require('../../templates/expireInfo');
module.exports = function(state, emit) {
// the page flickers if both the server and browser set 'effect--fadeIn'
const fade = state.layout ? '' : 'effect--fadeIn';
const files = state.files ? state.files : [];
const hasAnUpload = state.archive && state.archive.numFiles > 0;
const optionClass = state.uploading ? 'uploadOptions--faded' : '';
const btnUploading = state.uploading ? 'btn--stripes' : '';
const cancelVisible = state.uploading ? '' : 'noDisplay';
const faded = files.length > 0 ? 'uploadArea--faded' : '';
const selectFileClass = files.length > 0 ? 'btn--hidden' : '';
const sendFileClass = files.length > 0 ? '' : 'btn--hidden';
const faded = hasAnUpload ? 'uploadArea--faded' : '';
const selectFileClass = hasAnUpload > 0 ? 'btn--hidden' : '';
const sendFileClass = hasAnUpload > 0 ? '' : 'btn--hidden';
let btnText = '';
@ -37,7 +37,7 @@ module.exports = function(state, emit) {
ondragover=${dragover}
ondragleave=${dragleave}>
${uploadBox(files, state, emit)}
${uploadBox(state.archive, state, emit)}
<div class="uploadedFilesWrapper ${faded}">
<img
@ -118,21 +118,18 @@ module.exports = function(state, emit) {
async function addFiles(event) {
event.preventDefault();
const target = event.target;
checkSize(target.files, state.files);
emit('addFiles', { files: target.files });
const newFiles = Array.from(event.target.files);
emit('addFiles', { files: newFiles });
}
async function upload(event) {
event.preventDefault();
if (files.length > 0) {
emit('upload', {
files,
type: 'click',
dlCount: state.downloadCount,
password: state.password
});
}
emit('upload', {
type: 'click',
dlCount: state.downloadCount,
password: state.password
});
}
};

View file

@ -91,3 +91,7 @@
.uploadCancel {
margin: 6px 0 0;
}
.uploadCancel:hover {
text-decoration: underline;
}