restore-from-backup.stories.mjs (3782B)
1 /* This Source Code Form is subject to the terms of the Mozilla Public 2 * License, v. 2.0. If a copy of the MPL was not distributed with this 3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 4 5 // eslint-disable-next-line import/no-unresolved 6 import { html } from "lit.all.mjs"; 7 // eslint-disable-next-line import/no-unassigned-import 8 import "chrome://global/content/elements/moz-card.mjs"; 9 // eslint-disable-next-line import/no-unassigned-import 10 import "./restore-from-backup.mjs"; 11 // eslint-disable-next-line import/no-unassigned-import 12 import { ERRORS } from "chrome://browser/content/backup/backup-constants.mjs"; 13 14 window.MozXULElement.insertFTLIfNeeded("browser/backupSettings.ftl"); 15 window.MozXULElement.insertFTLIfNeeded("branding/brand.ftl"); 16 17 export default { 18 title: "Domain-specific UI Widgets/Backup/Restore from Backup", 19 component: "restore-from-backup", 20 argTypes: { 21 aboutWelcomeEmbedded: { control: "boolean" }, 22 backupServiceState: { control: "object" }, 23 }, 24 }; 25 26 const Template = ({ aboutWelcomeEmbedded, backupServiceState }) => html` 27 <moz-card style="width: fit-content;"> 28 <restore-from-backup 29 .aboutWelcomeEmbedded=${aboutWelcomeEmbedded} 30 .backupServiceState=${backupServiceState} 31 ></restore-from-backup> 32 </moz-card> 33 `; 34 35 export const BackupFound = Template.bind({}); 36 BackupFound.args = { 37 aboutWelcomeEmbedded: false, 38 backupServiceState: { 39 backupDirPath: "/Some/User/Documents", 40 backupFileToRestore: "/Some/User/Documents/Firefox Backup/backup.html", 41 backupFileInfo: { date: new Date(), isEncrypted: null }, 42 recoveryErrorCode: 0, 43 recoveryInProgress: false, 44 }, 45 }; 46 47 export const EncryptedBackupFound = Template.bind({}); 48 EncryptedBackupFound.args = { 49 aboutWelcomeEmbedded: false, 50 backupServiceState: { 51 backupDirPath: "/Some/User/Documents", 52 backupFileToRestore: "/Some/User/Documents/Firefox Backup/backup.html", 53 backupFileInfo: { date: new Date(), isEncrypted: true }, 54 recoveryErrorCode: 0, 55 recoveryInProgress: false, 56 }, 57 }; 58 59 export const IncorrectPasswordError = Template.bind({}); 60 IncorrectPasswordError.args = { 61 aboutWelcomeEmbedded: false, 62 backupServiceState: { 63 backupFileToRestore: "/Some/User/Documents/Firefox Backup/backup.html", 64 backupFileInfo: { date: new Date(), isEncrypted: true }, 65 recoveryErrorCode: ERRORS.UNAUTHORIZED, 66 recoveryInProgress: false, 67 }, 68 }; 69 70 export const RecoveryInProgress = Template.bind({}); 71 RecoveryInProgress.args = { 72 aboutWelcomeEmbedded: false, 73 backupServiceState: { 74 backupDirPath: "/Some/User/Documents", 75 backupFileToRestore: "/Some/User/Documents/Firefox Backup/backup.html", 76 backupFileInfo: { date: new Date() }, 77 recoveryErrorCode: 0, 78 recoveryInProgress: true, 79 }, 80 }; 81 82 export const EmbeddedInAboutWelcome = Template.bind({}); 83 EmbeddedInAboutWelcome.args = { 84 aboutWelcomeEmbedded: true, 85 backupServiceState: { 86 backupDirPath: "/Some/User/Documents", 87 backupFileToRestore: "/Some/User/Documents/Firefox Backup/backup.html", 88 backupFileInfo: { date: new Date(), isEncrypted: true }, 89 recoveryErrorCode: 0, 90 recoveryInProgress: false, 91 }, 92 }; 93 94 export const EmbeddedInAboutWelcomeWithNoBackup = Template.bind({}); 95 EmbeddedInAboutWelcomeWithNoBackup.args = { 96 aboutWelcomeEmbedded: true, 97 backupServiceState: { 98 backupDirPath: "/Some/User/Documents", 99 backupFileToRestore: null, 100 backupFileInfo: null, 101 recoveryErrorCode: 0, 102 recoveryInProgress: false, 103 }, 104 }; 105 106 export const NoBackupFound = Template.bind({}); 107 NoBackupFound.args = { 108 aboutWelcomeEmbedded: false, 109 backupServiceState: { 110 backupDirPath: "/Some/User/Documents", 111 backupFileToRestore: null, 112 backupFileInfo: null, 113 recoveryErrorCode: 0, 114 recoveryInProgress: false, 115 }, 116 };