Browse Source

remove download cancel button while decrypting

Danny Coates 7 years ago
parent
commit
2292267e39
4 changed files with 22 additions and 18 deletions
  1. 1 1
      app/fileManager.js
  2. 1 0
      app/fileReceiver.js
  3. 19 16
      app/pages/download.js
  4. 1 1
      app/routes/download.js

+ 1 - 1
app/fileManager.js

@@ -53,7 +53,7 @@ export default function(state, emitter) {
     checkFiles();
   });
 
-  // emitter.on('navigate', checkFiles);
+  emitter.on('navigate', checkFiles);
 
   emitter.on('render', () => {
     lastRender = Date.now();

+ 1 - 0
app/fileReceiver.js

@@ -64,6 +64,7 @@ export default class FileReceiver extends Nanobus {
       const ciphertext = await download.result;
       this.fileDownload = null;
       this.msg = 'decryptingFile';
+      this.state = 'decrypting';
       this.emit('decrypting');
       const plaintext = await this.keychain.decryptFile(ciphertext);
       if (this.cancelled) {

+ 19 - 16
app/pages/download.js

@@ -4,30 +4,33 @@ const { bytes } = require('../utils');
 
 module.exports = function(state, emit) {
   const transfer = state.transfer;
+  const cancelBtn = html`
+  <button
+    id="cancel-upload"
+    title="${state.translate('deletePopupCancel')}"
+    onclick=${cancel}>
+    ${state.translate('deletePopupCancel')}
+  </button>`;
+
   const div = html`
   <div id="page-one">
     <div id="download">
       <div id="download-progress" class="fadeIn">
-        <div id="dl-title" class="title">${state.translate(
-          'downloadingPageProgress',
-          {
+        <div id="dl-title" class="title">
+          ${state.translate('downloadingPageProgress', {
             filename: state.fileInfo.name,
             size: bytes(state.fileInfo.size)
-          }
-        )}</div>
-        <div class="description">${state.translate(
-          'downloadingPageMessage'
-        )}</div>
+          })}
+        </div>
+        <div class="description">
+          ${state.translate('downloadingPageMessage')}
+        </div>
         ${progress(transfer.progressRatio)}
         <div class="upload">
-          <div class="progress-text">${state.translate(
-            transfer.msg,
-            transfer.sizes
-          )}</div>
-          <button
-            id="cancel-upload"
-            title="${state.translate('deletePopupCancel')}"
-            onclick=${cancel}>${state.translate('deletePopupCancel')}</button>
+          <div class="progress-text">
+            ${state.translate(transfer.msg, transfer.sizes)}
+          </div>
+          ${transfer.state === 'downloading' ? cancelBtn : null}
         </div>
       </div>
     </div>

+ 1 - 1
app/routes/download.js

@@ -46,7 +46,7 @@ module.exports = function(state, emit) {
   let pageAction = null; //default state: we don't have file metadata
   if (state.transfer) {
     const s = state.transfer.state;
-    if (s === 'downloading' || s === 'complete') {
+    if (['downloading', 'decrypting', 'complete'].indexOf(s) > -1) {
       // Downloading is in progress
       return download(state, emit);
     }