├── .circleci └── config.yml ├── .github └── ISSUE_TEMPLATE │ ├── bug_report.md │ └── feature_request.md ├── .gitignore ├── CHANGELOG.md ├── LICENSE ├── README.md ├── db_interface ├── linux_setup.sh ├── macos_setup.sh └── src │ ├── axolotl │ ├── Account.cpp │ ├── Account.h │ ├── IdentityKey.cpp │ ├── IdentityKey.h │ ├── PreKey.cpp │ ├── PreKey.h │ ├── SessionRecord.cpp │ ├── SessionRecord.h │ ├── SignedPreKey.cpp │ └── SignedPreKey.h │ ├── dbUtils.cpp │ ├── dbUtils.h │ └── main.cpp ├── electron_app ├── Gruntfile.js ├── build │ ├── appx │ │ ├── Square150x150Logo.png │ │ ├── Square44x44Logo.png │ │ ├── StoreLogo.png │ │ └── Wide310x150Logo.png │ ├── background.png │ ├── background@2x.png │ ├── entitlements.mac.plist │ ├── icon.icns │ ├── icon.ico │ ├── icon.png │ └── volume.icns ├── electron-starter.js ├── installerResources │ ├── clearBuild.sh │ ├── converge_builds.sh │ ├── debian.json │ ├── installerTypes.json │ ├── make_installer.sh │ ├── removeOldAppData-linux.sh │ └── windows.json ├── notarize.js ├── package.json ├── resources │ ├── desktop.ejs │ ├── icons │ │ ├── ico │ │ │ ├── 1024x1024.ico │ │ │ ├── 128x128.ico │ │ │ ├── 16x16.ico │ │ │ ├── 256x256.ico │ │ │ ├── 32x32.ico │ │ │ ├── 512x512.ico │ │ │ └── 64x64.ico │ │ └── png │ │ │ ├── 1024x1024.png │ │ │ ├── 128x128.png │ │ │ ├── 16x16.png │ │ │ ├── 24x24.png │ │ │ ├── 256x256.png │ │ │ ├── 32x32.png │ │ │ ├── 48x48.png │ │ │ ├── 512x512.png │ │ │ ├── 64x64.png │ │ │ └── 96x96.png │ ├── launch-icons │ │ ├── icon.icns │ │ ├── icon.ico │ │ └── icon.png │ ├── notificationIcon.png │ └── notificationIcon2.png ├── src │ ├── Account.js │ ├── BackupManager.js │ ├── Settings.js │ ├── __integrations__ │ │ ├── Account.integration.js │ │ ├── Contact.integration.js │ │ ├── DbExporter.integration.js │ │ ├── Email.integration.js │ │ ├── Feeditem.integration.js │ │ ├── File.integration.js │ │ ├── Label.integration.js │ │ ├── __snapshots__ │ │ │ ├── Account.integration.js.snap │ │ │ ├── Contact.integration.js.snap │ │ │ ├── Email.integration.js.snap │ │ │ ├── Feeditem.integration.js.snap │ │ │ ├── File.integration.js.snap │ │ │ └── Label.integration.js.snap │ │ └── parsed_sample_file.txt │ ├── __mocks__ │ │ └── Account.js │ ├── aliceManager.js │ ├── backup │ │ ├── Compress.js │ │ ├── FileUtils.js │ │ ├── databaseExport.js │ │ ├── exporter.js │ │ └── index.js │ ├── clientManager.js │ ├── dataTransferClient.js │ ├── database │ │ ├── DBEexporter.js │ │ ├── DBEmanager.js │ │ ├── DBEmigrations │ │ │ ├── 20200123161254-multipleAccounts.js │ │ │ ├── 20200422145912-customerType.js │ │ │ ├── 20200512111423_addBlockAllColumn.js │ │ │ ├── 20200701180920_addDefaultAddressId.js │ │ │ └── 20201005121441-addIsNewsletter.js │ │ ├── DBEmodel.js │ │ ├── DBManager.js │ │ ├── dbExporter.js │ │ ├── index.js │ │ └── models.js │ ├── errors.js │ ├── eventQueueManager.js │ ├── filescript │ │ ├── checker.js │ │ ├── decrypter.js │ │ ├── handler.js │ │ └── helpers.js │ ├── globalManager.js │ ├── ipc │ │ ├── backup.js │ │ ├── client.js │ │ ├── composer.js │ │ ├── dataTransfer.js │ │ ├── database.js │ │ ├── loading.js │ │ ├── logger.js │ │ ├── login.js │ │ ├── mailbox.js │ │ ├── manager.js │ │ ├── nucleus.js │ │ ├── pin.js │ │ └── utils.js │ ├── knexfile.js │ ├── lang │ │ ├── de.json │ │ ├── en.json │ │ ├── es.json │ │ ├── fr.json │ │ ├── index.js │ │ └── ru.json │ ├── logger.js │ ├── migrations │ │ ├── 20180828163335_recoveryEmail.js │ │ ├── 20180907105559_thrashDate.js │ │ ├── 20180913151739_onDeleteCascade.js │ │ ├── 20181004153404_fixSystemLabels.js │ │ ├── 20181011113748_clearMissingRelations.js │ │ ├── 20181023190250_pendingEvent.js │ │ ├── 20181106155018_messageId.js │ │ ├── 20181120150214_fixContactsAndCreateSettings.js │ │ ├── 20181212111030_refreshToken.js │ │ ├── 20190111104210_dropFileKey.js │ │ ├── 20190115152208_uuidLabelAndTrustedContacts.js │ │ ├── 20190116122748_fromAndReplyTo.js │ │ ├── 20190122173904_addColumnBoundaries.js │ │ ├── 20190127184736_inlineImages.js │ │ ├── 20190206105940_addColumnScore.js │ │ ├── 20190529120002_addEncryptToExternals.js │ │ ├── 20190716160808_spamfilter.js │ │ ├── 20190730111208_autoBackup.js │ │ ├── 20190805181448_signFooter.js │ │ ├── 20190925153109_fixDraftDates.js │ │ └── 20191014110726_addColumnsRecordLength.js │ ├── newsClient.js │ ├── notificationManager.js │ ├── nucleusManager.js │ ├── reachabilityTask.js │ ├── recoveryKey.js │ ├── rekeyHandler.js │ ├── socketClient.js │ ├── systemLabels.js │ ├── updater.js │ ├── utils │ │ ├── ArrayUtils.js │ │ ├── EmailUtils.js │ │ ├── FileUtils.js │ │ ├── ObjectUtils.js │ │ ├── PrintUtils.js │ │ ├── RegexUtils.js │ │ ├── SourceUtils.js │ │ ├── TimeUtils.js │ │ ├── __tests__ │ │ │ ├── FileUtils.js │ │ │ ├── ObjectUtils.js │ │ │ ├── RegexUtils.js │ │ │ ├── __snapshots__ │ │ │ │ └── dataTableUtils.js.snap │ │ │ └── dataTableUtils.js │ │ ├── const.js │ │ ├── dataBaseUtils.js │ │ ├── dataTableUtils.js │ │ ├── osUtils.js │ │ └── stringUtils.js │ ├── validationConsts.js │ ├── window_routing.js │ └── windows │ │ ├── composer.js │ │ ├── events.js │ │ ├── index.js │ │ ├── launch.js │ │ ├── loading.js │ │ ├── login.js │ │ ├── mailbox.js │ │ ├── menu.js │ │ ├── pin.js │ │ ├── preparing.html │ │ ├── source-dark.html │ │ ├── source-light.html │ │ ├── tray.js │ │ ├── upgradePlus.js │ │ ├── windowUtils.js │ │ └── worker.html └── yarn.lock ├── email_composer ├── package.json ├── public │ ├── emails.json │ ├── index.html │ ├── lib │ │ ├── SessionRecord.js │ │ ├── helpers.js │ │ └── libsignal-protocol.js │ └── manifest.json ├── src │ ├── App.js │ ├── app.scss │ ├── components │ │ ├── Attachment.js │ │ ├── AttachmentWrapper.js │ │ ├── Autocomplete.js │ │ ├── AutocompleteWrapper.js │ │ ├── AvatarImage.js │ │ ├── Body.js │ │ ├── BodyWrapper.js │ │ ├── Composer.js │ │ ├── Control.js │ │ ├── DropfileField.js │ │ ├── EditorWrapper.js │ │ ├── From.js │ │ ├── FromWrapper.js │ │ ├── NonCriptextPopup.js │ │ ├── NonCriptextPopupWrapper.js │ │ ├── NotVerifiedRecoveryEmailPopup.js │ │ ├── PopupHOC.js │ │ ├── Recipient.js │ │ ├── RecipientWrapper.js │ │ ├── RecoveryEmailSentPopup.js │ │ ├── SubjectWrapper.js │ │ ├── Suggestion.js │ │ ├── TagRecipient.js │ │ ├── Trumbowyg.js │ │ ├── attachment.scss │ │ ├── avatarimage.scss │ │ ├── body.scss │ │ ├── composer.scss │ │ ├── control.scss │ │ ├── dropfilefield.scss │ │ ├── editor.scss │ │ ├── from.scss │ │ ├── global.js │ │ ├── noncriptext.scss │ │ ├── popuphoc.scss │ │ ├── recipient.scss │ │ ├── subject.scss │ │ ├── suggestion.scss │ │ └── tagrecipient.scss │ ├── containers │ │ └── Composer.js │ ├── customPlugins │ │ └── commatobr.js │ ├── fonts │ │ ├── icon.eot │ │ ├── icon.svg │ │ ├── icon.ttf │ │ ├── icon.woff │ │ ├── nunito │ │ │ ├── nunito-sans-v3-latin-italic.eot │ │ │ ├── nunito-sans-v3-latin-italic.svg │ │ │ ├── nunito-sans-v3-latin-italic.ttf │ │ │ ├── nunito-sans-v3-latin-italic.woff │ │ │ ├── nunito-sans-v3-latin-italic.woff2 │ │ │ ├── nunito-sans-v3-latin-regular.eot │ │ │ ├── nunito-sans-v3-latin-regular.svg │ │ │ ├── nunito-sans-v3-latin-regular.ttf │ │ │ ├── nunito-sans-v3-latin-regular.woff │ │ │ └── nunito-sans-v3-latin-regular.woff2 │ │ ├── nunito200 │ │ │ ├── nunito-sans-v3-latin-200.eot │ │ │ ├── nunito-sans-v3-latin-200.svg │ │ │ ├── nunito-sans-v3-latin-200.ttf │ │ │ ├── nunito-sans-v3-latin-200.woff │ │ │ ├── nunito-sans-v3-latin-200.woff2 │ │ │ ├── nunito-sans-v3-latin-200italic.eot │ │ │ ├── nunito-sans-v3-latin-200italic.svg │ │ │ ├── nunito-sans-v3-latin-200italic.ttf │ │ │ ├── nunito-sans-v3-latin-200italic.woff │ │ │ └── nunito-sans-v3-latin-200italic.woff2 │ │ ├── nunito300 │ │ │ ├── nunito-sans-v3-latin-300.eot │ │ │ ├── nunito-sans-v3-latin-300.svg │ │ │ ├── nunito-sans-v3-latin-300.ttf │ │ │ ├── nunito-sans-v3-latin-300.woff │ │ │ ├── nunito-sans-v3-latin-300.woff2 │ │ │ ├── nunito-sans-v3-latin-300italic.eot │ │ │ ├── nunito-sans-v3-latin-300italic.svg │ │ │ ├── nunito-sans-v3-latin-300italic.ttf │ │ │ ├── nunito-sans-v3-latin-300italic.woff │ │ │ └── nunito-sans-v3-latin-300italic.woff2 │ │ ├── nunito600 │ │ │ ├── nunito-sans-v3-latin-600.eot │ │ │ ├── nunito-sans-v3-latin-600.svg │ │ │ ├── nunito-sans-v3-latin-600.ttf │ │ │ ├── nunito-sans-v3-latin-600.woff │ │ │ ├── nunito-sans-v3-latin-600.woff2 │ │ │ ├── nunito-sans-v3-latin-600italic.eot │ │ │ ├── nunito-sans-v3-latin-600italic.svg │ │ │ ├── nunito-sans-v3-latin-600italic.ttf │ │ │ ├── nunito-sans-v3-latin-600italic.woff │ │ │ └── nunito-sans-v3-latin-600italic.woff2 │ │ ├── nunito700 │ │ │ ├── nunito-sans-v3-latin-700.eot │ │ │ ├── nunito-sans-v3-latin-700.svg │ │ │ ├── nunito-sans-v3-latin-700.ttf │ │ │ ├── nunito-sans-v3-latin-700.woff │ │ │ ├── nunito-sans-v3-latin-700.woff2 │ │ │ ├── nunito-sans-v3-latin-700italic.eot │ │ │ ├── nunito-sans-v3-latin-700italic.svg │ │ │ ├── nunito-sans-v3-latin-700italic.ttf │ │ │ ├── nunito-sans-v3-latin-700italic.woff │ │ │ └── nunito-sans-v3-latin-700italic.woff2 │ │ ├── nunito800 │ │ │ ├── nunito-sans-v3-latin-800.eot │ │ │ ├── nunito-sans-v3-latin-800.svg │ │ │ ├── nunito-sans-v3-latin-800.ttf │ │ │ ├── nunito-sans-v3-latin-800.woff │ │ │ ├── nunito-sans-v3-latin-800.woff2 │ │ │ ├── nunito-sans-v3-latin-800italic.eot │ │ │ ├── nunito-sans-v3-latin-800italic.svg │ │ │ ├── nunito-sans-v3-latin-800italic.ttf │ │ │ ├── nunito-sans-v3-latin-800italic.woff │ │ │ └── nunito-sans-v3-latin-800italic.woff2 │ │ ├── nunito900 │ │ │ ├── nunito-sans-v3-latin-900.eot │ │ │ ├── nunito-sans-v3-latin-900.svg │ │ │ ├── nunito-sans-v3-latin-900.ttf │ │ │ ├── nunito-sans-v3-latin-900.woff │ │ │ ├── nunito-sans-v3-latin-900.woff2 │ │ │ ├── nunito-sans-v3-latin-900italic.eot │ │ │ ├── nunito-sans-v3-latin-900italic.svg │ │ │ ├── nunito-sans-v3-latin-900italic.ttf │ │ │ ├── nunito-sans-v3-latin-900italic.woff │ │ │ └── nunito-sans-v3-latin-900italic.woff2 │ │ └── roboto │ │ │ ├── Roboto-Black.ttf │ │ │ ├── Roboto-BlackItalic.ttf │ │ │ ├── Roboto-Bold.ttf │ │ │ ├── Roboto-BoldItalic.ttf │ │ │ ├── Roboto-Italic.ttf │ │ │ ├── Roboto-Light.ttf │ │ │ ├── Roboto-LightItalic.ttf │ │ │ ├── Roboto-Medium.ttf │ │ │ ├── Roboto-MediumItalic.ttf │ │ │ ├── Roboto-Regular.ttf │ │ │ ├── Roboto-Thin.ttf │ │ │ └── Roboto-ThinItalic.ttf │ ├── images │ │ ├── addlink-dark.svg │ │ ├── addlink-light.svg │ │ ├── aligncenter-dark.svg │ │ ├── aligncenter-light.svg │ │ ├── alignleft-dark.svg │ │ ├── alignleft-light.svg │ │ ├── alignright-dark.svg │ │ ├── alignright-light.svg │ │ ├── bg-color-dark.svg │ │ ├── bg-color-light.svg │ │ ├── bold-dark.svg │ │ ├── bold-light.svg │ │ ├── font-size-dark.svg │ │ ├── font-size-light.svg │ │ ├── italic-dark.svg │ │ ├── italic-light.svg │ │ ├── justify-dark.svg │ │ ├── justify-light.svg │ │ ├── link-dark.svg │ │ ├── link-light.svg │ │ ├── order-dark.svg │ │ ├── order-light.svg │ │ ├── text-color-dark.svg │ │ ├── text-color-light.svg │ │ ├── underline-dark.svg │ │ ├── underline-light.svg │ │ ├── unformat-dark.svg │ │ ├── unformat-light.svg │ │ ├── unlink-dark.svg │ │ ├── unlink-light.svg │ │ ├── unorder-dark.svg │ │ ├── unorder-light.svg │ │ └── upload.svg │ ├── index.js │ ├── lang │ │ ├── de.json │ │ ├── en.json │ │ ├── es.json │ │ ├── fr.json │ │ ├── index.js │ │ └── ru.json │ ├── libs │ │ ├── signal.js │ │ └── store.js │ ├── styles │ │ └── index.scss │ ├── utils │ │ ├── AESUtils.js │ │ ├── ApiUtils.js │ │ ├── ArrayUtils.js │ │ ├── CustomError.js │ │ ├── DateUtils.js │ │ ├── EmailUtils.js │ │ ├── EncryptionUtils.js │ │ ├── FileUtils.js │ │ ├── ObjectUtils.js │ │ ├── RegexUtils.js │ │ ├── StringUtils.js │ │ ├── TimeUtils.js │ │ ├── __mocks__ │ │ │ ├── const.js │ │ │ ├── criptext-files-sdk.js │ │ │ ├── electronInterface.js │ │ │ └── ipc.js │ │ ├── __tests__ │ │ │ ├── AESUtils.js │ │ │ ├── ArrayUtils.js │ │ │ ├── EmailUtils.js │ │ │ ├── EncryptionUtils.js │ │ │ ├── FileUtils.js │ │ │ ├── RegexUtils.js │ │ │ ├── StringUtils.js │ │ │ └── __snapshots__ │ │ │ │ ├── EmailUtils.js.snap │ │ │ │ ├── RegexUtils.js.snap │ │ │ │ └── StringUtils.js.snap │ │ ├── const.js │ │ ├── electronEventInterface.js │ │ ├── electronInterface.js │ │ ├── ipc.js │ │ ├── plus.js │ │ └── systemLabels.js │ └── validators │ │ └── validators.js └── yarn.lock ├── email_loading ├── package.json ├── public │ ├── index.html │ ├── lib │ │ ├── SessionRecord.js │ │ ├── helpers.js │ │ └── libsignal-protocol.js │ └── manifest.json ├── src │ ├── App.js │ ├── app.scss │ ├── components │ │ ├── IncompatibleSyncVersions.js │ │ ├── LinkDeviceRequest.js │ │ ├── LinkNewDevice.js │ │ ├── LinkNewDeviceWrapper.js │ │ ├── LinkOldDevice.js │ │ ├── LinkOldDeviceWrapper.js │ │ ├── Loading.js │ │ ├── LoadingWrapper.js │ │ ├── Panel.js │ │ ├── SyncMailbox.js │ │ ├── SyncMailboxWrapper.js │ │ ├── linkdevicerequest.scss │ │ ├── linkingdevices.scss │ │ └── loading.scss │ ├── fonts │ │ ├── icon.eot │ │ ├── icon.svg │ │ ├── icon.ttf │ │ ├── icon.woff │ │ ├── nunito │ │ │ ├── nunito-sans-v3-latin-italic.eot │ │ │ ├── nunito-sans-v3-latin-italic.svg │ │ │ ├── nunito-sans-v3-latin-italic.ttf │ │ │ ├── nunito-sans-v3-latin-italic.woff │ │ │ ├── nunito-sans-v3-latin-italic.woff2 │ │ │ ├── nunito-sans-v3-latin-regular.eot │ │ │ ├── nunito-sans-v3-latin-regular.svg │ │ │ ├── nunito-sans-v3-latin-regular.ttf │ │ │ ├── nunito-sans-v3-latin-regular.woff │ │ │ └── nunito-sans-v3-latin-regular.woff2 │ │ ├── nunito200 │ │ │ ├── nunito-sans-v3-latin-200.eot │ │ │ ├── nunito-sans-v3-latin-200.svg │ │ │ ├── nunito-sans-v3-latin-200.ttf │ │ │ ├── nunito-sans-v3-latin-200.woff │ │ │ ├── nunito-sans-v3-latin-200.woff2 │ │ │ ├── nunito-sans-v3-latin-200italic.eot │ │ │ ├── nunito-sans-v3-latin-200italic.svg │ │ │ ├── nunito-sans-v3-latin-200italic.ttf │ │ │ ├── nunito-sans-v3-latin-200italic.woff │ │ │ └── nunito-sans-v3-latin-200italic.woff2 │ │ ├── nunito300 │ │ │ ├── nunito-sans-v3-latin-300.eot │ │ │ ├── nunito-sans-v3-latin-300.svg │ │ │ ├── nunito-sans-v3-latin-300.ttf │ │ │ ├── nunito-sans-v3-latin-300.woff │ │ │ ├── nunito-sans-v3-latin-300.woff2 │ │ │ ├── nunito-sans-v3-latin-300italic.eot │ │ │ ├── nunito-sans-v3-latin-300italic.svg │ │ │ ├── nunito-sans-v3-latin-300italic.ttf │ │ │ ├── nunito-sans-v3-latin-300italic.woff │ │ │ └── nunito-sans-v3-latin-300italic.woff2 │ │ ├── nunito600 │ │ │ ├── nunito-sans-v3-latin-600.eot │ │ │ ├── nunito-sans-v3-latin-600.svg │ │ │ ├── nunito-sans-v3-latin-600.ttf │ │ │ ├── nunito-sans-v3-latin-600.woff │ │ │ ├── nunito-sans-v3-latin-600.woff2 │ │ │ ├── nunito-sans-v3-latin-600italic.eot │ │ │ ├── nunito-sans-v3-latin-600italic.svg │ │ │ ├── nunito-sans-v3-latin-600italic.ttf │ │ │ ├── nunito-sans-v3-latin-600italic.woff │ │ │ └── nunito-sans-v3-latin-600italic.woff2 │ │ ├── nunito700 │ │ │ ├── nunito-sans-v3-latin-700.eot │ │ │ ├── nunito-sans-v3-latin-700.svg │ │ │ ├── nunito-sans-v3-latin-700.ttf │ │ │ ├── nunito-sans-v3-latin-700.woff │ │ │ ├── nunito-sans-v3-latin-700.woff2 │ │ │ ├── nunito-sans-v3-latin-700italic.eot │ │ │ ├── nunito-sans-v3-latin-700italic.svg │ │ │ ├── nunito-sans-v3-latin-700italic.ttf │ │ │ ├── nunito-sans-v3-latin-700italic.woff │ │ │ └── nunito-sans-v3-latin-700italic.woff2 │ │ ├── nunito800 │ │ │ ├── nunito-sans-v3-latin-800.eot │ │ │ ├── nunito-sans-v3-latin-800.svg │ │ │ ├── nunito-sans-v3-latin-800.ttf │ │ │ ├── nunito-sans-v3-latin-800.woff │ │ │ ├── nunito-sans-v3-latin-800.woff2 │ │ │ ├── nunito-sans-v3-latin-800italic.eot │ │ │ ├── nunito-sans-v3-latin-800italic.svg │ │ │ ├── nunito-sans-v3-latin-800italic.ttf │ │ │ ├── nunito-sans-v3-latin-800italic.woff │ │ │ └── nunito-sans-v3-latin-800italic.woff2 │ │ └── nunito900 │ │ │ ├── nunito-sans-v3-latin-900.eot │ │ │ ├── nunito-sans-v3-latin-900.svg │ │ │ ├── nunito-sans-v3-latin-900.ttf │ │ │ ├── nunito-sans-v3-latin-900.woff │ │ │ ├── nunito-sans-v3-latin-900.woff2 │ │ │ ├── nunito-sans-v3-latin-900italic.eot │ │ │ ├── nunito-sans-v3-latin-900italic.svg │ │ │ ├── nunito-sans-v3-latin-900italic.ttf │ │ │ ├── nunito-sans-v3-latin-900italic.woff │ │ │ └── nunito-sans-v3-latin-900italic.woff2 │ ├── index.js │ ├── lang │ │ ├── de.json │ │ ├── en.json │ │ ├── es.json │ │ ├── fr.json │ │ ├── index.js │ │ └── ru.json │ ├── libs │ │ ├── signal.js │ │ └── store.js │ ├── styles │ │ └── index.scss │ └── utils │ │ ├── ApiUtils.js │ │ ├── BytesUtils.js │ │ ├── CustomError.js │ │ ├── StringUtils.js │ │ ├── TimeUtils.js │ │ ├── __tests__ │ │ └── StringUtils.js │ │ ├── const.js │ │ ├── electronEventInterface.js │ │ ├── electronInterface.js │ │ ├── ipc.js │ │ ├── linkDeviceUtils.js │ │ └── systemLabels.js └── yarn.lock ├── email_login ├── package.json ├── public │ ├── favicon.ico │ ├── index.html │ └── manifest.json ├── src │ ├── ElectronApp.js │ ├── SignUpClient.js │ ├── WebApp.js │ ├── app.scss │ ├── components │ │ ├── Button.js │ │ ├── ChangePassword.js │ │ ├── ChangePasswordWrapper.js │ │ ├── CustomCheckbox.js │ │ ├── DeleteDeviceItem.js │ │ ├── DeleteDevicePopup.js │ │ ├── DeleteDeviceWrapperPopup.js │ │ ├── DeviceNotApproved.js │ │ ├── DialogPopup.js │ │ ├── ForgotPasswordPopup.js │ │ ├── FormItem.js │ │ ├── PanelWrapper.js │ │ ├── PopupHOC.js │ │ ├── RecoveryCodePopup.js │ │ ├── RecoveryCodeWrapperPopup.js │ │ ├── SignIn.js │ │ ├── SignInPassword.js │ │ ├── SignInPasswordWrapper.js │ │ ├── SignInToApprove.js │ │ ├── SignUp.js │ │ ├── SignUpErrorMsgs.js │ │ ├── SignUpModel.js │ │ ├── SignUpModel.test.js │ │ ├── SignUpReducers.js │ │ ├── SignUpReducers.test.js │ │ ├── SignUpStore.js │ │ ├── SignUpSymbols.js │ │ ├── SignUpWrapper.js │ │ ├── UpgradeToPlusPopup.js │ │ ├── button.scss │ │ ├── changepassword.scss │ │ ├── clockLoading.scss │ │ ├── customCheckbox.scss │ │ ├── deletedeviceitem.scss │ │ ├── deletedevicepopup.scss │ │ ├── devicenotapproved.scss │ │ ├── formitem.scss │ │ ├── panelwrapper.scss │ │ ├── popuphoc.scss │ │ ├── recoverycodepopup.scss │ │ ├── signin.scss │ │ ├── signinpassword.scss │ │ ├── signintoapprove.scss │ │ ├── signup.scss │ │ ├── titleBar.js │ │ ├── titleBar.scss │ │ └── upgradetoplus.scss │ ├── electronapp.scss │ ├── fonts │ │ ├── icon.eot │ │ ├── icon.svg │ │ ├── icon.ttf │ │ ├── icon.woff │ │ ├── nunito │ │ │ ├── nunito-sans-v3-latin-italic.eot │ │ │ ├── nunito-sans-v3-latin-italic.svg │ │ │ ├── nunito-sans-v3-latin-italic.ttf │ │ │ ├── nunito-sans-v3-latin-italic.woff │ │ │ ├── nunito-sans-v3-latin-italic.woff2 │ │ │ ├── nunito-sans-v3-latin-regular.eot │ │ │ ├── nunito-sans-v3-latin-regular.svg │ │ │ ├── nunito-sans-v3-latin-regular.ttf │ │ │ ├── nunito-sans-v3-latin-regular.woff │ │ │ └── nunito-sans-v3-latin-regular.woff2 │ │ ├── nunito200 │ │ │ ├── nunito-sans-v3-latin-200.eot │ │ │ ├── nunito-sans-v3-latin-200.svg │ │ │ ├── nunito-sans-v3-latin-200.ttf │ │ │ ├── nunito-sans-v3-latin-200.woff │ │ │ ├── nunito-sans-v3-latin-200.woff2 │ │ │ ├── nunito-sans-v3-latin-200italic.eot │ │ │ ├── nunito-sans-v3-latin-200italic.svg │ │ │ ├── nunito-sans-v3-latin-200italic.ttf │ │ │ ├── nunito-sans-v3-latin-200italic.woff │ │ │ └── nunito-sans-v3-latin-200italic.woff2 │ │ ├── nunito300 │ │ │ ├── nunito-sans-v3-latin-300.eot │ │ │ ├── nunito-sans-v3-latin-300.svg │ │ │ ├── nunito-sans-v3-latin-300.ttf │ │ │ ├── nunito-sans-v3-latin-300.woff │ │ │ ├── nunito-sans-v3-latin-300.woff2 │ │ │ ├── nunito-sans-v3-latin-300italic.eot │ │ │ ├── nunito-sans-v3-latin-300italic.svg │ │ │ ├── nunito-sans-v3-latin-300italic.ttf │ │ │ ├── nunito-sans-v3-latin-300italic.woff │ │ │ └── nunito-sans-v3-latin-300italic.woff2 │ │ ├── nunito600 │ │ │ ├── nunito-sans-v3-latin-600.eot │ │ │ ├── nunito-sans-v3-latin-600.svg │ │ │ ├── nunito-sans-v3-latin-600.ttf │ │ │ ├── nunito-sans-v3-latin-600.woff │ │ │ ├── nunito-sans-v3-latin-600.woff2 │ │ │ ├── nunito-sans-v3-latin-600italic.eot │ │ │ ├── nunito-sans-v3-latin-600italic.svg │ │ │ ├── nunito-sans-v3-latin-600italic.ttf │ │ │ ├── nunito-sans-v3-latin-600italic.woff │ │ │ └── nunito-sans-v3-latin-600italic.woff2 │ │ ├── nunito700 │ │ │ ├── nunito-sans-v3-latin-700.eot │ │ │ ├── nunito-sans-v3-latin-700.svg │ │ │ ├── nunito-sans-v3-latin-700.ttf │ │ │ ├── nunito-sans-v3-latin-700.woff │ │ │ ├── nunito-sans-v3-latin-700.woff2 │ │ │ ├── nunito-sans-v3-latin-700italic.eot │ │ │ ├── nunito-sans-v3-latin-700italic.svg │ │ │ ├── nunito-sans-v3-latin-700italic.ttf │ │ │ ├── nunito-sans-v3-latin-700italic.woff │ │ │ └── nunito-sans-v3-latin-700italic.woff2 │ │ ├── nunito800 │ │ │ ├── nunito-sans-v3-latin-800.eot │ │ │ ├── nunito-sans-v3-latin-800.svg │ │ │ ├── nunito-sans-v3-latin-800.ttf │ │ │ ├── nunito-sans-v3-latin-800.woff │ │ │ ├── nunito-sans-v3-latin-800.woff2 │ │ │ ├── nunito-sans-v3-latin-800italic.eot │ │ │ ├── nunito-sans-v3-latin-800italic.svg │ │ │ ├── nunito-sans-v3-latin-800italic.ttf │ │ │ ├── nunito-sans-v3-latin-800italic.woff │ │ │ └── nunito-sans-v3-latin-800italic.woff2 │ │ └── nunito900 │ │ │ ├── nunito-sans-v3-latin-900.eot │ │ │ ├── nunito-sans-v3-latin-900.svg │ │ │ ├── nunito-sans-v3-latin-900.ttf │ │ │ ├── nunito-sans-v3-latin-900.woff │ │ │ ├── nunito-sans-v3-latin-900.woff2 │ │ │ ├── nunito-sans-v3-latin-900italic.eot │ │ │ ├── nunito-sans-v3-latin-900italic.svg │ │ │ ├── nunito-sans-v3-latin-900italic.ttf │ │ │ ├── nunito-sans-v3-latin-900italic.woff │ │ │ └── nunito-sans-v3-latin-900italic.woff2 │ ├── images │ │ ├── icon-criptext.svg │ │ ├── img-card-dm.svg │ │ ├── img-card.svg │ │ ├── img-logo-dm.svg │ │ ├── img-logo.svg │ │ ├── img-profile-dm.svg │ │ ├── img-profile.svg │ │ ├── img-shield.svg │ │ ├── img-shuffle.svg │ │ ├── img-subtitle-dm.svg │ │ ├── img-subtitle.svg │ │ ├── key-light.svg │ │ ├── logo-2-copy@2x.png │ │ ├── sign-up-desktop.svg │ │ └── upgrade-plus-remove.svg │ ├── index.js │ ├── lang │ │ ├── de.json │ │ ├── en.json │ │ ├── es.json │ │ ├── fr.json │ │ ├── index.js │ │ └── ru.json │ ├── new-components │ │ ├── Launch.js │ │ ├── PanelWrapper.js │ │ ├── launch.scss │ │ ├── pin │ │ │ ├── PinDisplay.js │ │ │ ├── PinDoneWrapper.js │ │ │ ├── PinSetWrapper.js │ │ │ ├── PinStart.js │ │ │ ├── PinWrapper.js │ │ │ ├── SaveKeyWrapper.js │ │ │ ├── pindisplay.scss │ │ │ ├── pindonewrapper.scss │ │ │ ├── pinsetwrapper.scss │ │ │ ├── pinstart.scss │ │ │ └── savekeywrapper.scss │ │ ├── setup │ │ │ ├── AvatarProfileWrapper.js │ │ │ ├── BackupWrapper.js │ │ │ ├── NoRecoveryPopup.js │ │ │ ├── SetupCover.js │ │ │ ├── SetupWrapper.js │ │ │ ├── ThemeWrapper.js │ │ │ ├── VerifyRecoveryEmailWrapper.js │ │ │ ├── avatarprofilewrapper.scss │ │ │ ├── backupwrapper.scss │ │ │ ├── norecoverypopup.scss │ │ │ ├── setup.scss │ │ │ ├── themewrapper.scss │ │ │ └── verifyrecoveryemailwrapper.scss │ │ ├── signup │ │ │ ├── AccountCreated.js │ │ │ ├── AccountReady.js │ │ │ ├── RecoveryEmailFormWrapper.js │ │ │ ├── SignUpCreateAccountWrapper.js │ │ │ ├── SignUpFormWrapper.js │ │ │ ├── SignUpWrapper.js │ │ │ ├── accountcreated.scss │ │ │ ├── accountready.scss │ │ │ ├── recoveryemailform.scss │ │ │ ├── signupcreateaccount.scss │ │ │ └── signupformwrapper.scss │ │ └── templates │ │ │ ├── Button.js │ │ │ ├── CustomCheckbox.js │ │ │ ├── CustomTextField.js │ │ │ ├── ErrorPopup.js │ │ │ ├── OverlayLoader.js │ │ │ ├── PopupHOC.js │ │ │ ├── button.scss │ │ │ ├── customCheckbox.scss │ │ │ ├── errorpopup.scss │ │ │ ├── overlayloader.scss │ │ │ └── popuphoc.scss │ ├── signal │ │ └── signup.js │ ├── styles │ │ └── index.scss │ ├── utils │ │ ├── AESUtils.js │ │ ├── CustomError.js │ │ ├── EncryptionServiceUtils.js │ │ ├── HashUtils.js │ │ ├── RegexUtils.js │ │ ├── StringUtils.js │ │ ├── TimeUtils.js │ │ ├── __mocks__ │ │ │ └── electronInterface.js │ │ ├── __tests__ │ │ │ └── StringUtils.js │ │ ├── const.js │ │ ├── electronEventInterface.js │ │ ├── electronInterface.js │ │ ├── ipc.js │ │ ├── plus.js │ │ └── systemLabels.js │ ├── validators │ │ ├── __tests__ │ │ │ └── validators.js │ │ ├── grecaptcha.js │ │ └── validators.js │ ├── web-index.js │ └── webapp.scss └── yarn.lock ├── email_mailbox ├── package.json ├── public │ ├── contacts.json │ ├── emails.json │ ├── feeds.json │ ├── files.json │ ├── index.html │ ├── labels.json │ ├── lib │ │ ├── SessionRecord.js │ │ ├── helpers.js │ │ └── libsignal-protocol.js │ ├── manifest.json │ └── threads.json ├── src │ ├── App.js │ ├── actions │ │ ├── accounts.js │ │ ├── activity.js │ │ ├── app.js │ │ ├── contacts.js │ │ ├── emails.js │ │ ├── feeditems.js │ │ ├── files.js │ │ ├── index.js │ │ ├── labels.js │ │ ├── suggestions.js │ │ ├── threads.js │ │ └── types.js │ ├── animations │ │ ├── arm.json │ │ ├── email.json │ │ └── lock.json │ ├── app.scss │ ├── components │ │ ├── AccountDeletedPopup.js │ │ ├── ActivityPanel.js │ │ ├── ActivityPanelShortCut.js │ │ ├── AddressManager.js │ │ ├── AddressManagerBlock.js │ │ ├── Aliases.js │ │ ├── AliasesWrapper.js │ │ ├── ApiVersionPopup.js │ │ ├── AttachItem.js │ │ ├── AvatarImage.js │ │ ├── BlockRemoteContentPopup.js │ │ ├── Button.js │ │ ├── ButtonCircle.js │ │ ├── ButtonExpand.js │ │ ├── ButtonExpandWrapper.js │ │ ├── ButtonIcon.js │ │ ├── ButtonSync.js │ │ ├── ButtonUnsend.js │ │ ├── ButtonUnsendWrapper.js │ │ ├── ChangeAccountPopup.js │ │ ├── ChangePasswordPopup.js │ │ ├── ChangeRecoveryEmailPopup.js │ │ ├── ChangeSecurityPin.js │ │ ├── ChangeSecurityPinPopup.js │ │ ├── ContactTag.js │ │ ├── CreatingBackupFilePopup.js │ │ ├── CustomCheckbox.js │ │ ├── CustomDomains.js │ │ ├── CustomDomainsWrapper.js │ │ ├── CustomTitleBar.js │ │ ├── DeleteAccountPopup.js │ │ ├── DeleteAccountPopupWrapper.js │ │ ├── DeleteAliasPopup.js │ │ ├── DeleteCustomDomainPopup.js │ │ ├── DeviceRemovedPopup.js │ │ ├── DialogPopup.js │ │ ├── EditLabelPopup.js │ │ ├── Email.js │ │ ├── EmailActions.js │ │ ├── EmailBlocked.js │ │ ├── EmailLoading.js │ │ ├── EmailMoreInfo.js │ │ ├── EmailWrapper.js │ │ ├── EmptyMailbox.js │ │ ├── EnableBackupPopup.js │ │ ├── ExportBackupPopup.js │ │ ├── ExportBackupPopupWrapper.js │ │ ├── FeedItem.js │ │ ├── FeedItemWrapper.js │ │ ├── File.js │ │ ├── FileWrapper.js │ │ ├── HeaderActionTooltip.js │ │ ├── HeaderHOC.js │ │ ├── HeaderMain.js │ │ ├── HeaderMainWrapper.js │ │ ├── HeaderThreadOptions.js │ │ ├── HeaderThreadOptionsWrapper.js │ │ ├── ItemTooltip.js │ │ ├── Label.js │ │ ├── LabelAdd.js │ │ ├── LabelAddWrapper.js │ │ ├── Loading.js │ │ ├── LoadingSync.js │ │ ├── LogoutPopup.js │ │ ├── Lottie.js │ │ ├── MainErrorBoundary.js │ │ ├── MainWrapper.js │ │ ├── ManualSyncDeviceApprovedPopup.js │ │ ├── ManualSyncDeviceAuthenticationPopup.js │ │ ├── ManualSyncDeviceRejectedPopup.js │ │ ├── ManualSyncPopup.js │ │ ├── ManualSyncProcessPopup.js │ │ ├── MenuHOC.js │ │ ├── Message.js │ │ ├── MessageWrapper.js │ │ ├── MxLoadingWrapper.js │ │ ├── Panel.js │ │ ├── PanelWrapper.js │ │ ├── PasswordChangedPopup.js │ │ ├── PasswordChangedPopupWrapper.js │ │ ├── PinSetupComplete.js │ │ ├── PopupHOC.js │ │ ├── ProfilePreview.js │ │ ├── ProfileShortCut.js │ │ ├── ProfileShortCutWrapper.js │ │ ├── RemoveDevicePopup.js │ │ ├── RemoveDevicePopupWrapper.js │ │ ├── RemoveLabelPopup.js │ │ ├── RestoreBackupFromFilePopup.js │ │ ├── RestoreBackupInvalidFilePopup.js │ │ ├── RestoreBackupPopupWrapper.js │ │ ├── RestoreBackupProgressPopup.js │ │ ├── RestoreBackupProgressPopupWrapper.js │ │ ├── RestoreBackupRequestPopup.js │ │ ├── SaveRecoveryKey.js │ │ ├── SearchBox.js │ │ ├── SearchHints.js │ │ ├── SearchOptions.js │ │ ├── SelectBackupFolderPopup.js │ │ ├── SetReplyToEmailPopup.js │ │ ├── SettingAccount.js │ │ ├── SettingAccountWrapper.js │ │ ├── SettingAliasBlock.js │ │ ├── SettingBlockDeleteAccount.js │ │ ├── SettingBlockManualSync.js │ │ ├── SettingBlockProfile.js │ │ ├── SettingBlockProfileWrapper.js │ │ ├── SettingBlockReplyTo.js │ │ ├── SettingCustomDomainsBlock.js │ │ ├── SettingDevices.js │ │ ├── SettingDevicesWrapper.js │ │ ├── SettingGeneral.js │ │ ├── SettingLabels.js │ │ ├── SettingLabelsWrapper.js │ │ ├── SettingUpgradePlusWrapper.js │ │ ├── Settings.js │ │ ├── SettingsAccountBackup.js │ │ ├── SettingsAccountBackupWrapper.js │ │ ├── SettingsAccountEncryptToExternals.js │ │ ├── SettingsAccountRestoreBackup.js │ │ ├── SettingsContainer.js │ │ ├── SettingsGeneralLanguage.js │ │ ├── SettingsGeneralLanguageWrapper.js │ │ ├── SettingsGeneralShowEmailPreview.js │ │ ├── SettingsGeneralShowEmailPreviewWrapper.js │ │ ├── SettingsGeneralTheme.js │ │ ├── SettingsGeneralThemeWrapper.js │ │ ├── SettingsHOC.js │ │ ├── SettingsPopup.js │ │ ├── SettingsWrapper.js │ │ ├── SideBar.js │ │ ├── SideBarItem.js │ │ ├── SideBarLabelItem.js │ │ ├── SideBarLabelItemWrapper.js │ │ ├── SideBarWrapper.js │ │ ├── Snackbar.js │ │ ├── StandardOptions.js │ │ ├── SuspendedAccountPopup.js │ │ ├── Thread.js │ │ ├── ThreadItem.js │ │ ├── ThreadItemWrapper.js │ │ ├── Threads.js │ │ ├── ThreadsWrapper.js │ │ ├── TooltipMenu.js │ │ ├── TwoFactorAuthEnabledPopup.js │ │ ├── UpdatePopup.js │ │ ├── UpgradeToPlusPopup.js │ │ ├── UserGuide.js │ │ ├── Welcome.js │ │ ├── WelcomeWrapper.js │ │ ├── activitypanel.scss │ │ ├── activitypanelshortcut.scss │ │ ├── addressmanager.scss │ │ ├── aliases.scss │ │ ├── attachitem.scss │ │ ├── avatarimage.scss │ │ ├── buttoncircle.scss │ │ ├── buttonexpand.scss │ │ ├── buttonicon.scss │ │ ├── buttonsync.scss │ │ ├── buttonunsend.scss │ │ ├── changeaccountpopup.scss │ │ ├── changerecoveryemailpopup.scss │ │ ├── changesecuritypin.scss │ │ ├── contacttag.scss │ │ ├── creatingbackupfilepopup.scss │ │ ├── customCheckbox.scss │ │ ├── customDomains.scss │ │ ├── deleteaccountpopup.scss │ │ ├── email.scss │ │ ├── emailactions.scss │ │ ├── emailblocked.scss │ │ ├── emailloading.scss │ │ ├── emailmoreinfo.scss │ │ ├── emptymailbox.scss │ │ ├── exportbackuppopup.scss │ │ ├── feeditem.scss │ │ ├── file.scss │ │ ├── headerhoc.scss │ │ ├── headermain.scss │ │ ├── headerthreadoptions.scss │ │ ├── label.scss │ │ ├── labeladd.scss │ │ ├── loading.scss │ │ ├── loadingsync.scss │ │ ├── mainerrorboundary.scss │ │ ├── manualsyncdeviceapprovedpopup.scss │ │ ├── manualsyncdeviceauthenticationloading.scss │ │ ├── manualsyncdeviceauthenticationpopup.scss │ │ ├── manualsyncdevicerejectedpopup.scss │ │ ├── manualsyncpopup.scss │ │ ├── menuhoc.scss │ │ ├── message.scss │ │ ├── panel.scss │ │ ├── pinsetupcomplete.scss │ │ ├── popuphoc.scss │ │ ├── profilepreview.scss │ │ ├── profileshortcut.scss │ │ ├── removedevicepopup.scss │ │ ├── restorebackupfromfilepopup.scss │ │ ├── restorebackupinvalidfilepopup.scss │ │ ├── restorebackupprogresspopup.scss │ │ ├── restorebackuprequestpopup.scss │ │ ├── saverecoverykey.scss │ │ ├── searchbox.scss │ │ ├── searchhints.scss │ │ ├── searchoptions.scss │ │ ├── setreplytoemailpopup.scss │ │ ├── settingaccount.scss │ │ ├── settingaliasblock.scss │ │ ├── settingblockdeleteaccount.scss │ │ ├── settingblockmanualsync.scss │ │ ├── settingblockprofile.scss │ │ ├── settingblockreplyto.scss │ │ ├── settingcustomdomainsblock.scss │ │ ├── settingdevices.scss │ │ ├── settinglabel.scss │ │ ├── settings.scss │ │ ├── settingsaccountbackup.scss │ │ ├── settingsgenerallanguage.scss │ │ ├── settingsgeneraltheme.scss │ │ ├── settingupgradepluss.scss │ │ ├── sidebar.scss │ │ ├── sidebaritem.scss │ │ ├── sidebarlabelitem.scss │ │ ├── signatureeditor.scss │ │ ├── snackbar.scss │ │ ├── standardoptions.scss │ │ ├── thread.scss │ │ ├── threaditem.scss │ │ ├── threads.scss │ │ ├── tooltipmenu.scss │ │ ├── twofactorauthenabledpopup.scss │ │ ├── updatepopup.scss │ │ ├── upgradetopluspopup.scss │ │ └── welcome.scss │ ├── containers │ │ ├── ActivityPanel.js │ │ ├── ActivityPanelShortCut.js │ │ ├── Email.js │ │ ├── FeedItem.js │ │ ├── HeaderMain.js │ │ ├── HeaderThreadOptions.js │ │ ├── LabelAdd.js │ │ ├── Message.js │ │ ├── Panel.js │ │ ├── ProfileShortCut.js │ │ ├── SettingBlockProfile.js │ │ ├── Settings.js │ │ ├── SettingsContainer.js │ │ ├── SideBar.js │ │ ├── SideBarLabelItem.js │ │ ├── Thread.js │ │ ├── ThreadItem.js │ │ └── Threads.js │ ├── data │ │ ├── message.js │ │ └── welcome.js │ ├── fonts │ │ ├── icon.eot │ │ ├── icon.svg │ │ ├── icon.ttf │ │ ├── icon.woff │ │ ├── nunito │ │ │ ├── nunito-sans-v3-latin-italic.eot │ │ │ ├── nunito-sans-v3-latin-italic.svg │ │ │ ├── nunito-sans-v3-latin-italic.ttf │ │ │ ├── nunito-sans-v3-latin-italic.woff │ │ │ ├── nunito-sans-v3-latin-italic.woff2 │ │ │ ├── nunito-sans-v3-latin-regular.eot │ │ │ ├── nunito-sans-v3-latin-regular.svg │ │ │ ├── nunito-sans-v3-latin-regular.ttf │ │ │ ├── nunito-sans-v3-latin-regular.woff │ │ │ └── nunito-sans-v3-latin-regular.woff2 │ │ ├── nunito200 │ │ │ ├── nunito-sans-v3-latin-200.eot │ │ │ ├── nunito-sans-v3-latin-200.svg │ │ │ ├── nunito-sans-v3-latin-200.ttf │ │ │ ├── nunito-sans-v3-latin-200.woff │ │ │ ├── nunito-sans-v3-latin-200.woff2 │ │ │ ├── nunito-sans-v3-latin-200italic.eot │ │ │ ├── nunito-sans-v3-latin-200italic.svg │ │ │ ├── nunito-sans-v3-latin-200italic.ttf │ │ │ ├── nunito-sans-v3-latin-200italic.woff │ │ │ └── nunito-sans-v3-latin-200italic.woff2 │ │ ├── nunito300 │ │ │ ├── nunito-sans-v3-latin-300.eot │ │ │ ├── nunito-sans-v3-latin-300.svg │ │ │ ├── nunito-sans-v3-latin-300.ttf │ │ │ ├── nunito-sans-v3-latin-300.woff │ │ │ ├── nunito-sans-v3-latin-300.woff2 │ │ │ ├── nunito-sans-v3-latin-300italic.eot │ │ │ ├── nunito-sans-v3-latin-300italic.svg │ │ │ ├── nunito-sans-v3-latin-300italic.ttf │ │ │ ├── nunito-sans-v3-latin-300italic.woff │ │ │ └── nunito-sans-v3-latin-300italic.woff2 │ │ ├── nunito600 │ │ │ ├── nunito-sans-v3-latin-600.eot │ │ │ ├── nunito-sans-v3-latin-600.svg │ │ │ ├── nunito-sans-v3-latin-600.ttf │ │ │ ├── nunito-sans-v3-latin-600.woff │ │ │ ├── nunito-sans-v3-latin-600.woff2 │ │ │ ├── nunito-sans-v3-latin-600italic.eot │ │ │ ├── nunito-sans-v3-latin-600italic.svg │ │ │ ├── nunito-sans-v3-latin-600italic.ttf │ │ │ ├── nunito-sans-v3-latin-600italic.woff │ │ │ └── nunito-sans-v3-latin-600italic.woff2 │ │ ├── nunito700 │ │ │ ├── nunito-sans-v3-latin-700.eot │ │ │ ├── nunito-sans-v3-latin-700.svg │ │ │ ├── nunito-sans-v3-latin-700.ttf │ │ │ ├── nunito-sans-v3-latin-700.woff │ │ │ ├── nunito-sans-v3-latin-700.woff2 │ │ │ ├── nunito-sans-v3-latin-700italic.eot │ │ │ ├── nunito-sans-v3-latin-700italic.svg │ │ │ ├── nunito-sans-v3-latin-700italic.ttf │ │ │ ├── nunito-sans-v3-latin-700italic.woff │ │ │ └── nunito-sans-v3-latin-700italic.woff2 │ │ ├── nunito800 │ │ │ ├── nunito-sans-v3-latin-800.eot │ │ │ ├── nunito-sans-v3-latin-800.svg │ │ │ ├── nunito-sans-v3-latin-800.ttf │ │ │ ├── nunito-sans-v3-latin-800.woff │ │ │ ├── nunito-sans-v3-latin-800.woff2 │ │ │ ├── nunito-sans-v3-latin-800italic.eot │ │ │ ├── nunito-sans-v3-latin-800italic.svg │ │ │ ├── nunito-sans-v3-latin-800italic.ttf │ │ │ ├── nunito-sans-v3-latin-800italic.woff │ │ │ └── nunito-sans-v3-latin-800italic.woff2 │ │ ├── nunito900 │ │ │ ├── nunito-sans-v3-latin-900.eot │ │ │ ├── nunito-sans-v3-latin-900.svg │ │ │ ├── nunito-sans-v3-latin-900.ttf │ │ │ ├── nunito-sans-v3-latin-900.woff │ │ │ ├── nunito-sans-v3-latin-900.woff2 │ │ │ ├── nunito-sans-v3-latin-900italic.eot │ │ │ ├── nunito-sans-v3-latin-900italic.svg │ │ │ ├── nunito-sans-v3-latin-900italic.ttf │ │ │ ├── nunito-sans-v3-latin-900italic.woff │ │ │ └── nunito-sans-v3-latin-900italic.woff2 │ │ └── roboto │ │ │ ├── Roboto-Black.ttf │ │ │ ├── Roboto-BlackItalic.ttf │ │ │ ├── Roboto-Bold.ttf │ │ │ ├── Roboto-BoldItalic.ttf │ │ │ ├── Roboto-Italic.ttf │ │ │ ├── Roboto-Light.ttf │ │ │ ├── Roboto-LightItalic.ttf │ │ │ ├── Roboto-Medium.ttf │ │ │ ├── Roboto-MediumItalic.ttf │ │ │ ├── Roboto-Regular.ttf │ │ │ ├── Roboto-Thin.ttf │ │ │ └── Roboto-ThinItalic.ttf │ ├── images │ │ ├── backup-popup.svg │ │ ├── crash-app-dark.svg │ │ ├── crash-app-light.svg │ │ ├── crown.svg │ │ ├── default-empty-mailbox.svg │ │ ├── empty-allmail-dark.svg │ │ ├── empty-allmail-light.svg │ │ ├── empty-draft-dark.svg │ │ ├── empty-draft-light.svg │ │ ├── empty-inbox-dark.svg │ │ ├── empty-inbox-light.svg │ │ ├── empty-search-dark.svg │ │ ├── empty-search-light.svg │ │ ├── empty-sent-dark.svg │ │ ├── empty-sent-light.svg │ │ ├── empty-spam-dark.svg │ │ ├── empty-spam-light.svg │ │ ├── empty-starred-dark.svg │ │ ├── empty-starred-light.svg │ │ ├── empty-trash-dark.svg │ │ ├── empty-trash-light.svg │ │ ├── file-unavailable-dark.svg │ │ ├── file-unavailable-light.svg │ │ ├── file-unsent.png │ │ ├── header-icon-beta.svg │ │ ├── header-icon-mini.svg │ │ ├── header-icon.svg │ │ ├── icon-notification.svg │ │ ├── image_blocked.svg │ │ ├── img-aliases.svg │ │ ├── img-domain.svg │ │ ├── key-dark.svg │ │ ├── key-light.svg │ │ ├── loading-search-dark.svg │ │ ├── loading-search-light.svg │ │ └── resend-warning.svg │ ├── index.js │ ├── lang │ │ ├── de.json │ │ ├── en.json │ │ ├── es.json │ │ ├── fr.json │ │ ├── index.js │ │ └── ru.json │ ├── libs │ │ ├── signal.js │ │ └── store.js │ ├── reducers │ │ ├── __tests__ │ │ │ ├── __snapshots__ │ │ │ │ ├── contacts.js.snap │ │ │ │ ├── emails.js.snap │ │ │ │ ├── feeditems.js.snap │ │ │ │ ├── files.js.snap │ │ │ │ ├── labels.js.snap │ │ │ │ └── threads.js.snap │ │ │ ├── contacts.js │ │ │ ├── emails.js │ │ │ ├── feeditems.js │ │ │ ├── files.js │ │ │ ├── labels.js │ │ │ └── threads.js │ │ ├── accounts.js │ │ ├── activity.js │ │ ├── contacts.js │ │ ├── crossReducer.js │ │ ├── emails.js │ │ ├── feeditems.js │ │ ├── files.js │ │ ├── index.js │ │ ├── labels.js │ │ ├── suggestions.js │ │ └── threads.js │ ├── selectors │ │ ├── accounts.js │ │ ├── contacts.js │ │ ├── emails.js │ │ ├── files.js │ │ ├── labels.js │ │ └── threads.js │ ├── styles │ │ └── index.scss │ ├── utils │ │ ├── AESUtils.js │ │ ├── AccountUtils.js │ │ ├── ApiUtils.js │ │ ├── BytesUtils.js │ │ ├── ContactUtils.js │ │ ├── EmailUtils.js │ │ ├── EncodingUtils.js │ │ ├── FeedItemUtils.js │ │ ├── FetchUtils.js │ │ ├── FileManager.js │ │ ├── FileUtils.js │ │ ├── LabelUtils.js │ │ ├── OSUtils.js │ │ ├── ReactUtils.js │ │ ├── RegexUtils.js │ │ ├── StringUtils.js │ │ ├── ThreadUtils.js │ │ ├── TimeUtils.js │ │ ├── __mocks__ │ │ │ ├── electronEventInterface.js │ │ │ ├── electronInterface.js │ │ │ └── ipc.js │ │ ├── __tests__ │ │ │ ├── AccountUtils.js │ │ │ ├── EmailUtils.js │ │ │ ├── __snapshots__ │ │ │ │ └── EmailUtils.js.snap │ │ │ └── stringUtils.js │ │ ├── const.js │ │ ├── electronEventInterface.js │ │ ├── electronInterface.js │ │ ├── hashUtils.js │ │ ├── ipc.js │ │ ├── linkDeviceUtils.js │ │ ├── plus.js │ │ ├── storage.js │ │ └── systemLabels.js │ └── validators │ │ ├── __tests__ │ │ └── validators.js │ │ └── validators.js └── yarn.lock ├── email_pin ├── package.json ├── public │ ├── index.html │ └── manifest.json ├── src │ ├── App.js │ ├── app.scss │ ├── components │ │ ├── Button.js │ │ ├── Complete.js │ │ ├── CustomCheckbox.js │ │ ├── CustomTitleBar.js │ │ ├── Encrypt.js │ │ ├── EncryptWrapper.js │ │ ├── EnterPin.js │ │ ├── EnterRecoveryKey.js │ │ ├── Panel.js │ │ ├── PanelWrapper.js │ │ ├── PinGenerated.js │ │ ├── PinNew.js │ │ ├── PinSaved.js │ │ ├── ScreenEnterPin.js │ │ ├── ScreenExportDatabase.js │ │ ├── ScreenResetKey.js │ │ ├── ScreenSignin.js │ │ ├── ScreenSignup.js │ │ ├── Start.js │ │ ├── VCExportDatabaseWrapper.js │ │ ├── VCHOC.js │ │ ├── VCNewPinWrapper.js │ │ ├── VCResetKeyWrapper.js │ │ ├── VCSigninWrapper.js │ │ ├── VCSignupWrapper.js │ │ ├── button.scss │ │ ├── complete.scss │ │ ├── customcheckbox.scss │ │ ├── encrypt.scss │ │ ├── enterpin.scss │ │ ├── enterrecoverykey.scss │ │ ├── pingenerated.scss │ │ ├── pinnew.scss │ │ ├── pinsaved.scss │ │ └── start.scss │ ├── fonts │ │ ├── icon.eot │ │ ├── icon.svg │ │ ├── icon.ttf │ │ ├── icon.woff │ │ ├── nunito │ │ │ ├── nunito-sans-v3-latin-italic.eot │ │ │ ├── nunito-sans-v3-latin-italic.svg │ │ │ ├── nunito-sans-v3-latin-italic.ttf │ │ │ ├── nunito-sans-v3-latin-italic.woff │ │ │ ├── nunito-sans-v3-latin-italic.woff2 │ │ │ ├── nunito-sans-v3-latin-regular.eot │ │ │ ├── nunito-sans-v3-latin-regular.svg │ │ │ ├── nunito-sans-v3-latin-regular.ttf │ │ │ ├── nunito-sans-v3-latin-regular.woff │ │ │ └── nunito-sans-v3-latin-regular.woff2 │ │ ├── nunito200 │ │ │ ├── nunito-sans-v3-latin-200.eot │ │ │ ├── nunito-sans-v3-latin-200.svg │ │ │ ├── nunito-sans-v3-latin-200.ttf │ │ │ ├── nunito-sans-v3-latin-200.woff │ │ │ ├── nunito-sans-v3-latin-200.woff2 │ │ │ ├── nunito-sans-v3-latin-200italic.eot │ │ │ ├── nunito-sans-v3-latin-200italic.svg │ │ │ ├── nunito-sans-v3-latin-200italic.ttf │ │ │ ├── nunito-sans-v3-latin-200italic.woff │ │ │ └── nunito-sans-v3-latin-200italic.woff2 │ │ ├── nunito300 │ │ │ ├── nunito-sans-v3-latin-300.eot │ │ │ ├── nunito-sans-v3-latin-300.svg │ │ │ ├── nunito-sans-v3-latin-300.ttf │ │ │ ├── nunito-sans-v3-latin-300.woff │ │ │ ├── nunito-sans-v3-latin-300.woff2 │ │ │ ├── nunito-sans-v3-latin-300italic.eot │ │ │ ├── nunito-sans-v3-latin-300italic.svg │ │ │ ├── nunito-sans-v3-latin-300italic.ttf │ │ │ ├── nunito-sans-v3-latin-300italic.woff │ │ │ └── nunito-sans-v3-latin-300italic.woff2 │ │ ├── nunito600 │ │ │ ├── nunito-sans-v3-latin-600.eot │ │ │ ├── nunito-sans-v3-latin-600.svg │ │ │ ├── nunito-sans-v3-latin-600.ttf │ │ │ ├── nunito-sans-v3-latin-600.woff │ │ │ ├── nunito-sans-v3-latin-600.woff2 │ │ │ ├── nunito-sans-v3-latin-600italic.eot │ │ │ ├── nunito-sans-v3-latin-600italic.svg │ │ │ ├── nunito-sans-v3-latin-600italic.ttf │ │ │ ├── nunito-sans-v3-latin-600italic.woff │ │ │ └── nunito-sans-v3-latin-600italic.woff2 │ │ ├── nunito700 │ │ │ ├── nunito-sans-v3-latin-700.eot │ │ │ ├── nunito-sans-v3-latin-700.svg │ │ │ ├── nunito-sans-v3-latin-700.ttf │ │ │ ├── nunito-sans-v3-latin-700.woff │ │ │ ├── nunito-sans-v3-latin-700.woff2 │ │ │ ├── nunito-sans-v3-latin-700italic.eot │ │ │ ├── nunito-sans-v3-latin-700italic.svg │ │ │ ├── nunito-sans-v3-latin-700italic.ttf │ │ │ ├── nunito-sans-v3-latin-700italic.woff │ │ │ └── nunito-sans-v3-latin-700italic.woff2 │ │ ├── nunito800 │ │ │ ├── nunito-sans-v3-latin-800.eot │ │ │ ├── nunito-sans-v3-latin-800.svg │ │ │ ├── nunito-sans-v3-latin-800.ttf │ │ │ ├── nunito-sans-v3-latin-800.woff │ │ │ ├── nunito-sans-v3-latin-800.woff2 │ │ │ ├── nunito-sans-v3-latin-800italic.eot │ │ │ ├── nunito-sans-v3-latin-800italic.svg │ │ │ ├── nunito-sans-v3-latin-800italic.ttf │ │ │ ├── nunito-sans-v3-latin-800italic.woff │ │ │ └── nunito-sans-v3-latin-800italic.woff2 │ │ └── nunito900 │ │ │ ├── nunito-sans-v3-latin-900.eot │ │ │ ├── nunito-sans-v3-latin-900.svg │ │ │ ├── nunito-sans-v3-latin-900.ttf │ │ │ ├── nunito-sans-v3-latin-900.woff │ │ │ ├── nunito-sans-v3-latin-900.woff2 │ │ │ ├── nunito-sans-v3-latin-900italic.eot │ │ │ ├── nunito-sans-v3-latin-900italic.svg │ │ │ ├── nunito-sans-v3-latin-900italic.ttf │ │ │ ├── nunito-sans-v3-latin-900italic.woff │ │ │ └── nunito-sans-v3-latin-900italic.woff2 │ ├── images │ │ ├── back.svg │ │ ├── criptext-logo.svg │ │ ├── key-dark.svg │ │ ├── key-light.svg │ │ ├── lock.png │ │ └── shield.svg │ ├── index.js │ ├── lang │ │ ├── en.json │ │ ├── es.json │ │ └── index.js │ ├── styles │ │ └── index.scss │ └── utils │ │ ├── AESUtils.js │ │ ├── OSUtils.js │ │ ├── electronInterface.js │ │ └── ipc.js └── yarn.lock ├── install.js ├── signal_interface ├── CMakeLists.txt ├── binding.template.gyp ├── installation │ ├── linux │ │ ├── CMakeLists.txt │ │ ├── linux_binding.gyp │ │ └── linux_install_deps.sh │ └── macos │ │ ├── CMakeLists-macos.txt │ │ ├── macos_binding.gyp │ │ └── macos_install_deps.sh ├── main.cpp └── src │ ├── crypto │ ├── base64.c │ ├── base64.h │ ├── crypto.c │ ├── crypto.h │ ├── protocol_store │ │ ├── IdentityKeyStore.cpp │ │ ├── IdentityKeyStore.h │ │ ├── PreKeyStore.cpp │ │ ├── PreKeyStore.h │ │ ├── SessionStore.cpp │ │ ├── SessionStore.h │ │ ├── SignedPreKeyStore.cpp │ │ ├── SignedPreKeyStore.h │ │ ├── decode_utils.cpp │ │ ├── decode_utils.h │ │ └── types.h │ ├── signal.cpp │ ├── signal.h │ ├── store.cpp │ ├── store.h │ └── uthash.h │ ├── helpers │ ├── utf8.c │ └── utf8.h │ └── http │ ├── handlers │ ├── cors.cpp │ ├── cors.h │ ├── decrypt.cpp │ ├── decrypt.h │ ├── encrypt.cpp │ ├── encrypt.h │ ├── helpers.cpp │ ├── helpers.h │ ├── keyBundle.cpp │ ├── keyBundle.h │ ├── password.cpp │ └── password.h │ ├── http.cpp │ └── http.h └── yarn.lock /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature request 3 | about: Suggest an idea for this project 4 | 5 | --- 6 | 7 | **Is your feature request related to a problem? Please describe.** 8 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] 9 | 10 | **Describe the solution you'd like** 11 | A clear and concise description of what you want to happen. 12 | 13 | **Describe alternatives you've considered (Optional)** 14 | A clear and concise description of any alternative solutions or features you've considered. 15 | 16 | **Additional context (Optional)** 17 | Add any other context or screenshots about the feature request here. 18 | -------------------------------------------------------------------------------- /db_interface/src/axolotl/IdentityKey.h: -------------------------------------------------------------------------------- 1 | #ifndef IDENTITYKEY_H_ 2 | #define IDENTITYKEY_H_ 3 | 4 | #include 5 | #include 6 | #include 7 | #include "../dbUtils.h" 8 | 9 | using namespace std; 10 | 11 | namespace CriptextDB { 12 | 13 | struct IdentityKey { 14 | string recipientId; 15 | long int deviceId; 16 | string identityKey; 17 | }; 18 | 19 | IdentityKey getIdentityKey(database db, int accountId, string recipientId, long int deviceId); 20 | bool createIdentityKey(database db, int accountId, string recipientId, int deviceId, char *identityKey); 21 | } 22 | 23 | #endif -------------------------------------------------------------------------------- /db_interface/src/axolotl/PreKey.h: -------------------------------------------------------------------------------- 1 | #ifndef PREKEY_H_ 2 | #define PREKEY_H_ 3 | 4 | #include 5 | #include 6 | #include 7 | #include 8 | #include "../dbUtils.h" 9 | 10 | using namespace std; 11 | 12 | namespace CriptextDB { 13 | 14 | struct PreKey { 15 | int id; 16 | string record; 17 | size_t len; 18 | }; 19 | 20 | PreKey getPreKey(database db, int accountId, short int id); 21 | bool createPreKey(database db, int accountId, short int id, char *keyRecord, size_t len); 22 | bool deletePreKey(database db, int accountId, short int id); 23 | 24 | } 25 | 26 | #endif -------------------------------------------------------------------------------- /db_interface/src/dbUtils.cpp: -------------------------------------------------------------------------------- 1 | #include "dbUtils.h" 2 | 3 | database initializeDB(string dbPath, string password) { 4 | bool isEncrypted = dbPath.find("Encrypt.db") != string::npos; 5 | if (!isEncrypted) { 6 | sqlite_config config; 7 | config.flags = OpenFlags::FULLMUTEX | OpenFlags::SHAREDCACHE | OpenFlags::READWRITE; 8 | return database(dbPath, config); 9 | } 10 | sqlcipher_config config; 11 | config.flags = OpenFlags::FULLMUTEX | OpenFlags::PRIVATECACH | OpenFlags::READWRITE; 12 | config.key = password; 13 | sqlcipher_database db(dbPath, config); 14 | db << "PRAGMA journal_mode = WAL"; 15 | return std::move(db); 16 | } -------------------------------------------------------------------------------- /db_interface/src/dbUtils.h: -------------------------------------------------------------------------------- 1 | #ifndef DBUTILS_H_ 2 | #define DBUTILS_H_ 3 | 4 | #include 5 | #include 6 | #include 7 | 8 | using namespace std; 9 | using namespace sqlite; 10 | 11 | database initializeDB(string dbPath, string password); 12 | 13 | #endif -------------------------------------------------------------------------------- /db_interface/src/main.cpp: -------------------------------------------------------------------------------- 1 | int main(int argc, char** argv){ 2 | return 0; 3 | } -------------------------------------------------------------------------------- /electron_app/build/appx/Square150x150Logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/electron_app/build/appx/Square150x150Logo.png -------------------------------------------------------------------------------- /electron_app/build/appx/Square44x44Logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/electron_app/build/appx/Square44x44Logo.png -------------------------------------------------------------------------------- /electron_app/build/appx/StoreLogo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/electron_app/build/appx/StoreLogo.png -------------------------------------------------------------------------------- /electron_app/build/appx/Wide310x150Logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/electron_app/build/appx/Wide310x150Logo.png -------------------------------------------------------------------------------- /electron_app/build/background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/electron_app/build/background.png -------------------------------------------------------------------------------- /electron_app/build/background@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/electron_app/build/background@2x.png -------------------------------------------------------------------------------- /electron_app/build/icon.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/electron_app/build/icon.icns -------------------------------------------------------------------------------- /electron_app/build/icon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/electron_app/build/icon.ico -------------------------------------------------------------------------------- /electron_app/build/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/electron_app/build/icon.png -------------------------------------------------------------------------------- /electron_app/build/volume.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/electron_app/build/volume.icns -------------------------------------------------------------------------------- /electron_app/installerResources/clearBuild.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | projects="email_composer email_loading email_login email_mailbox email_pin" 4 | 5 | for project in ${projects}; do 6 | # Remove previous builds in projects 7 | rm -rf ./../$project/build 8 | done 9 | 10 | # Remove build folders in electron_app 11 | rm -rf ./src/app 12 | rm -rf ./dist 13 | rm -rf ./release-builds 14 | -------------------------------------------------------------------------------- /electron_app/installerResources/debian.json: -------------------------------------------------------------------------------- 1 | { 2 | "dest": "release-builds/", 3 | "icon": "resources/desktop-icon.png", 4 | "maintainer": "Criptext ", 5 | "description": "Encrypted email built on privacy", 6 | "productName": "Criptext", 7 | "homepage": "https://criptext.com", 8 | "name": "Criptext", 9 | "bin": "Criptext", 10 | "productDescription": "Encrypted email built on privacy", 11 | "desktopTemplate": "./resources/desktop.ejs", 12 | "categories": ["Network","Application"], 13 | "scripts": { 14 | "preinst": "./installerResources/removeOldAppData-linux.sh", 15 | "postrm": "./installerResources/removeOldAppData-linux.sh" 16 | } 17 | } -------------------------------------------------------------------------------- /electron_app/installerResources/installerTypes.json: -------------------------------------------------------------------------------- 1 | { 2 | "windows": { 3 | "installer": "WINDOWS-INSTALLER", 4 | "store": "WINDOWS-STORE" 5 | }, 6 | "linux": { 7 | "installer": "LINUX-INSTALLER" 8 | }, 9 | "mac": { 10 | "installer": "MACOS-INSTALLER", 11 | "store": "MACOS-STORE" 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /electron_app/installerResources/removeOldAppData-linux.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Clean previous app data 4 | rm -rf ~/.config/Criptext* 5 | -------------------------------------------------------------------------------- /electron_app/installerResources/windows.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Criptext", 3 | "productName": "Criptext", 4 | "description": "Encrypted email built on privacy", 5 | "productDescription": "Encrypted email built on privacy", 6 | "authors": ["Criptext (support@criptext.com)"], 7 | "homepage": "https://criptext.com", 8 | "icon": "build/icon.ico", 9 | "tags": ["Network","Application"], 10 | "noMsi": true 11 | } -------------------------------------------------------------------------------- /electron_app/resources/desktop.ejs: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Version=0.13.6 3 | Name=Criptext 4 | Comment=Encrypted email built on privacy 5 | Exec=Criptext %U 6 | Icon=/usr/share/pixmaps/Criptext.png 7 | Terminal=false 8 | Type=Application 9 | Categories=Network; -------------------------------------------------------------------------------- /electron_app/resources/icons/ico/1024x1024.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/electron_app/resources/icons/ico/1024x1024.ico -------------------------------------------------------------------------------- /electron_app/resources/icons/ico/128x128.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/electron_app/resources/icons/ico/128x128.ico -------------------------------------------------------------------------------- /electron_app/resources/icons/ico/16x16.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/electron_app/resources/icons/ico/16x16.ico -------------------------------------------------------------------------------- /electron_app/resources/icons/ico/256x256.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/electron_app/resources/icons/ico/256x256.ico -------------------------------------------------------------------------------- /electron_app/resources/icons/ico/32x32.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/electron_app/resources/icons/ico/32x32.ico -------------------------------------------------------------------------------- /electron_app/resources/icons/ico/512x512.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/electron_app/resources/icons/ico/512x512.ico -------------------------------------------------------------------------------- /electron_app/resources/icons/ico/64x64.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/electron_app/resources/icons/ico/64x64.ico -------------------------------------------------------------------------------- /electron_app/resources/icons/png/1024x1024.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/electron_app/resources/icons/png/1024x1024.png -------------------------------------------------------------------------------- /electron_app/resources/icons/png/128x128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/electron_app/resources/icons/png/128x128.png -------------------------------------------------------------------------------- /electron_app/resources/icons/png/16x16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/electron_app/resources/icons/png/16x16.png -------------------------------------------------------------------------------- /electron_app/resources/icons/png/24x24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/electron_app/resources/icons/png/24x24.png -------------------------------------------------------------------------------- /electron_app/resources/icons/png/256x256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/electron_app/resources/icons/png/256x256.png -------------------------------------------------------------------------------- /electron_app/resources/icons/png/32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/electron_app/resources/icons/png/32x32.png -------------------------------------------------------------------------------- /electron_app/resources/icons/png/48x48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/electron_app/resources/icons/png/48x48.png -------------------------------------------------------------------------------- /electron_app/resources/icons/png/512x512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/electron_app/resources/icons/png/512x512.png -------------------------------------------------------------------------------- /electron_app/resources/icons/png/64x64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/electron_app/resources/icons/png/64x64.png -------------------------------------------------------------------------------- /electron_app/resources/icons/png/96x96.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/electron_app/resources/icons/png/96x96.png -------------------------------------------------------------------------------- /electron_app/resources/launch-icons/icon.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/electron_app/resources/launch-icons/icon.icns -------------------------------------------------------------------------------- /electron_app/resources/launch-icons/icon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/electron_app/resources/launch-icons/icon.ico -------------------------------------------------------------------------------- /electron_app/resources/launch-icons/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/electron_app/resources/launch-icons/icon.png -------------------------------------------------------------------------------- /electron_app/resources/notificationIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/electron_app/resources/notificationIcon.png -------------------------------------------------------------------------------- /electron_app/resources/notificationIcon2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/electron_app/resources/notificationIcon2.png -------------------------------------------------------------------------------- /electron_app/src/Settings.js: -------------------------------------------------------------------------------- 1 | const appSettings = { 2 | isFromStore: this.isFromStore, 3 | language: this.language, 4 | opened: this.opened, 5 | theme: this.theme, 6 | 7 | initialize({ language, opened, theme, isFromStore }) { 8 | this.isFromStore = isFromStore; 9 | this.language = language; 10 | this.opened = opened; 11 | this.theme = theme; 12 | }, 13 | 14 | update({ language, opened, theme }) { 15 | this.language = language || this.language; 16 | this.opened = opened !== undefined ? opened : this.opened; 17 | this.theme = theme || this.theme; 18 | } 19 | }; 20 | 21 | module.exports = appSettings; 22 | -------------------------------------------------------------------------------- /electron_app/src/__integrations__/__snapshots__/Contact.integration.js.snap: -------------------------------------------------------------------------------- 1 | // Jest Snapshot v1, https://goo.gl/fbAQLP 2 | 3 | exports[`Load data contact from Contact Table: should load all contacts 1`] = ` 4 | Array [ 5 | Object { 6 | "email": "a@domain.com", 7 | "name": "A", 8 | }, 9 | Object { 10 | "email": "user@domain.com", 11 | "name": "User", 12 | }, 13 | Object { 14 | "email": "userhello@domain.com", 15 | "name": "User Hello", 16 | }, 17 | ] 18 | `; 19 | -------------------------------------------------------------------------------- /electron_app/src/__integrations__/__snapshots__/Feeditem.integration.js.snap: -------------------------------------------------------------------------------- 1 | // Jest Snapshot v1, https://goo.gl/fbAQLP 2 | 3 | exports[`Load data feeditem from Feeditem Table: Should load all feeditems 1`] = ` 4 | Object { 5 | "accountId": 1, 6 | "contactId": 2, 7 | "date": "2018-06-14 08:23:19", 8 | "emailId": 1, 9 | "fileId": null, 10 | "id": 2, 11 | "seen": false, 12 | "type": 7, 13 | } 14 | `; 15 | 16 | exports[`Store data fedditem to Feeditem Table: Should insert feeditem 1`] = ` 17 | Object { 18 | "accountId": 1, 19 | "contactId": 1, 20 | "date": "2018-06-14 08:23:19", 21 | "emailId": 1, 22 | "id": 1, 23 | "seen": false, 24 | "type": 7, 25 | } 26 | `; 27 | -------------------------------------------------------------------------------- /electron_app/src/__mocks__/Account.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | recipientId: 'test', 3 | update: () => {}, 4 | getEmailNames: () => {} 5 | }; 6 | -------------------------------------------------------------------------------- /electron_app/src/database/index.js: -------------------------------------------------------------------------------- 1 | const { existsDatabase } = require('./../utils/dataBaseUtils'); 2 | const hasNormalDatabase = existsDatabase('Criptext.db'); 3 | const dbManager = hasNormalDatabase 4 | ? require('../database/DBManager') 5 | : require('../database/DBEmanager'); 6 | module.exports = dbManager; 7 | -------------------------------------------------------------------------------- /electron_app/src/errors.js: -------------------------------------------------------------------------------- 1 | const { errorMessages } = require('./lang').strings; 2 | 3 | const SERVER_ERROR = { 4 | UNABLE_TO_CONNECT: { 5 | name: errorMessages.UNABLE_TO_CONNECT.name, 6 | description: errorMessages.UNABLE_TO_CONNECT.description 7 | } 8 | }; 9 | 10 | const MESSAGE_ERROR = { 11 | PRINTING_ERROR: { 12 | name: errorMessages.PRINTING_ERROR.name, 13 | description: errorMessages.PRINTING_ERROR.description 14 | }, 15 | UNKNOWN: { 16 | name: errorMessages.UNKNOWN.name, 17 | description: errorMessages.UNKNOWN.description 18 | } 19 | }; 20 | 21 | module.exports = { 22 | server: SERVER_ERROR, 23 | message: MESSAGE_ERROR 24 | }; 25 | -------------------------------------------------------------------------------- /electron_app/src/filescript/checker.js: -------------------------------------------------------------------------------- 1 | const fs = require('fs'); 2 | const { remove } = require('./helpers'); 3 | 4 | const start = async () => { 5 | var args = process.argv.slice(2); 6 | const inputPath = args[0]; 7 | const outputPath = args[1]; 8 | const flagFilePath = `${inputPath}/../flag.txt`; 9 | 10 | if (!fs.existsSync(flagFilePath)) { 11 | await remove(outputPath); 12 | return; 13 | } 14 | 15 | await remove(inputPath); 16 | fs.renameSync(outputPath, inputPath); 17 | await remove(`${inputPath}/../flag.txt`); 18 | }; 19 | 20 | start(); 21 | -------------------------------------------------------------------------------- /electron_app/src/filescript/decrypter.js: -------------------------------------------------------------------------------- 1 | const { decryptStreamFile } = require('./helpers'); 2 | 3 | const start = async () => { 4 | var args = process.argv.slice(2); 5 | const inputPath = args[0]; 6 | const outputPath = args[1]; 7 | const password = args[2]; 8 | 9 | await decryptStreamFile({ 10 | inputFile: inputPath, 11 | outputFile: outputPath, 12 | password 13 | }); 14 | }; 15 | 16 | start(); 17 | -------------------------------------------------------------------------------- /electron_app/src/ipc/loading.js: -------------------------------------------------------------------------------- 1 | const { ipcMain: ipc } = require('@criptext/electron-better-ipc'); 2 | const loadingWindow = require('../windows/loading'); 3 | const globalManager = require('../globalManager'); 4 | 5 | ipc.answerRenderer('close-create-keys-loading', () => { 6 | loadingWindow.close(); 7 | globalManager.loadingData.set({}); 8 | }); 9 | 10 | ipc.answerRenderer('open-create-keys-loading', params => { 11 | globalManager.loadingData.set(params); 12 | loadingWindow.show({ type: params.loadingType }); 13 | }); 14 | -------------------------------------------------------------------------------- /electron_app/src/ipc/logger.js: -------------------------------------------------------------------------------- 1 | const { ipcMain: ipc } = require('@criptext/electron-better-ipc'); 2 | const logger = require('../logger'); 3 | 4 | ipc.answerRenderer('log-error', stack => { 5 | logger.error(stack); 6 | }); 7 | 8 | ipc.answerRenderer('log-info', stack => { 9 | logger.info(stack); 10 | }); 11 | -------------------------------------------------------------------------------- /electron_app/src/ipc/nucleus.js: -------------------------------------------------------------------------------- 1 | const { ipcMain: ipc } = require('@criptext/electron-better-ipc'); 2 | const { addEventError, NUCLEUS_EVENTS } = require('./../nucleusManager'); 3 | 4 | ipc.answerRenderer('nucleups-report-content-unencrypted', error => 5 | addEventError(NUCLEUS_EVENTS.REPORT_CONTENT_UNENCRYPTED, error) 6 | ); 7 | 8 | ipc.answerRenderer('nucleups-report-content-unencrypted-bob', error => 9 | addEventError(NUCLEUS_EVENTS.REPORT_CONTENT_UNENCRYPTED_BOB, error) 10 | ); 11 | 12 | ipc.answerRenderer('nucleups-report-uncaught-error', error => 13 | addEventError(NUCLEUS_EVENTS.UNCAUGHT_ERROR, error) 14 | ); 15 | -------------------------------------------------------------------------------- /electron_app/src/knexfile.js: -------------------------------------------------------------------------------- 1 | const path = require('path'); 2 | 3 | module.exports = { 4 | client: 'sqlite3', 5 | directory: path.join(__dirname, '/migrations'), 6 | tableName: 'migrations', 7 | loadExtensions: ['.js'] 8 | }; 9 | -------------------------------------------------------------------------------- /electron_app/src/migrations/20180828163335_recoveryEmail.js: -------------------------------------------------------------------------------- 1 | const { Table } = require('./../database/models'); 2 | 3 | exports.up = (knex, Promise) => { 4 | return Promise.resolve(true); 5 | }; 6 | 7 | // On rollback 8 | exports.down = async knex => { 9 | const hasRecoveryEmailColumn = await knex.schema.hasColumn( 10 | Table.ACCOUNT, 11 | 'recoveryEmail' 12 | ); 13 | if (hasRecoveryEmailColumn) { 14 | await knex.schema.table(Table.ACCOUNT, table => { 15 | table.dropColumn('recoveryEmail'); 16 | table.dropColumn('recoveryEmailConfirmed'); 17 | }); 18 | } 19 | }; 20 | -------------------------------------------------------------------------------- /electron_app/src/utils/ArrayUtils.js: -------------------------------------------------------------------------------- 1 | const chunkArray = (array, callback, size = 100) => { 2 | for (let i = 0; i < array.length; i += size) { 3 | const chunkedArray = array.slice(i, i + size); 4 | callback(chunkedArray); 5 | } 6 | }; 7 | 8 | module.exports = { 9 | chunkArray 10 | }; 11 | -------------------------------------------------------------------------------- /electron_app/src/utils/EmailUtils.js: -------------------------------------------------------------------------------- 1 | const { emailRegex } = require('./RegexUtils'); 2 | 3 | const filterInvalidEmailAddresses = addresses => { 4 | return addresses.filter(address => emailRegex.test(address)); 5 | }; 6 | 7 | module.exports = { filterInvalidEmailAddresses }; 8 | -------------------------------------------------------------------------------- /electron_app/src/utils/ObjectUtils.js: -------------------------------------------------------------------------------- 1 | const noNulls = object => { 2 | const obj = Object.assign({}, object); 3 | Object.keys(obj).forEach( 4 | key => (obj[key] === null || obj[key] === undefined) && delete obj[key] 5 | ); 6 | return obj; 7 | }; 8 | 9 | module.exports = { 10 | noNulls 11 | }; 12 | -------------------------------------------------------------------------------- /electron_app/src/utils/__tests__/__snapshots__/dataTableUtils.js.snap: -------------------------------------------------------------------------------- 1 | // Jest Snapshot v1, https://goo.gl/fbAQLP 2 | 3 | exports[`data table utils: form contacts row 1`] = ` 4 | Array [ 5 | Object { 6 | "email": "gianni@criptext.com", 7 | "name": "Gianni", 8 | }, 9 | Object { 10 | "email": "erika@criptext.com", 11 | "name": "", 12 | }, 13 | Object { 14 | "email": "pedro@criptext.com", 15 | "name": null, 16 | }, 17 | ] 18 | `; 19 | -------------------------------------------------------------------------------- /electron_app/src/utils/__tests__/dataTableUtils.js: -------------------------------------------------------------------------------- 1 | /* eslint-env node, jest */ 2 | const { formContactsRow } = require('./../dataTableUtils.js'); 3 | 4 | describe('data table utils:', () => { 5 | it('form contacts row', () => { 6 | const contacts = [ 7 | 'Gianni ', 8 | ' ', 9 | 'Pedro@criptext.com' 10 | ]; 11 | const state = formContactsRow(contacts); 12 | expect(state).toMatchSnapshot(); 13 | }); 14 | }); 15 | -------------------------------------------------------------------------------- /electron_app/src/validationConsts.js: -------------------------------------------------------------------------------- 1 | const requiredMinLength = { 2 | username: 3, 3 | fullname: 1, 4 | password: 8, 5 | passphrase: 3 6 | }; 7 | 8 | const requiredMaxLength = { 9 | username: 16, 10 | fullname: 255, 11 | password: 255, 12 | passphrase: 255 13 | }; 14 | 15 | module.exports = { 16 | requiredMinLength, 17 | requiredMaxLength 18 | }; 19 | -------------------------------------------------------------------------------- /electron_app/src/windows/events.js: -------------------------------------------------------------------------------- 1 | const EventEmitter = require('events'); 2 | const emitter = new EventEmitter(); 3 | 4 | const EVENTS = { 5 | Up_app: 'windows-event-up-app', 6 | API_event_tracking: 'windows-event-send-tracking-API' 7 | }; 8 | 9 | const addEvent = (eventName, callback) => { 10 | emitter.addListener(eventName, callback); 11 | }; 12 | 13 | const removeEvent = (eventName, callback) => { 14 | emitter.removeListener(eventName, callback); 15 | }; 16 | 17 | const callEvent = (eventName, data) => { 18 | emitter.emit(eventName, data); 19 | }; 20 | 21 | module.exports = { 22 | EVENTS, 23 | addEvent, 24 | callEvent, 25 | removeEvent 26 | }; 27 | -------------------------------------------------------------------------------- /electron_app/src/windows/worker.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 12 | 13 | -------------------------------------------------------------------------------- /email_composer/public/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "short_name": "React App", 3 | "name": "Create React App Sample", 4 | "icons": [ 5 | { 6 | "src": "favicon.ico", 7 | "sizes": "64x64 32x32 24x24 16x16", 8 | "type": "image/x-icon" 9 | } 10 | ], 11 | "start_url": "./index.html", 12 | "display": "standalone", 13 | "theme_color": "#000000", 14 | "background_color": "#ffffff" 15 | } 16 | -------------------------------------------------------------------------------- /email_composer/src/App.js: -------------------------------------------------------------------------------- 1 | import React, { Component } from 'react'; 2 | import Composer from './containers/Composer'; 3 | import './app.scss'; 4 | 5 | class App extends Component { 6 | render() { 7 | return ; 8 | } 9 | } 10 | 11 | export default App; 12 | -------------------------------------------------------------------------------- /email_composer/src/components/BodyWrapper.js: -------------------------------------------------------------------------------- 1 | import React, { Component } from 'react'; 2 | import Body from './Body'; 3 | 4 | class BodyWrapper extends Component { 5 | constructor(props) { 6 | super(props); 7 | this.state = { 8 | isToolbarHidden: true 9 | }; 10 | } 11 | 12 | render() { 13 | return ( 14 | 19 | ); 20 | } 21 | 22 | handleTextEditor = () => { 23 | this.setState({ isToolbarHidden: !this.state.isToolbarHidden }); 24 | }; 25 | } 26 | 27 | export default BodyWrapper; 28 | -------------------------------------------------------------------------------- /email_composer/src/components/avatarimage.scss: -------------------------------------------------------------------------------- 1 | .avatar-letters { 2 | align-items: center; 3 | border-radius: 50%; 4 | display: flex; 5 | height: 100%; 6 | overflow: hidden; 7 | position: relative; 8 | width: 100%; 9 | 10 | img { 11 | object-fit: cover; 12 | width: 100%; 13 | height: 100%; 14 | position: absolute; 15 | border-radius: 50%; 16 | } 17 | 18 | span{ 19 | color: white; 20 | font-weight: 300; 21 | margin: 0 auto; 22 | } 23 | } -------------------------------------------------------------------------------- /email_composer/src/components/body.scss: -------------------------------------------------------------------------------- 1 | @import "./../styles/index.scss"; 2 | 3 | .body-container{ 4 | display: flex; 5 | flex-direction: column; 6 | flex-grow: 1; 7 | height: calc(100% - 242px); 8 | position: relative; 9 | width: 100%; 10 | } 11 | 12 | /* THEME 13 | ----------------------------- */ 14 | @mixin themable($_THEME, $_COLOR_TEXT_BODY){ 15 | [data-theme^=#{$_THEME}], 16 | [data-theme] [data-theme^=#{$_THEME}] { 17 | .body-container{ 18 | color: $_COLOR_TEXT_BODY; 19 | } 20 | } 21 | } 22 | 23 | @include themable($_THEME_LIGHT, $_COLOR_TEXT_BODY_LIGHT); 24 | @include themable($_THEME_DARK, $_COLOR_TEXT_BODY_DARK); -------------------------------------------------------------------------------- /email_composer/src/components/global.js: -------------------------------------------------------------------------------- 1 | import jquery from 'jquery'; 2 | import React from 'react'; 3 | import ReactDOM from 'react-dom'; 4 | 5 | window.React = React; 6 | window.ReactDOM = ReactDOM; 7 | window.jQuery = jquery; 8 | window.jquery = jquery; 9 | window.$ = jquery; 10 | -------------------------------------------------------------------------------- /email_composer/src/fonts/icon.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_composer/src/fonts/icon.eot -------------------------------------------------------------------------------- /email_composer/src/fonts/icon.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_composer/src/fonts/icon.ttf -------------------------------------------------------------------------------- /email_composer/src/fonts/icon.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_composer/src/fonts/icon.woff -------------------------------------------------------------------------------- /email_composer/src/fonts/nunito/nunito-sans-v3-latin-italic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_composer/src/fonts/nunito/nunito-sans-v3-latin-italic.eot -------------------------------------------------------------------------------- /email_composer/src/fonts/nunito/nunito-sans-v3-latin-italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_composer/src/fonts/nunito/nunito-sans-v3-latin-italic.ttf -------------------------------------------------------------------------------- /email_composer/src/fonts/nunito/nunito-sans-v3-latin-italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_composer/src/fonts/nunito/nunito-sans-v3-latin-italic.woff -------------------------------------------------------------------------------- /email_composer/src/fonts/nunito/nunito-sans-v3-latin-italic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_composer/src/fonts/nunito/nunito-sans-v3-latin-italic.woff2 -------------------------------------------------------------------------------- /email_composer/src/fonts/nunito/nunito-sans-v3-latin-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_composer/src/fonts/nunito/nunito-sans-v3-latin-regular.eot -------------------------------------------------------------------------------- /email_composer/src/fonts/nunito/nunito-sans-v3-latin-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_composer/src/fonts/nunito/nunito-sans-v3-latin-regular.ttf -------------------------------------------------------------------------------- /email_composer/src/fonts/nunito/nunito-sans-v3-latin-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_composer/src/fonts/nunito/nunito-sans-v3-latin-regular.woff -------------------------------------------------------------------------------- /email_composer/src/fonts/nunito/nunito-sans-v3-latin-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_composer/src/fonts/nunito/nunito-sans-v3-latin-regular.woff2 -------------------------------------------------------------------------------- /email_composer/src/fonts/nunito200/nunito-sans-v3-latin-200.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_composer/src/fonts/nunito200/nunito-sans-v3-latin-200.eot -------------------------------------------------------------------------------- /email_composer/src/fonts/nunito200/nunito-sans-v3-latin-200.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_composer/src/fonts/nunito200/nunito-sans-v3-latin-200.ttf -------------------------------------------------------------------------------- /email_composer/src/fonts/nunito200/nunito-sans-v3-latin-200.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_composer/src/fonts/nunito200/nunito-sans-v3-latin-200.woff -------------------------------------------------------------------------------- /email_composer/src/fonts/nunito200/nunito-sans-v3-latin-200.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_composer/src/fonts/nunito200/nunito-sans-v3-latin-200.woff2 -------------------------------------------------------------------------------- /email_composer/src/fonts/nunito200/nunito-sans-v3-latin-200italic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_composer/src/fonts/nunito200/nunito-sans-v3-latin-200italic.eot -------------------------------------------------------------------------------- /email_composer/src/fonts/nunito200/nunito-sans-v3-latin-200italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_composer/src/fonts/nunito200/nunito-sans-v3-latin-200italic.ttf -------------------------------------------------------------------------------- /email_composer/src/fonts/nunito200/nunito-sans-v3-latin-200italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_composer/src/fonts/nunito200/nunito-sans-v3-latin-200italic.woff -------------------------------------------------------------------------------- /email_composer/src/fonts/nunito200/nunito-sans-v3-latin-200italic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_composer/src/fonts/nunito200/nunito-sans-v3-latin-200italic.woff2 -------------------------------------------------------------------------------- /email_composer/src/fonts/nunito300/nunito-sans-v3-latin-300.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_composer/src/fonts/nunito300/nunito-sans-v3-latin-300.eot -------------------------------------------------------------------------------- /email_composer/src/fonts/nunito300/nunito-sans-v3-latin-300.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_composer/src/fonts/nunito300/nunito-sans-v3-latin-300.ttf -------------------------------------------------------------------------------- /email_composer/src/fonts/nunito300/nunito-sans-v3-latin-300.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_composer/src/fonts/nunito300/nunito-sans-v3-latin-300.woff -------------------------------------------------------------------------------- /email_composer/src/fonts/nunito300/nunito-sans-v3-latin-300.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_composer/src/fonts/nunito300/nunito-sans-v3-latin-300.woff2 -------------------------------------------------------------------------------- /email_composer/src/fonts/nunito300/nunito-sans-v3-latin-300italic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_composer/src/fonts/nunito300/nunito-sans-v3-latin-300italic.eot -------------------------------------------------------------------------------- /email_composer/src/fonts/nunito300/nunito-sans-v3-latin-300italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_composer/src/fonts/nunito300/nunito-sans-v3-latin-300italic.ttf -------------------------------------------------------------------------------- /email_composer/src/fonts/nunito300/nunito-sans-v3-latin-300italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_composer/src/fonts/nunito300/nunito-sans-v3-latin-300italic.woff -------------------------------------------------------------------------------- /email_composer/src/fonts/nunito300/nunito-sans-v3-latin-300italic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_composer/src/fonts/nunito300/nunito-sans-v3-latin-300italic.woff2 -------------------------------------------------------------------------------- /email_composer/src/fonts/nunito600/nunito-sans-v3-latin-600.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_composer/src/fonts/nunito600/nunito-sans-v3-latin-600.eot -------------------------------------------------------------------------------- /email_composer/src/fonts/nunito600/nunito-sans-v3-latin-600.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_composer/src/fonts/nunito600/nunito-sans-v3-latin-600.ttf -------------------------------------------------------------------------------- /email_composer/src/fonts/nunito600/nunito-sans-v3-latin-600.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_composer/src/fonts/nunito600/nunito-sans-v3-latin-600.woff -------------------------------------------------------------------------------- /email_composer/src/fonts/nunito600/nunito-sans-v3-latin-600.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_composer/src/fonts/nunito600/nunito-sans-v3-latin-600.woff2 -------------------------------------------------------------------------------- /email_composer/src/fonts/nunito600/nunito-sans-v3-latin-600italic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_composer/src/fonts/nunito600/nunito-sans-v3-latin-600italic.eot -------------------------------------------------------------------------------- /email_composer/src/fonts/nunito600/nunito-sans-v3-latin-600italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_composer/src/fonts/nunito600/nunito-sans-v3-latin-600italic.ttf -------------------------------------------------------------------------------- /email_composer/src/fonts/nunito600/nunito-sans-v3-latin-600italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_composer/src/fonts/nunito600/nunito-sans-v3-latin-600italic.woff -------------------------------------------------------------------------------- /email_composer/src/fonts/nunito600/nunito-sans-v3-latin-600italic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_composer/src/fonts/nunito600/nunito-sans-v3-latin-600italic.woff2 -------------------------------------------------------------------------------- /email_composer/src/fonts/nunito700/nunito-sans-v3-latin-700.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_composer/src/fonts/nunito700/nunito-sans-v3-latin-700.eot -------------------------------------------------------------------------------- /email_composer/src/fonts/nunito700/nunito-sans-v3-latin-700.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_composer/src/fonts/nunito700/nunito-sans-v3-latin-700.ttf -------------------------------------------------------------------------------- /email_composer/src/fonts/nunito700/nunito-sans-v3-latin-700.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_composer/src/fonts/nunito700/nunito-sans-v3-latin-700.woff -------------------------------------------------------------------------------- /email_composer/src/fonts/nunito700/nunito-sans-v3-latin-700.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_composer/src/fonts/nunito700/nunito-sans-v3-latin-700.woff2 -------------------------------------------------------------------------------- /email_composer/src/fonts/nunito700/nunito-sans-v3-latin-700italic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_composer/src/fonts/nunito700/nunito-sans-v3-latin-700italic.eot -------------------------------------------------------------------------------- /email_composer/src/fonts/nunito700/nunito-sans-v3-latin-700italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_composer/src/fonts/nunito700/nunito-sans-v3-latin-700italic.ttf -------------------------------------------------------------------------------- /email_composer/src/fonts/nunito700/nunito-sans-v3-latin-700italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_composer/src/fonts/nunito700/nunito-sans-v3-latin-700italic.woff -------------------------------------------------------------------------------- /email_composer/src/fonts/nunito700/nunito-sans-v3-latin-700italic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_composer/src/fonts/nunito700/nunito-sans-v3-latin-700italic.woff2 -------------------------------------------------------------------------------- /email_composer/src/fonts/nunito800/nunito-sans-v3-latin-800.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_composer/src/fonts/nunito800/nunito-sans-v3-latin-800.eot -------------------------------------------------------------------------------- /email_composer/src/fonts/nunito800/nunito-sans-v3-latin-800.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_composer/src/fonts/nunito800/nunito-sans-v3-latin-800.ttf -------------------------------------------------------------------------------- /email_composer/src/fonts/nunito800/nunito-sans-v3-latin-800.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_composer/src/fonts/nunito800/nunito-sans-v3-latin-800.woff -------------------------------------------------------------------------------- /email_composer/src/fonts/nunito800/nunito-sans-v3-latin-800.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_composer/src/fonts/nunito800/nunito-sans-v3-latin-800.woff2 -------------------------------------------------------------------------------- /email_composer/src/fonts/nunito800/nunito-sans-v3-latin-800italic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_composer/src/fonts/nunito800/nunito-sans-v3-latin-800italic.eot -------------------------------------------------------------------------------- /email_composer/src/fonts/nunito800/nunito-sans-v3-latin-800italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_composer/src/fonts/nunito800/nunito-sans-v3-latin-800italic.ttf -------------------------------------------------------------------------------- /email_composer/src/fonts/nunito800/nunito-sans-v3-latin-800italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_composer/src/fonts/nunito800/nunito-sans-v3-latin-800italic.woff -------------------------------------------------------------------------------- /email_composer/src/fonts/nunito800/nunito-sans-v3-latin-800italic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_composer/src/fonts/nunito800/nunito-sans-v3-latin-800italic.woff2 -------------------------------------------------------------------------------- /email_composer/src/fonts/nunito900/nunito-sans-v3-latin-900.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_composer/src/fonts/nunito900/nunito-sans-v3-latin-900.eot -------------------------------------------------------------------------------- /email_composer/src/fonts/nunito900/nunito-sans-v3-latin-900.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_composer/src/fonts/nunito900/nunito-sans-v3-latin-900.ttf -------------------------------------------------------------------------------- /email_composer/src/fonts/nunito900/nunito-sans-v3-latin-900.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_composer/src/fonts/nunito900/nunito-sans-v3-latin-900.woff -------------------------------------------------------------------------------- /email_composer/src/fonts/nunito900/nunito-sans-v3-latin-900.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_composer/src/fonts/nunito900/nunito-sans-v3-latin-900.woff2 -------------------------------------------------------------------------------- /email_composer/src/fonts/nunito900/nunito-sans-v3-latin-900italic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_composer/src/fonts/nunito900/nunito-sans-v3-latin-900italic.eot -------------------------------------------------------------------------------- /email_composer/src/fonts/nunito900/nunito-sans-v3-latin-900italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_composer/src/fonts/nunito900/nunito-sans-v3-latin-900italic.ttf -------------------------------------------------------------------------------- /email_composer/src/fonts/nunito900/nunito-sans-v3-latin-900italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_composer/src/fonts/nunito900/nunito-sans-v3-latin-900italic.woff -------------------------------------------------------------------------------- /email_composer/src/fonts/nunito900/nunito-sans-v3-latin-900italic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_composer/src/fonts/nunito900/nunito-sans-v3-latin-900italic.woff2 -------------------------------------------------------------------------------- /email_composer/src/fonts/roboto/Roboto-Black.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_composer/src/fonts/roboto/Roboto-Black.ttf -------------------------------------------------------------------------------- /email_composer/src/fonts/roboto/Roboto-BlackItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_composer/src/fonts/roboto/Roboto-BlackItalic.ttf -------------------------------------------------------------------------------- /email_composer/src/fonts/roboto/Roboto-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_composer/src/fonts/roboto/Roboto-Bold.ttf -------------------------------------------------------------------------------- /email_composer/src/fonts/roboto/Roboto-BoldItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_composer/src/fonts/roboto/Roboto-BoldItalic.ttf -------------------------------------------------------------------------------- /email_composer/src/fonts/roboto/Roboto-Italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_composer/src/fonts/roboto/Roboto-Italic.ttf -------------------------------------------------------------------------------- /email_composer/src/fonts/roboto/Roboto-Light.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_composer/src/fonts/roboto/Roboto-Light.ttf -------------------------------------------------------------------------------- /email_composer/src/fonts/roboto/Roboto-LightItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_composer/src/fonts/roboto/Roboto-LightItalic.ttf -------------------------------------------------------------------------------- /email_composer/src/fonts/roboto/Roboto-Medium.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_composer/src/fonts/roboto/Roboto-Medium.ttf -------------------------------------------------------------------------------- /email_composer/src/fonts/roboto/Roboto-MediumItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_composer/src/fonts/roboto/Roboto-MediumItalic.ttf -------------------------------------------------------------------------------- /email_composer/src/fonts/roboto/Roboto-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_composer/src/fonts/roboto/Roboto-Regular.ttf -------------------------------------------------------------------------------- /email_composer/src/fonts/roboto/Roboto-Thin.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_composer/src/fonts/roboto/Roboto-Thin.ttf -------------------------------------------------------------------------------- /email_composer/src/fonts/roboto/Roboto-ThinItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_composer/src/fonts/roboto/Roboto-ThinItalic.ttf -------------------------------------------------------------------------------- /email_composer/src/images/font-size-dark.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /email_composer/src/images/font-size-light.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /email_composer/src/index.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import ReactDOM from 'react-dom'; 3 | import App from './App'; 4 | 5 | ReactDOM.render(, document.getElementById('root')); 6 | -------------------------------------------------------------------------------- /email_composer/src/lang/index.js: -------------------------------------------------------------------------------- 1 | import LocalizedStrings from 'react-localization'; 2 | import { mySettings } from '../utils/electronInterface'; 3 | import en from './en.json'; 4 | import es from './es.json'; 5 | import de from './de.json'; 6 | import fr from './fr.json'; 7 | import ru from './ru.json'; 8 | 9 | const string = new LocalizedStrings({ 10 | en, 11 | es, 12 | de, 13 | fr, 14 | ru 15 | }); 16 | 17 | string.setLanguage(mySettings.language); 18 | 19 | export const setLang = lang => { 20 | string.setLanguage(lang); 21 | }; 22 | 23 | export default string; 24 | -------------------------------------------------------------------------------- /email_composer/src/utils/ArrayUtils.js: -------------------------------------------------------------------------------- 1 | export const areEmptyAllArrays = (to, cc, bcc) => { 2 | return to.length || cc.length || bcc.length ? false : true; 3 | }; 4 | 5 | export const updateObjectFieldsInArray = ( 6 | array, 7 | uniqueField, 8 | uniqueValue, 9 | newFields 10 | ) => { 11 | return array.reduce((result, item) => { 12 | if (item[uniqueField] && item[uniqueField] === uniqueValue) { 13 | return [...result, { ...item, ...newFields }]; 14 | } 15 | return [...result, item]; 16 | }, []); 17 | }; 18 | -------------------------------------------------------------------------------- /email_composer/src/utils/CustomError.js: -------------------------------------------------------------------------------- 1 | export class CustomError extends Error { 2 | constructor(params) { 3 | const customError = super(params); 4 | customError.name = params.name || 'Error'; 5 | customError.message = 6 | params.message || params.description || 'Error sending message'; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /email_composer/src/utils/DateUtils.js: -------------------------------------------------------------------------------- 1 | import moment from 'moment'; 2 | 3 | moment.locale('en'); 4 | 5 | const getTimeLocal = time => { 6 | const timeUTC = moment.utc(time); 7 | return moment(timeUTC).local(); 8 | }; 9 | 10 | export const getFormattedDate = date => { 11 | const timeLocal = getTimeLocal(date); 12 | const res = moment(timeLocal).format('ddd, D MMM YYYY [at] h:mm A'); 13 | return res; 14 | }; 15 | -------------------------------------------------------------------------------- /email_composer/src/utils/ObjectUtils.js: -------------------------------------------------------------------------------- 1 | export const noNulls = object => { 2 | const obj = Object.assign({}, object); 3 | Object.keys(obj).forEach( 4 | key => (obj[key] === null || obj[key] === undefined) && delete obj[key] 5 | ); 6 | return obj; 7 | }; 8 | -------------------------------------------------------------------------------- /email_composer/src/utils/RegexUtils.js: -------------------------------------------------------------------------------- 1 | /* eslint no-useless-escape: 0 */ 2 | export const emailRegex = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; 3 | export const HTMLTagsRegex = /<[^>]*>?/g; 4 | export const contactsRegex = string => { 5 | const escaped = escapeRegEx(string); 6 | return new RegExp(`(^${escaped}| ${escaped})`, 'i'); 7 | }; 8 | const escapeRegEx = s => { 9 | return s.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&'); 10 | }; 11 | -------------------------------------------------------------------------------- /email_composer/src/utils/TimeUtils.js: -------------------------------------------------------------------------------- 1 | export const parseRateLimitBlockingTime = secondsString => { 2 | let seconds = Number(String(secondsString)); 3 | const hours = Math.floor(seconds / 3600); 4 | seconds %= 3600; 5 | const minutes = Math.floor(seconds / 60); 6 | return `${hours ? `${hours}h ` : ''}${minutes ? `${minutes}min` : ''}`; 7 | }; 8 | -------------------------------------------------------------------------------- /email_composer/src/utils/__mocks__/const.js: -------------------------------------------------------------------------------- 1 | export const appDomain = 'criptext.com'; 2 | 3 | export const composerEvents = { 4 | EDIT_DRAFT: 'edit-draft', 5 | FORWARD: 'forward', 6 | REPLY: 'reply', 7 | REPLY_ALL: 'reply-all', 8 | NEW_WITH_DATA: 'new-with-data' 9 | }; 10 | 11 | export const externalDomains = ['gmail.com', 'hotmail.com', 'yahoo.com']; 12 | -------------------------------------------------------------------------------- /email_composer/src/utils/__mocks__/criptext-files-sdk.js: -------------------------------------------------------------------------------- 1 | export default class FileManager { 2 | constructor() { 3 | const Event = { 4 | FILE_PROGRESS: 'progress', 5 | FILE_FINISH: 'finish', 6 | FILE_ERROR: 'error' 7 | }; 8 | return { Event }; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /email_composer/src/utils/__mocks__/electronInterface.js: -------------------------------------------------------------------------------- 1 | export const myAccount = { 2 | id: 1, 3 | recipientId: 'myAccountRecipientId', 4 | name: 'myAccountName', 5 | email: 'myAccountRecipientId@criptext.com' 6 | }; 7 | 8 | export const emailKey = '1'; 9 | export const emailKeyWithFile = '2'; 10 | 11 | export const composerEvents = { 12 | EDIT_DRAFT: 'edit-draft', 13 | REPLY: 'reply', 14 | REPLY_ALL: 'reply-all', 15 | FORWARD: 'forward' 16 | }; 17 | 18 | export const mySettings = { 19 | language: 'en', 20 | opened: 1, 21 | theme: 'light' 22 | }; 23 | -------------------------------------------------------------------------------- /email_composer/src/utils/__tests__/ArrayUtils.js: -------------------------------------------------------------------------------- 1 | /* eslint-env node, jest */ 2 | 3 | import * as utils from '../ArrayUtils.js'; 4 | 5 | describe('array utils:', () => { 6 | it('recieve at least one full array', () => { 7 | const to = ['a']; 8 | const cc = []; 9 | const bcc = []; 10 | const state = utils.areEmptyAllArrays(to, cc, bcc); 11 | expect(state).toEqual(false); 12 | }); 13 | 14 | it('receive all empty arrays', () => { 15 | const to = []; 16 | const cc = []; 17 | const bcc = []; 18 | const state = utils.areEmptyAllArrays(to, cc, bcc); 19 | expect(state).toEqual(true); 20 | }); 21 | }); 22 | -------------------------------------------------------------------------------- /email_composer/src/utils/__tests__/RegexUtils.js: -------------------------------------------------------------------------------- 1 | /* eslint-env node, jest */ 2 | import { contactsRegex } from '../RegexUtils'; 3 | 4 | const contacts = [ 5 | 'User Test1', 6 | 'New Test 1', 7 | 'user1@criptext.com', 8 | 'New User2', 9 | 'user 3', 10 | 'newuser@criptext.com' 11 | ]; 12 | 13 | describe('Regex Utils - Filter Contacts :', () => { 14 | it('Should filter contacts with word beginning with user', () => { 15 | const filterParam = 'user'; 16 | const filtered = contacts.filter(contact => 17 | contactsRegex(filterParam).test(contact) 18 | ); 19 | expect(filtered).toMatchSnapshot(); 20 | }); 21 | }); 22 | -------------------------------------------------------------------------------- /email_composer/src/utils/__tests__/__snapshots__/RegexUtils.js.snap: -------------------------------------------------------------------------------- 1 | // Jest Snapshot v1, https://goo.gl/fbAQLP 2 | 3 | exports[`Regex Utils - Filter Contacts : Should filter contacts with word beginning with user 1`] = ` 4 | Array [ 5 | "User Test1", 6 | "user1@criptext.com", 7 | "New User2", 8 | "user 3", 9 | ] 10 | `; 11 | -------------------------------------------------------------------------------- /email_composer/src/utils/plus.js: -------------------------------------------------------------------------------- 1 | export const isPlus = customerType => { 2 | return customerType > 0 && customerType < 3; 3 | }; 4 | -------------------------------------------------------------------------------- /email_loading/public/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "short_name": "Dialog", 3 | "name": "React Dialog", 4 | "icons": [ 5 | { 6 | "src": "favicon.ico", 7 | "sizes": "64x64 32x32 24x24 16x16", 8 | "type": "image/x-icon" 9 | } 10 | ], 11 | "start_url": "./index.html", 12 | "display": "standalone", 13 | "theme_color": "#000000", 14 | "background_color": "#ffffff" 15 | } 16 | -------------------------------------------------------------------------------- /email_loading/src/App.js: -------------------------------------------------------------------------------- 1 | import React, { Component } from 'react'; 2 | import Panel from './components/Panel'; 3 | import './app.scss'; 4 | 5 | class App extends Component { 6 | render() { 7 | return ; 8 | } 9 | } 10 | 11 | export default App; 12 | -------------------------------------------------------------------------------- /email_loading/src/fonts/icon.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_loading/src/fonts/icon.eot -------------------------------------------------------------------------------- /email_loading/src/fonts/icon.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_loading/src/fonts/icon.ttf -------------------------------------------------------------------------------- /email_loading/src/fonts/icon.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_loading/src/fonts/icon.woff -------------------------------------------------------------------------------- /email_loading/src/fonts/nunito/nunito-sans-v3-latin-italic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_loading/src/fonts/nunito/nunito-sans-v3-latin-italic.eot -------------------------------------------------------------------------------- /email_loading/src/fonts/nunito/nunito-sans-v3-latin-italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_loading/src/fonts/nunito/nunito-sans-v3-latin-italic.ttf -------------------------------------------------------------------------------- /email_loading/src/fonts/nunito/nunito-sans-v3-latin-italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_loading/src/fonts/nunito/nunito-sans-v3-latin-italic.woff -------------------------------------------------------------------------------- /email_loading/src/fonts/nunito/nunito-sans-v3-latin-italic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_loading/src/fonts/nunito/nunito-sans-v3-latin-italic.woff2 -------------------------------------------------------------------------------- /email_loading/src/fonts/nunito/nunito-sans-v3-latin-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_loading/src/fonts/nunito/nunito-sans-v3-latin-regular.eot -------------------------------------------------------------------------------- /email_loading/src/fonts/nunito/nunito-sans-v3-latin-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_loading/src/fonts/nunito/nunito-sans-v3-latin-regular.ttf -------------------------------------------------------------------------------- /email_loading/src/fonts/nunito/nunito-sans-v3-latin-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_loading/src/fonts/nunito/nunito-sans-v3-latin-regular.woff -------------------------------------------------------------------------------- /email_loading/src/fonts/nunito/nunito-sans-v3-latin-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_loading/src/fonts/nunito/nunito-sans-v3-latin-regular.woff2 -------------------------------------------------------------------------------- /email_loading/src/fonts/nunito200/nunito-sans-v3-latin-200.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_loading/src/fonts/nunito200/nunito-sans-v3-latin-200.eot -------------------------------------------------------------------------------- /email_loading/src/fonts/nunito200/nunito-sans-v3-latin-200.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_loading/src/fonts/nunito200/nunito-sans-v3-latin-200.ttf -------------------------------------------------------------------------------- /email_loading/src/fonts/nunito200/nunito-sans-v3-latin-200.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_loading/src/fonts/nunito200/nunito-sans-v3-latin-200.woff -------------------------------------------------------------------------------- /email_loading/src/fonts/nunito200/nunito-sans-v3-latin-200.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_loading/src/fonts/nunito200/nunito-sans-v3-latin-200.woff2 -------------------------------------------------------------------------------- /email_loading/src/fonts/nunito200/nunito-sans-v3-latin-200italic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_loading/src/fonts/nunito200/nunito-sans-v3-latin-200italic.eot -------------------------------------------------------------------------------- /email_loading/src/fonts/nunito200/nunito-sans-v3-latin-200italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_loading/src/fonts/nunito200/nunito-sans-v3-latin-200italic.ttf -------------------------------------------------------------------------------- /email_loading/src/fonts/nunito200/nunito-sans-v3-latin-200italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_loading/src/fonts/nunito200/nunito-sans-v3-latin-200italic.woff -------------------------------------------------------------------------------- /email_loading/src/fonts/nunito200/nunito-sans-v3-latin-200italic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_loading/src/fonts/nunito200/nunito-sans-v3-latin-200italic.woff2 -------------------------------------------------------------------------------- /email_loading/src/fonts/nunito300/nunito-sans-v3-latin-300.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_loading/src/fonts/nunito300/nunito-sans-v3-latin-300.eot -------------------------------------------------------------------------------- /email_loading/src/fonts/nunito300/nunito-sans-v3-latin-300.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_loading/src/fonts/nunito300/nunito-sans-v3-latin-300.ttf -------------------------------------------------------------------------------- /email_loading/src/fonts/nunito300/nunito-sans-v3-latin-300.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_loading/src/fonts/nunito300/nunito-sans-v3-latin-300.woff -------------------------------------------------------------------------------- /email_loading/src/fonts/nunito300/nunito-sans-v3-latin-300.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_loading/src/fonts/nunito300/nunito-sans-v3-latin-300.woff2 -------------------------------------------------------------------------------- /email_loading/src/fonts/nunito300/nunito-sans-v3-latin-300italic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_loading/src/fonts/nunito300/nunito-sans-v3-latin-300italic.eot -------------------------------------------------------------------------------- /email_loading/src/fonts/nunito300/nunito-sans-v3-latin-300italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_loading/src/fonts/nunito300/nunito-sans-v3-latin-300italic.ttf -------------------------------------------------------------------------------- /email_loading/src/fonts/nunito300/nunito-sans-v3-latin-300italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_loading/src/fonts/nunito300/nunito-sans-v3-latin-300italic.woff -------------------------------------------------------------------------------- /email_loading/src/fonts/nunito300/nunito-sans-v3-latin-300italic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_loading/src/fonts/nunito300/nunito-sans-v3-latin-300italic.woff2 -------------------------------------------------------------------------------- /email_loading/src/fonts/nunito600/nunito-sans-v3-latin-600.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_loading/src/fonts/nunito600/nunito-sans-v3-latin-600.eot -------------------------------------------------------------------------------- /email_loading/src/fonts/nunito600/nunito-sans-v3-latin-600.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_loading/src/fonts/nunito600/nunito-sans-v3-latin-600.ttf -------------------------------------------------------------------------------- /email_loading/src/fonts/nunito600/nunito-sans-v3-latin-600.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_loading/src/fonts/nunito600/nunito-sans-v3-latin-600.woff -------------------------------------------------------------------------------- /email_loading/src/fonts/nunito600/nunito-sans-v3-latin-600.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_loading/src/fonts/nunito600/nunito-sans-v3-latin-600.woff2 -------------------------------------------------------------------------------- /email_loading/src/fonts/nunito600/nunito-sans-v3-latin-600italic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_loading/src/fonts/nunito600/nunito-sans-v3-latin-600italic.eot -------------------------------------------------------------------------------- /email_loading/src/fonts/nunito600/nunito-sans-v3-latin-600italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_loading/src/fonts/nunito600/nunito-sans-v3-latin-600italic.ttf -------------------------------------------------------------------------------- /email_loading/src/fonts/nunito600/nunito-sans-v3-latin-600italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_loading/src/fonts/nunito600/nunito-sans-v3-latin-600italic.woff -------------------------------------------------------------------------------- /email_loading/src/fonts/nunito600/nunito-sans-v3-latin-600italic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_loading/src/fonts/nunito600/nunito-sans-v3-latin-600italic.woff2 -------------------------------------------------------------------------------- /email_loading/src/fonts/nunito700/nunito-sans-v3-latin-700.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_loading/src/fonts/nunito700/nunito-sans-v3-latin-700.eot -------------------------------------------------------------------------------- /email_loading/src/fonts/nunito700/nunito-sans-v3-latin-700.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_loading/src/fonts/nunito700/nunito-sans-v3-latin-700.ttf -------------------------------------------------------------------------------- /email_loading/src/fonts/nunito700/nunito-sans-v3-latin-700.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_loading/src/fonts/nunito700/nunito-sans-v3-latin-700.woff -------------------------------------------------------------------------------- /email_loading/src/fonts/nunito700/nunito-sans-v3-latin-700.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_loading/src/fonts/nunito700/nunito-sans-v3-latin-700.woff2 -------------------------------------------------------------------------------- /email_loading/src/fonts/nunito700/nunito-sans-v3-latin-700italic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_loading/src/fonts/nunito700/nunito-sans-v3-latin-700italic.eot -------------------------------------------------------------------------------- /email_loading/src/fonts/nunito700/nunito-sans-v3-latin-700italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_loading/src/fonts/nunito700/nunito-sans-v3-latin-700italic.ttf -------------------------------------------------------------------------------- /email_loading/src/fonts/nunito700/nunito-sans-v3-latin-700italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_loading/src/fonts/nunito700/nunito-sans-v3-latin-700italic.woff -------------------------------------------------------------------------------- /email_loading/src/fonts/nunito700/nunito-sans-v3-latin-700italic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_loading/src/fonts/nunito700/nunito-sans-v3-latin-700italic.woff2 -------------------------------------------------------------------------------- /email_loading/src/fonts/nunito800/nunito-sans-v3-latin-800.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_loading/src/fonts/nunito800/nunito-sans-v3-latin-800.eot -------------------------------------------------------------------------------- /email_loading/src/fonts/nunito800/nunito-sans-v3-latin-800.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_loading/src/fonts/nunito800/nunito-sans-v3-latin-800.ttf -------------------------------------------------------------------------------- /email_loading/src/fonts/nunito800/nunito-sans-v3-latin-800.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_loading/src/fonts/nunito800/nunito-sans-v3-latin-800.woff -------------------------------------------------------------------------------- /email_loading/src/fonts/nunito800/nunito-sans-v3-latin-800.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_loading/src/fonts/nunito800/nunito-sans-v3-latin-800.woff2 -------------------------------------------------------------------------------- /email_loading/src/fonts/nunito800/nunito-sans-v3-latin-800italic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_loading/src/fonts/nunito800/nunito-sans-v3-latin-800italic.eot -------------------------------------------------------------------------------- /email_loading/src/fonts/nunito800/nunito-sans-v3-latin-800italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_loading/src/fonts/nunito800/nunito-sans-v3-latin-800italic.ttf -------------------------------------------------------------------------------- /email_loading/src/fonts/nunito800/nunito-sans-v3-latin-800italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_loading/src/fonts/nunito800/nunito-sans-v3-latin-800italic.woff -------------------------------------------------------------------------------- /email_loading/src/fonts/nunito800/nunito-sans-v3-latin-800italic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_loading/src/fonts/nunito800/nunito-sans-v3-latin-800italic.woff2 -------------------------------------------------------------------------------- /email_loading/src/fonts/nunito900/nunito-sans-v3-latin-900.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_loading/src/fonts/nunito900/nunito-sans-v3-latin-900.eot -------------------------------------------------------------------------------- /email_loading/src/fonts/nunito900/nunito-sans-v3-latin-900.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_loading/src/fonts/nunito900/nunito-sans-v3-latin-900.ttf -------------------------------------------------------------------------------- /email_loading/src/fonts/nunito900/nunito-sans-v3-latin-900.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_loading/src/fonts/nunito900/nunito-sans-v3-latin-900.woff -------------------------------------------------------------------------------- /email_loading/src/fonts/nunito900/nunito-sans-v3-latin-900.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_loading/src/fonts/nunito900/nunito-sans-v3-latin-900.woff2 -------------------------------------------------------------------------------- /email_loading/src/fonts/nunito900/nunito-sans-v3-latin-900italic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_loading/src/fonts/nunito900/nunito-sans-v3-latin-900italic.eot -------------------------------------------------------------------------------- /email_loading/src/fonts/nunito900/nunito-sans-v3-latin-900italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_loading/src/fonts/nunito900/nunito-sans-v3-latin-900italic.ttf -------------------------------------------------------------------------------- /email_loading/src/fonts/nunito900/nunito-sans-v3-latin-900italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_loading/src/fonts/nunito900/nunito-sans-v3-latin-900italic.woff -------------------------------------------------------------------------------- /email_loading/src/fonts/nunito900/nunito-sans-v3-latin-900italic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_loading/src/fonts/nunito900/nunito-sans-v3-latin-900italic.woff2 -------------------------------------------------------------------------------- /email_loading/src/index.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import ReactDOM from 'react-dom'; 3 | import App from './App'; 4 | 5 | ReactDOM.render(, document.getElementById('root')); 6 | -------------------------------------------------------------------------------- /email_loading/src/lang/index.js: -------------------------------------------------------------------------------- 1 | import LocalizedStrings from 'react-localization'; 2 | import { mySettings } from '../utils/electronInterface'; 3 | import en from './en.json'; 4 | import es from './es.json'; 5 | import de from './de.json'; 6 | import fr from './fr.json'; 7 | import ru from './ru.json'; 8 | 9 | const string = new LocalizedStrings({ 10 | en, 11 | es, 12 | de, 13 | fr, 14 | ru 15 | }); 16 | 17 | string.setLanguage(mySettings.language); 18 | 19 | export const setLang = lang => { 20 | string.setLanguage(lang); 21 | }; 22 | 23 | export default string; 24 | -------------------------------------------------------------------------------- /email_loading/src/utils/BytesUtils.js: -------------------------------------------------------------------------------- 1 | /* eslint no-undef: 0 */ 2 | 3 | export const ArrayBufferToBuffer = ab => { 4 | const buffer = new Buffer(ab.byteLength); 5 | const view = new Uint8Array(ab); 6 | for (let i = 0; i < buffer.length; ++i) { 7 | buffer[i] = view[i]; 8 | } 9 | return buffer; 10 | }; 11 | -------------------------------------------------------------------------------- /email_loading/src/utils/CustomError.js: -------------------------------------------------------------------------------- 1 | export const CustomError = params => { 2 | const customError = new Error(); 3 | customError.name = params.name || 'Error'; 4 | customError.message = 5 | params.message || params.description || 'Error creating user'; 6 | return customError; 7 | }; 8 | -------------------------------------------------------------------------------- /email_loading/src/utils/StringUtils.js: -------------------------------------------------------------------------------- 1 | export const splitSignalIdentifier = identifier => { 2 | const parts = identifier.split('.'); 3 | const deviceId = Number(parts.pop()); 4 | const recipientId = parts.join('.'); 5 | return { recipientId, deviceId }; 6 | }; 7 | -------------------------------------------------------------------------------- /email_loading/src/utils/TimeUtils.js: -------------------------------------------------------------------------------- 1 | export const parseRateLimitBlockingTime = secondsString => { 2 | let seconds = Number(String(secondsString)); 3 | const hours = Math.floor(seconds / 3600); 4 | seconds %= 3600; 5 | const minutes = Math.floor(seconds / 60); 6 | return `${hours ? `${hours}h ` : ''}${minutes ? `${minutes}min` : ''}`; 7 | }; 8 | -------------------------------------------------------------------------------- /email_loading/src/utils/const.js: -------------------------------------------------------------------------------- 1 | /*global process */ 2 | export const appDomain = 3 | process.env.NODE_ENV === 'development' 4 | ? process.env.REACT_APP_APPDOMAIN 5 | : 'criptext.com'; 6 | 7 | export const DEVICE_TYPE = 1; 8 | export const IOS_TYPE = 2; 9 | export const ANDROID_TYPE = 3; 10 | 11 | export const SocketCommand = { 12 | DATA_UPLOADED: 204 13 | }; 14 | -------------------------------------------------------------------------------- /email_loading/src/utils/linkDeviceUtils.js: -------------------------------------------------------------------------------- 1 | import { DEVICE_TYPE, IOS_TYPE, ANDROID_TYPE } from './const'; 2 | 3 | export const defineDeviceIcon = deviceType => { 4 | switch (deviceType) { 5 | case DEVICE_TYPE: 6 | return 'icon-desktop'; 7 | case IOS_TYPE: 8 | case ANDROID_TYPE: { 9 | return 'icon-mobile'; 10 | } 11 | default: 12 | return 'icon-desktop'; 13 | } 14 | }; 15 | -------------------------------------------------------------------------------- /email_login/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_login/public/favicon.ico -------------------------------------------------------------------------------- /email_login/public/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "short_name": "React App", 3 | "name": "Create React App Sample", 4 | "icons": [ 5 | { 6 | "src": "favicon.ico", 7 | "sizes": "64x64 32x32 24x24 16x16", 8 | "type": "image/x-icon" 9 | } 10 | ], 11 | "start_url": "./index.html", 12 | "display": "standalone", 13 | "theme_color": "#000000", 14 | "background_color": "#ffffff" 15 | } 16 | -------------------------------------------------------------------------------- /email_login/src/SignUpClient.js: -------------------------------------------------------------------------------- 1 | export const createUser = body => 2 | fetch('/user', { 3 | method: 'POST', 4 | body 5 | }).then(res => res.json()); 6 | -------------------------------------------------------------------------------- /email_login/src/components/SignUpErrorMsgs.js: -------------------------------------------------------------------------------- 1 | import string from './../lang'; 2 | 3 | const { errorMessages } = string.signUp; 4 | 5 | export const USERNAME_INVALID = errorMessages.USERNAME_INVALID; 6 | export const USERNAME_EXISTS = errorMessages.USERNAME_EXISTS; 7 | export const USERNAME_UNCERTAIN = errorMessages.USERNAME_UNCERTAIN; 8 | export const STATUS_UNKNOWN = errorMessages.STATUS_UNKNOWN; 9 | export const FULLNAME_INVALID = errorMessages.FULLNAME_INVALID; 10 | export const PASSWORD_INVALID = errorMessages.PASSWORD_INVALID; 11 | export const PASSWORD_NOMATCH = errorMessages.PASSWORD_NOMATCH; 12 | export const EMAIL_INVALID = errorMessages.EMAIL_INVALID; 13 | -------------------------------------------------------------------------------- /email_login/src/components/SignUpModel.js: -------------------------------------------------------------------------------- 1 | import { toBeConfirmed } from './SignUpSymbols'; 2 | 3 | export const shouldDisableSubmitButton = state => { 4 | return Object.values(state.errors).some( 5 | errMsg => (typeof errMsg === 'string') | (errMsg === toBeConfirmed) 6 | ); 7 | }; 8 | -------------------------------------------------------------------------------- /email_login/src/components/SignUpSymbols.js: -------------------------------------------------------------------------------- 1 | export const toBeConfirmed = Symbol('toBeConfirmed'); 2 | export const optionallyEmpty = Symbol('optionallyEmpty'); 3 | -------------------------------------------------------------------------------- /email_login/src/components/deletedevicepopup.scss: -------------------------------------------------------------------------------- 1 | #popup-delete-device { 2 | .popup-scroll { 3 | border-bottom: solid 1px rgba(143, 143, 143, 0.42); 4 | border-top: solid 1px rgba(143, 143, 143, 0.42); 5 | height: 270px; 6 | margin-left: -25px; 7 | margin-top: 20px; 8 | width: calc(100% + 50px); 9 | 10 | ul { 11 | margin: 0; 12 | padding: 0; 13 | } 14 | } 15 | 16 | .popup-input { 17 | margin: 0 auto; 18 | width: 90%; 19 | } 20 | 21 | .popup-confirm-button{ 22 | width: auto; 23 | span{ 24 | padding: 0 15px; 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /email_login/src/components/recoverycodepopup.scss: -------------------------------------------------------------------------------- 1 | .recovery-code-input-error { 2 | width: calc(100% - 40px); 3 | height: 10px; 4 | padding-left: 20px; 5 | } 6 | 7 | .recovery-code-input { 8 | border-bottom: solid 1px rgba(143, 143, 143, 0.42); 9 | font-size: 20px; 10 | margin-top: 5px; 11 | width: calc(100% - 40px); 12 | } 13 | -------------------------------------------------------------------------------- /email_login/src/components/upgradetoplus.scss: -------------------------------------------------------------------------------- 1 | @import "./../styles/index.scss"; 2 | 3 | .popup-image { 4 | background-image: url(../#{$_PATH_TO_IMAGES}/upgrade-plus-remove.svg); 5 | height: 106px; 6 | background-repeat: no-repeat; 7 | background-position-x: center; 8 | margin-bottom: 25px; 9 | } -------------------------------------------------------------------------------- /email_login/src/fonts/icon.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_login/src/fonts/icon.eot -------------------------------------------------------------------------------- /email_login/src/fonts/icon.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_login/src/fonts/icon.ttf -------------------------------------------------------------------------------- /email_login/src/fonts/icon.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_login/src/fonts/icon.woff -------------------------------------------------------------------------------- /email_login/src/fonts/nunito/nunito-sans-v3-latin-italic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_login/src/fonts/nunito/nunito-sans-v3-latin-italic.eot -------------------------------------------------------------------------------- /email_login/src/fonts/nunito/nunito-sans-v3-latin-italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_login/src/fonts/nunito/nunito-sans-v3-latin-italic.ttf -------------------------------------------------------------------------------- /email_login/src/fonts/nunito/nunito-sans-v3-latin-italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_login/src/fonts/nunito/nunito-sans-v3-latin-italic.woff -------------------------------------------------------------------------------- /email_login/src/fonts/nunito/nunito-sans-v3-latin-italic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_login/src/fonts/nunito/nunito-sans-v3-latin-italic.woff2 -------------------------------------------------------------------------------- /email_login/src/fonts/nunito/nunito-sans-v3-latin-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_login/src/fonts/nunito/nunito-sans-v3-latin-regular.eot -------------------------------------------------------------------------------- /email_login/src/fonts/nunito/nunito-sans-v3-latin-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_login/src/fonts/nunito/nunito-sans-v3-latin-regular.ttf -------------------------------------------------------------------------------- /email_login/src/fonts/nunito/nunito-sans-v3-latin-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_login/src/fonts/nunito/nunito-sans-v3-latin-regular.woff -------------------------------------------------------------------------------- /email_login/src/fonts/nunito/nunito-sans-v3-latin-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_login/src/fonts/nunito/nunito-sans-v3-latin-regular.woff2 -------------------------------------------------------------------------------- /email_login/src/fonts/nunito200/nunito-sans-v3-latin-200.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_login/src/fonts/nunito200/nunito-sans-v3-latin-200.eot -------------------------------------------------------------------------------- /email_login/src/fonts/nunito200/nunito-sans-v3-latin-200.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_login/src/fonts/nunito200/nunito-sans-v3-latin-200.ttf -------------------------------------------------------------------------------- /email_login/src/fonts/nunito200/nunito-sans-v3-latin-200.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_login/src/fonts/nunito200/nunito-sans-v3-latin-200.woff -------------------------------------------------------------------------------- /email_login/src/fonts/nunito200/nunito-sans-v3-latin-200.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_login/src/fonts/nunito200/nunito-sans-v3-latin-200.woff2 -------------------------------------------------------------------------------- /email_login/src/fonts/nunito200/nunito-sans-v3-latin-200italic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_login/src/fonts/nunito200/nunito-sans-v3-latin-200italic.eot -------------------------------------------------------------------------------- /email_login/src/fonts/nunito200/nunito-sans-v3-latin-200italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_login/src/fonts/nunito200/nunito-sans-v3-latin-200italic.ttf -------------------------------------------------------------------------------- /email_login/src/fonts/nunito200/nunito-sans-v3-latin-200italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_login/src/fonts/nunito200/nunito-sans-v3-latin-200italic.woff -------------------------------------------------------------------------------- /email_login/src/fonts/nunito200/nunito-sans-v3-latin-200italic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_login/src/fonts/nunito200/nunito-sans-v3-latin-200italic.woff2 -------------------------------------------------------------------------------- /email_login/src/fonts/nunito300/nunito-sans-v3-latin-300.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_login/src/fonts/nunito300/nunito-sans-v3-latin-300.eot -------------------------------------------------------------------------------- /email_login/src/fonts/nunito300/nunito-sans-v3-latin-300.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_login/src/fonts/nunito300/nunito-sans-v3-latin-300.ttf -------------------------------------------------------------------------------- /email_login/src/fonts/nunito300/nunito-sans-v3-latin-300.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_login/src/fonts/nunito300/nunito-sans-v3-latin-300.woff -------------------------------------------------------------------------------- /email_login/src/fonts/nunito300/nunito-sans-v3-latin-300.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_login/src/fonts/nunito300/nunito-sans-v3-latin-300.woff2 -------------------------------------------------------------------------------- /email_login/src/fonts/nunito300/nunito-sans-v3-latin-300italic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_login/src/fonts/nunito300/nunito-sans-v3-latin-300italic.eot -------------------------------------------------------------------------------- /email_login/src/fonts/nunito300/nunito-sans-v3-latin-300italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_login/src/fonts/nunito300/nunito-sans-v3-latin-300italic.ttf -------------------------------------------------------------------------------- /email_login/src/fonts/nunito300/nunito-sans-v3-latin-300italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_login/src/fonts/nunito300/nunito-sans-v3-latin-300italic.woff -------------------------------------------------------------------------------- /email_login/src/fonts/nunito300/nunito-sans-v3-latin-300italic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_login/src/fonts/nunito300/nunito-sans-v3-latin-300italic.woff2 -------------------------------------------------------------------------------- /email_login/src/fonts/nunito600/nunito-sans-v3-latin-600.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_login/src/fonts/nunito600/nunito-sans-v3-latin-600.eot -------------------------------------------------------------------------------- /email_login/src/fonts/nunito600/nunito-sans-v3-latin-600.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_login/src/fonts/nunito600/nunito-sans-v3-latin-600.ttf -------------------------------------------------------------------------------- /email_login/src/fonts/nunito600/nunito-sans-v3-latin-600.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_login/src/fonts/nunito600/nunito-sans-v3-latin-600.woff -------------------------------------------------------------------------------- /email_login/src/fonts/nunito600/nunito-sans-v3-latin-600.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_login/src/fonts/nunito600/nunito-sans-v3-latin-600.woff2 -------------------------------------------------------------------------------- /email_login/src/fonts/nunito600/nunito-sans-v3-latin-600italic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_login/src/fonts/nunito600/nunito-sans-v3-latin-600italic.eot -------------------------------------------------------------------------------- /email_login/src/fonts/nunito600/nunito-sans-v3-latin-600italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_login/src/fonts/nunito600/nunito-sans-v3-latin-600italic.ttf -------------------------------------------------------------------------------- /email_login/src/fonts/nunito600/nunito-sans-v3-latin-600italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_login/src/fonts/nunito600/nunito-sans-v3-latin-600italic.woff -------------------------------------------------------------------------------- /email_login/src/fonts/nunito600/nunito-sans-v3-latin-600italic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_login/src/fonts/nunito600/nunito-sans-v3-latin-600italic.woff2 -------------------------------------------------------------------------------- /email_login/src/fonts/nunito700/nunito-sans-v3-latin-700.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_login/src/fonts/nunito700/nunito-sans-v3-latin-700.eot -------------------------------------------------------------------------------- /email_login/src/fonts/nunito700/nunito-sans-v3-latin-700.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_login/src/fonts/nunito700/nunito-sans-v3-latin-700.ttf -------------------------------------------------------------------------------- /email_login/src/fonts/nunito700/nunito-sans-v3-latin-700.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_login/src/fonts/nunito700/nunito-sans-v3-latin-700.woff -------------------------------------------------------------------------------- /email_login/src/fonts/nunito700/nunito-sans-v3-latin-700.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_login/src/fonts/nunito700/nunito-sans-v3-latin-700.woff2 -------------------------------------------------------------------------------- /email_login/src/fonts/nunito700/nunito-sans-v3-latin-700italic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_login/src/fonts/nunito700/nunito-sans-v3-latin-700italic.eot -------------------------------------------------------------------------------- /email_login/src/fonts/nunito700/nunito-sans-v3-latin-700italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_login/src/fonts/nunito700/nunito-sans-v3-latin-700italic.ttf -------------------------------------------------------------------------------- /email_login/src/fonts/nunito700/nunito-sans-v3-latin-700italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_login/src/fonts/nunito700/nunito-sans-v3-latin-700italic.woff -------------------------------------------------------------------------------- /email_login/src/fonts/nunito700/nunito-sans-v3-latin-700italic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_login/src/fonts/nunito700/nunito-sans-v3-latin-700italic.woff2 -------------------------------------------------------------------------------- /email_login/src/fonts/nunito800/nunito-sans-v3-latin-800.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_login/src/fonts/nunito800/nunito-sans-v3-latin-800.eot -------------------------------------------------------------------------------- /email_login/src/fonts/nunito800/nunito-sans-v3-latin-800.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_login/src/fonts/nunito800/nunito-sans-v3-latin-800.ttf -------------------------------------------------------------------------------- /email_login/src/fonts/nunito800/nunito-sans-v3-latin-800.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_login/src/fonts/nunito800/nunito-sans-v3-latin-800.woff -------------------------------------------------------------------------------- /email_login/src/fonts/nunito800/nunito-sans-v3-latin-800.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_login/src/fonts/nunito800/nunito-sans-v3-latin-800.woff2 -------------------------------------------------------------------------------- /email_login/src/fonts/nunito800/nunito-sans-v3-latin-800italic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_login/src/fonts/nunito800/nunito-sans-v3-latin-800italic.eot -------------------------------------------------------------------------------- /email_login/src/fonts/nunito800/nunito-sans-v3-latin-800italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_login/src/fonts/nunito800/nunito-sans-v3-latin-800italic.ttf -------------------------------------------------------------------------------- /email_login/src/fonts/nunito800/nunito-sans-v3-latin-800italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_login/src/fonts/nunito800/nunito-sans-v3-latin-800italic.woff -------------------------------------------------------------------------------- /email_login/src/fonts/nunito800/nunito-sans-v3-latin-800italic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_login/src/fonts/nunito800/nunito-sans-v3-latin-800italic.woff2 -------------------------------------------------------------------------------- /email_login/src/fonts/nunito900/nunito-sans-v3-latin-900.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_login/src/fonts/nunito900/nunito-sans-v3-latin-900.eot -------------------------------------------------------------------------------- /email_login/src/fonts/nunito900/nunito-sans-v3-latin-900.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_login/src/fonts/nunito900/nunito-sans-v3-latin-900.ttf -------------------------------------------------------------------------------- /email_login/src/fonts/nunito900/nunito-sans-v3-latin-900.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_login/src/fonts/nunito900/nunito-sans-v3-latin-900.woff -------------------------------------------------------------------------------- /email_login/src/fonts/nunito900/nunito-sans-v3-latin-900.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_login/src/fonts/nunito900/nunito-sans-v3-latin-900.woff2 -------------------------------------------------------------------------------- /email_login/src/fonts/nunito900/nunito-sans-v3-latin-900italic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_login/src/fonts/nunito900/nunito-sans-v3-latin-900italic.eot -------------------------------------------------------------------------------- /email_login/src/fonts/nunito900/nunito-sans-v3-latin-900italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_login/src/fonts/nunito900/nunito-sans-v3-latin-900italic.ttf -------------------------------------------------------------------------------- /email_login/src/fonts/nunito900/nunito-sans-v3-latin-900italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_login/src/fonts/nunito900/nunito-sans-v3-latin-900italic.woff -------------------------------------------------------------------------------- /email_login/src/fonts/nunito900/nunito-sans-v3-latin-900italic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_login/src/fonts/nunito900/nunito-sans-v3-latin-900italic.woff2 -------------------------------------------------------------------------------- /email_login/src/images/img-card-dm.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /email_login/src/images/img-card.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /email_login/src/images/img-subtitle-dm.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Better Email 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /email_login/src/images/key-light.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /email_login/src/images/logo-2-copy@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_login/src/images/logo-2-copy@2x.png -------------------------------------------------------------------------------- /email_login/src/index.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import ReactDOM from 'react-dom'; 3 | import ElectronApp from './ElectronApp'; 4 | 5 | ReactDOM.render(, document.getElementById('root')); 6 | -------------------------------------------------------------------------------- /email_login/src/lang/index.js: -------------------------------------------------------------------------------- 1 | import LocalizedStrings from 'react-localization'; 2 | import { mySettings } from '../utils/electronInterface.js'; 3 | import en from './en.json'; 4 | import es from './es.json'; 5 | import de from './de.json'; 6 | import fr from './fr.json'; 7 | import ru from './ru.json'; 8 | 9 | const string = new LocalizedStrings({ 10 | en, 11 | es, 12 | de, 13 | fr, 14 | ru 15 | }); 16 | 17 | string.setLanguage(mySettings ? mySettings.language : 'en'); 18 | 19 | export const setLang = lang => { 20 | string.setLanguage(lang); 21 | }; 22 | 23 | export const getLang = mySettings ? mySettings.language : 'en'; 24 | 25 | export default string; 26 | -------------------------------------------------------------------------------- /email_login/src/new-components/pin/pinstart.scss: -------------------------------------------------------------------------------- 1 | @import '../../styles/index.scss'; 2 | 3 | .pin-start-subtitle { 4 | font-size: 15px; 5 | margin-top: 12px; 6 | font-weight: 300; 7 | } 8 | 9 | @mixin themable($_THEME, $_TEXT_OPAQUE_COLOR){ 10 | [data-theme^=#{$_THEME}], 11 | [data-theme] [data-theme^=#{$_THEME}] { 12 | .pin-start-subtitle { 13 | color: $_TEXT_OPAQUE_COLOR; 14 | } 15 | } 16 | } 17 | 18 | @include themable($_THEME_LIGHT, $_TEXT_OPAQUE_COLOR_LIGHT); 19 | @include themable($_THEME_DARK, $_TEXT_OPAQUE_COLOR_DARK); -------------------------------------------------------------------------------- /email_login/src/new-components/setup/backupwrapper.scss: -------------------------------------------------------------------------------- 1 | @import '../../styles/index.scss'; 2 | 3 | .setup-backup { 4 | > div { 5 | color: #505050; 6 | font-size: 16px; 7 | margin-top: 48px; 8 | font-weight: 300; 9 | } 10 | } 11 | 12 | @mixin themable($_THEME, $_TEXT_OPAQUE_COLOR){ 13 | [data-theme^=#{$_THEME}], 14 | [data-theme] [data-theme^=#{$_THEME}] { 15 | .setup-backup { 16 | > div { 17 | color: $_TEXT_OPAQUE_COLOR; 18 | } 19 | } 20 | } 21 | } 22 | 23 | @include themable($_THEME_LIGHT, $_TEXT_OPAQUE_COLOR_LIGHT); 24 | @include themable($_THEME_DARK, $_TEXT_OPAQUE_COLOR_DARK); -------------------------------------------------------------------------------- /email_login/src/new-components/templates/OverlayLoader.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import string from '../../lang'; 3 | 4 | import './overlayloader.scss'; 5 | 6 | const { create } = string.newSignUp; 7 | 8 | const OverlayLoader = () => { 9 | return ( 10 |
11 |
12 |
13 |
14 | {create.creating} 15 |
16 |
17 | ); 18 | }; 19 | 20 | export default OverlayLoader; 21 | -------------------------------------------------------------------------------- /email_login/src/new-components/templates/errorpopup.scss: -------------------------------------------------------------------------------- 1 | .error-popup-content { 2 | display: flex; 3 | flex-direction: column; 4 | align-items: center; 5 | width: 265px; 6 | 7 | h1 { 8 | font-size: 16px; 9 | margin-top: 25px; 10 | margin-bottom: 0px; 11 | } 12 | 13 | p { 14 | margin: 30px 0px; 15 | font-size: 13px; 16 | text-align: center; 17 | padding: 0px 33px; 18 | } 19 | 20 | .popup-buttons { 21 | button { 22 | margin: 0px 0px 25px 0px; 23 | padding: 0px 30px; 24 | height: 28px; 25 | border-radius: 14px; 26 | background-color: #0091ff; 27 | color: white; 28 | } 29 | } 30 | } -------------------------------------------------------------------------------- /email_login/src/utils/CustomError.js: -------------------------------------------------------------------------------- 1 | export const CustomError = params => { 2 | const customError = new Error(); 3 | return { 4 | ...customError, 5 | name: params.name || 'Error', 6 | message: params.message || params.description || 'Error creating user' 7 | }; 8 | }; 9 | -------------------------------------------------------------------------------- /email_login/src/utils/HashUtils.js: -------------------------------------------------------------------------------- 1 | import CryptoJS from 'crypto-js'; 2 | 3 | export const hashPassword = password => { 4 | const strngToHash = password; 5 | return CryptoJS.SHA256(strngToHash).toString(CryptoJS.enc.Base64); 6 | }; 7 | -------------------------------------------------------------------------------- /email_login/src/utils/RegexUtils.js: -------------------------------------------------------------------------------- 1 | export const usernameRegex = /(?=^([a-z0-9]([._-]{0,2}[a-z0-9])+)$)(?:^.{3,64}$)$/; 2 | -------------------------------------------------------------------------------- /email_login/src/utils/__mocks__/electronInterface.js: -------------------------------------------------------------------------------- 1 | export const requiredMinLength = { 2 | username: 3, 3 | fullname: 1, 4 | password: 8 5 | }; 6 | 7 | export const requiredMaxLength = { 8 | username: 255, 9 | fullname: 255, 10 | password: 255 11 | }; 12 | 13 | export const prevUsername = 'julian'; 14 | 15 | export const checkAvailableUsername = username => { 16 | if (username === prevUsername) { 17 | return { status: 400 }; 18 | } 19 | return { status: 200 }; 20 | }; 21 | 22 | export const mySettings = { 23 | language: 'en', 24 | opened: 1, 25 | theme: 'light' 26 | }; 27 | -------------------------------------------------------------------------------- /email_login/src/utils/plus.js: -------------------------------------------------------------------------------- 1 | export const isPlus = customerType => { 2 | return customerType > 0 && customerType < 3; 3 | }; 4 | -------------------------------------------------------------------------------- /email_login/src/web-index.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import ReactDOM from 'react-dom'; 3 | import WebApp from './WebApp'; 4 | 5 | ReactDOM.render(, document.getElementById('root')); 6 | -------------------------------------------------------------------------------- /email_login/src/webapp.scss: -------------------------------------------------------------------------------- 1 | @import './app.scss'; 2 | html { 3 | font-size: 16px; 4 | } 5 | 6 | .main-container { 7 | background: linear-gradient(to bottom, #00c4ff, #0091ff); 8 | height: 100%; 9 | display: flex; 10 | align-items: center; 11 | justify-content: center; 12 | overflow: auto; 13 | } 14 | 15 | @media screen and (max-width: 420px) { 16 | .signup { 17 | width: 90%; 18 | } 19 | } 20 | 21 | @media screen and (max-height: 660px) { 22 | .main-container { 23 | display: block; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /email_mailbox/public/contacts.json: -------------------------------------------------------------------------------- 1 | { 2 | "contacts": [ 3 | { 4 | "id": 1, 5 | "name": "Erika Perugachi", 6 | "email": "erika@criptext.com" 7 | }, 8 | { 9 | "id": 2, 10 | "name": "Isabel", 11 | "email": "isabel@criptext.com" 12 | } 13 | ] 14 | } -------------------------------------------------------------------------------- /email_mailbox/public/files.json: -------------------------------------------------------------------------------- 1 | { 2 | "files": [ 3 | { 4 | "token": "token1", 5 | "name": "Criptext_Image_2018_06_14.png", 6 | "readOnly": false, 7 | "size": 183241, 8 | "status": 1, 9 | "date": "2018-06-14T23:45:57.466Z", 10 | "emailId": 1 11 | } 12 | ] 13 | } -------------------------------------------------------------------------------- /email_mailbox/public/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "short_name": "React App", 3 | "name": "Create React App Sample", 4 | "icons": [ 5 | { 6 | "src": "favicon.ico", 7 | "sizes": "64x64 32x32 24x24 16x16", 8 | "type": "image/x-icon" 9 | } 10 | ], 11 | "start_url": "./index.html", 12 | "display": "standalone", 13 | "theme_color": "#000000", 14 | "background_color": "#ffffff" 15 | } 16 | -------------------------------------------------------------------------------- /email_mailbox/src/actions/accounts.js: -------------------------------------------------------------------------------- 1 | import { Account } from './types'; 2 | import { defineBadgeAccounts } from './../utils/AccountUtils'; 3 | 4 | export const updateAccounts = accounts => { 5 | return { 6 | type: Account.UPDATE_ACCOUNTS, 7 | accounts 8 | }; 9 | }; 10 | 11 | export const reloadAccounts = () => { 12 | return { 13 | type: Account.RELOAD_ACCOUNTS 14 | }; 15 | }; 16 | 17 | export const updateBadgeAccounts = () => { 18 | return async dispatch => { 19 | const accounts = await defineBadgeAccounts(); 20 | dispatch(updateAccounts(accounts)); 21 | }; 22 | }; 23 | -------------------------------------------------------------------------------- /email_mailbox/src/components/AccountDeletedPopup.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import PropTypes from 'prop-types'; 3 | import string from '../lang'; 4 | 5 | const { title, paragraphs } = string.popups.account_deleted; 6 | 7 | const AccountDeletedPopup = () => { 8 | return ( 9 |
10 |
11 |

{title}

12 |
13 |
14 |

{paragraphs.header}

15 |
16 |
17 | ); 18 | }; 19 | 20 | AccountDeletedPopup.propTypes = { 21 | title: PropTypes.string 22 | }; 23 | 24 | export default AccountDeletedPopup; 25 | -------------------------------------------------------------------------------- /email_mailbox/src/components/ButtonUnsendWrapper.js: -------------------------------------------------------------------------------- 1 | import React, { Component } from 'react'; 2 | import PropTypes from 'prop-types'; 3 | import ButtonUnsend from './ButtonUnsend'; 4 | 5 | class ButtonUnsendWrapper extends Component { 6 | render() { 7 | return ( 8 | 9 | ); 10 | } 11 | 12 | handleClick = ev => { 13 | if (ev) ev.stopPropagation(); 14 | this.props.onClick(true); 15 | }; 16 | } 17 | 18 | ButtonUnsendWrapper.propTypes = { 19 | onClick: PropTypes.func, 20 | status: PropTypes.number 21 | }; 22 | 23 | export default ButtonUnsendWrapper; 24 | -------------------------------------------------------------------------------- /email_mailbox/src/components/ContactTag.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import PropTypes from 'prop-types'; 3 | import './contacttag.scss'; 4 | 5 | const ContactTag = props => ( 6 | 7 | {props.contact.name ? ( 8 | {`${props.contact.name} `} 9 | ) : null} 10 | 11 | {props.contact.email} 12 | 13 | {!props.isLast ?
: null} 14 |
15 | ); 16 | 17 | ContactTag.propTypes = { 18 | contact: PropTypes.object, 19 | isLast: PropTypes.bool 20 | }; 21 | 22 | export default ContactTag; 23 | -------------------------------------------------------------------------------- /email_mailbox/src/components/DeviceRemovedPopup.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import PropTypes from 'prop-types'; 3 | 4 | const DeviceRemovedPopup = () => { 5 | return ( 6 |
7 |
8 |

Device Removed

9 |
10 |
11 |

This device was removed from another of your devices

12 |

The app will be closed in few seconds...

13 |
14 |
15 | ); 16 | }; 17 | 18 | DeviceRemovedPopup.propTypes = { 19 | title: PropTypes.string 20 | }; 21 | 22 | export default DeviceRemovedPopup; 23 | -------------------------------------------------------------------------------- /email_mailbox/src/components/ItemTooltip.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import PropTypes from 'prop-types'; 3 | import ReactTooltip from 'react-tooltip'; 4 | 5 | const ItemTooltip = props => ( 6 | 13 | {props.tip} 14 |
15 |
16 | ); 17 | 18 | ItemTooltip.propTypes = { 19 | target: PropTypes.string, 20 | tip: PropTypes.string 21 | }; 22 | 23 | export default ItemTooltip; 24 | -------------------------------------------------------------------------------- /email_mailbox/src/components/Label.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import PropTypes from 'prop-types'; 3 | import './label.scss'; 4 | 5 | const Label = props => ( 6 | 7 | {props.label.text} 8 | props.onClickDelete(props.label.id)} 11 | /> 12 | 13 | ); 14 | 15 | Label.propTypes = { 16 | label: PropTypes.object, 17 | onClickDelete: PropTypes.func 18 | }; 19 | 20 | export default Label; 21 | -------------------------------------------------------------------------------- /email_mailbox/src/components/SuspendedAccountPopup.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import string from '../lang'; 3 | 4 | const { title, paragraph } = string.popups.suspended_account; 5 | 6 | const SuspendedAccountPopup = () => { 7 | return ( 8 |
9 |
10 |

{title}

11 |
12 |
13 |

{paragraph}

14 |
15 |
16 | ); 17 | }; 18 | 19 | export default SuspendedAccountPopup; 20 | -------------------------------------------------------------------------------- /email_mailbox/src/components/buttoncircle.scss: -------------------------------------------------------------------------------- 1 | @import "./../styles/index.scss"; 2 | 3 | .button-circle{ 4 | color: #ffffff; 5 | line-height: normal; 6 | margin: 0 5px; 7 | width: 29px; 8 | height: 29px; 9 | background-color: rgba(247, 247, 248, 0.13); 10 | display: flex; 11 | align-items: center; 12 | justify-content: center; 13 | border-radius: 50%; 14 | border: 1px solid rgba(148, 148, 148, 0); 15 | cursor: pointer; 16 | 17 | &:hover{ 18 | border: solid 1px rgba(176, 178, 180, 0.5); 19 | } 20 | 21 | i{ 22 | background-color: transparent; 23 | font-size: 18px; 24 | opacity: 0.4; 25 | } 26 | } -------------------------------------------------------------------------------- /email_mailbox/src/components/buttonicon.scss: -------------------------------------------------------------------------------- 1 | @import "./../styles/index.scss"; 2 | 3 | .button-icon{ 4 | background-color: transparent; 5 | 6 | i{ 7 | font-size: 21px; 8 | } 9 | } 10 | 11 | /* THEME 12 | ----------------------------- */ 13 | @mixin themable($_THEME, $_COLOR_ICON_EMAIL_BUTTON_OPTION){ 14 | [data-theme^=#{$_THEME}], 15 | [data-theme] [data-theme^=#{$_THEME}] { 16 | .button-icon{ 17 | >i{ 18 | color: $_COLOR_ICON_EMAIL_BUTTON_OPTION; 19 | } 20 | } 21 | } 22 | } 23 | 24 | @include themable($_THEME_LIGHT, $_COLOR_ICON_EMAIL_BUTTON_OPTION_LIGHT); 25 | @include themable($_THEME_DARK, $_COLOR_ICON_EMAIL_BUTTON_OPTION_DARK); -------------------------------------------------------------------------------- /email_mailbox/src/components/changeaccountpopup.scss: -------------------------------------------------------------------------------- 1 | #cptx-change-account{ 2 | .cptx-linear-animate{ 3 | margin-top: 20px; 4 | } 5 | 6 | .popup-paragraph{ 7 | margin-top: 18px; 8 | 9 | p{ 10 | margin: 0; 11 | } 12 | } 13 | } -------------------------------------------------------------------------------- /email_mailbox/src/components/creatingbackupfilepopup.scss: -------------------------------------------------------------------------------- 1 | #creating-backup-file-popup { 2 | > .popup-paragraph { 3 | position: relative; 4 | left: 15px; 5 | display: flex; 6 | align-items: center; 7 | justify-content: center; 8 | margin-top: 10px; 9 | 10 | > .loading-ring { 11 | position: relative; 12 | top: -15px; 13 | margin-right: 5px; 14 | } 15 | } 16 | } -------------------------------------------------------------------------------- /email_mailbox/src/components/deleteaccountpopup.scss: -------------------------------------------------------------------------------- 1 | #popup-deleteaccount { 2 | > .popup-title { 3 | padding-top: 10px; 4 | } 5 | > .popup-paragraph { 6 | padding: 0px 10px 5px 10px; 7 | } 8 | .popup-delete-button{ 9 | background-color: #ff5555; 10 | } 11 | } -------------------------------------------------------------------------------- /email_mailbox/src/components/emailblocked.scss: -------------------------------------------------------------------------------- 1 | @import "./../styles/index.scss"; 2 | 3 | .email-more-menu{ 4 | background-color: transparent; 5 | border-radius: 6px; 6 | box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, 0.14); 7 | height: auto; 8 | padding: 10px 0; 9 | width: 204px; 10 | 11 | &:before{ 12 | content: ''; 13 | height: 0; 14 | width: 0; 15 | position: absolute; 16 | top: 0; 17 | border-bottom: 6px solid transparent; 18 | border-right: 6px solid transparent; 19 | border-left: 6px solid transparent; 20 | } 21 | 22 | } -------------------------------------------------------------------------------- /email_mailbox/src/components/headerhoc.scss: -------------------------------------------------------------------------------- 1 | @import "./../styles/index.scss"; 2 | 3 | header.header-container{ 4 | background-color: #373a45; 5 | display: flex; 6 | height: $_HEIGHT_HEADER; 7 | justify-content: space-between; 8 | margin: 0; 9 | padding: 0; 10 | width: auto; 11 | 12 | .header-content{ 13 | background-color: transparent; 14 | flex-grow: 1; 15 | } 16 | } -------------------------------------------------------------------------------- /email_mailbox/src/components/headermain.scss: -------------------------------------------------------------------------------- 1 | $_HEADER_MAIN_PADDING_LEFT: 40px; 2 | $_HEADER_MAIN_PADDING_RIGHT: 25px; 3 | 4 | .header-main{ 5 | align-items: center; 6 | display: flex; 7 | height: 100%; 8 | justify-content: space-between; 9 | padding: 0 $_HEADER_MAIN_PADDING_RIGHT 0 $_HEADER_MAIN_PADDING_LEFT; 10 | width: calc(100% - (#{$_HEADER_MAIN_PADDING_RIGHT} + #{$_HEADER_MAIN_PADDING_LEFT})); 11 | 12 | > div{ 13 | display: flex; 14 | align-items: center; 15 | } 16 | } -------------------------------------------------------------------------------- /email_mailbox/src/components/label.scss: -------------------------------------------------------------------------------- 1 | .label-tag{ 2 | align-items: center; 3 | border-radius: 10px; 4 | color: white; 5 | display: flex; 6 | font-size: 12px; 7 | height: 21px; 8 | margin: 1px 10px 14px 0; 9 | padding: 0 3px 0 13px; 10 | white-space: nowrap; 11 | 12 | i{ 13 | background-color: transparent; 14 | color: rgba(255, 255, 255, 0.6); 15 | font-size: 20px; 16 | } 17 | } -------------------------------------------------------------------------------- /email_mailbox/src/components/labeladd.scss: -------------------------------------------------------------------------------- 1 | li{ 2 | &.nav-item-label-add{ 3 | color: #0091ff; 4 | white-space: nowrap; 5 | 6 | div{ 7 | align-items: center; 8 | display: flex; 9 | height: auto; 10 | margin: 0 0 0 49px; 11 | width: auto; 12 | 13 | i{ 14 | font-size: 17px; 15 | font-weight: bold; 16 | } 17 | } 18 | 19 | span{ 20 | color: #0091ff; 21 | font-weight: 300; 22 | margin-left: 5px; 23 | } 24 | 25 | input{ 26 | margin-left: 5px; 27 | } 28 | } 29 | } -------------------------------------------------------------------------------- /email_mailbox/src/components/loadingsync.scss: -------------------------------------------------------------------------------- 1 | .cptx-loading-sync-container{ 2 | align-items: center; 3 | display: flex; 4 | margin: 5px 0 0 10px; 5 | 6 | .cptx-loading-background{ 7 | background-color: #e9e9e9; 8 | border-radius: 4px; 9 | height: 4px; 10 | width: 55px; 11 | 12 | .cptx-loading-progress{ 13 | background-color: #43aeff; 14 | border-radius: 4px; 15 | height: 100%; 16 | width: 0; 17 | } 18 | } 19 | 20 | .cptx-loading-description{ 21 | display: flex; 22 | margin-left: 10px; 23 | 24 | span{ 25 | color: #a5a5a5; 26 | font-size: 9px; 27 | } 28 | } 29 | } -------------------------------------------------------------------------------- /email_mailbox/src/components/manualsyncdeviceauthenticationpopup.scss: -------------------------------------------------------------------------------- 1 | #popup-manual-sync-device-authentication { 2 | width: 240px; 3 | padding-top: 40px; 4 | padding-bottom: 30px; 5 | 6 | .popup-buttons { 7 | margin-top: 0px; 8 | margin-bottom: 10px; 9 | } 10 | 11 | .button-c { 12 | margin-top: 20px; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /email_mailbox/src/components/manualsyncdevicerejectedpopup.scss: -------------------------------------------------------------------------------- 1 | #popup-manual-sync-device-rejected { 2 | width: 240px; 3 | padding-top: 40px; 4 | padding-bottom: 30px; 5 | 6 | .popup-paragraph:nth-child(3) { 7 | font-size: 40px; 8 | color: #d13415; 9 | } 10 | } -------------------------------------------------------------------------------- /email_mailbox/src/components/manualsyncpopup.scss: -------------------------------------------------------------------------------- 1 | #popup-manual-sync { 2 | width: 200px; 3 | } -------------------------------------------------------------------------------- /email_mailbox/src/components/panel.scss: -------------------------------------------------------------------------------- 1 | .mailbox-linking-devices-backdrop { 2 | background-color: rgba(0, 0, 0, 0.54); 3 | width: 100%; 4 | height: 100%; 5 | position: absolute; 6 | top: 0; 7 | z-index: 3; 8 | } -------------------------------------------------------------------------------- /email_mailbox/src/components/removedevicepopup.scss: -------------------------------------------------------------------------------- 1 | #popup-removedevice{ 2 | .popup-inputs{ 3 | margin-top: 0; 4 | 5 | .popup-input{ 6 | margin-top: 0; 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /email_mailbox/src/components/restorebackupfromfilepopup.scss: -------------------------------------------------------------------------------- 1 | #restore-backup-from-file { 2 | width: 200px; 3 | padding: 55px 25px 20px 25px; 4 | 5 | > .file-details { 6 | margin-top: 15px; 7 | p { 8 | margin: 0px; 9 | } 10 | } 11 | 12 | > .popup-buttons { 13 | flex-direction: column; 14 | justify-content: space-between; 15 | margin-top: 30px; 16 | > button { 17 | width: 70%; 18 | margin: 0px auto; 19 | } 20 | > .popup-cancel-button { 21 | margin-top: 25px; 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /email_mailbox/src/components/restorebackupinvalidfilepopup.scss: -------------------------------------------------------------------------------- 1 | #restore-backup-invalid-file { 2 | width: 200px; 3 | padding-bottom: 15px; 4 | > .popup-paragraph { 5 | margin-bottom: 0px; 6 | } 7 | > .popup-buttons { 8 | flex-direction: column; 9 | justify-content: space-between; 10 | margin-top: 0px; 11 | > #change-backup-file-input { 12 | visibility: hidden; 13 | } 14 | > .popup-cancel-button { 15 | margin-top: 15px; 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /email_mailbox/src/components/restorebackuprequestpopup.scss: -------------------------------------------------------------------------------- 1 | #restore-backup-request { 2 | width: 200px; 3 | padding-bottom: 15px; 4 | > .popup-paragraph { 5 | margin-bottom: 0px; 6 | } 7 | > .popup-buttons { 8 | flex-direction: column; 9 | justify-content: space-between; 10 | margin-top: 0px; 11 | > #input-restore-backup { 12 | visibility: hidden; 13 | } 14 | > .popup-cancel-button { 15 | margin-top: 15px; 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /email_mailbox/src/components/settingblockmanualsync.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_mailbox/src/components/settingblockmanualsync.scss -------------------------------------------------------------------------------- /email_mailbox/src/components/settingblockreplyto.scss: -------------------------------------------------------------------------------- 1 | #settings-general-reply-to{ 2 | .cptx-section-item-control{ 3 | flex-direction: row; 4 | } 5 | } -------------------------------------------------------------------------------- /email_mailbox/src/components/settingsgenerallanguage.scss: -------------------------------------------------------------------------------- 1 | #settings-general-language{ 2 | .cptx-section-item-control{ 3 | top: 20px; 4 | } 5 | } -------------------------------------------------------------------------------- /email_mailbox/src/components/settingsgeneraltheme.scss: -------------------------------------------------------------------------------- 1 | #settings-general-theme{ 2 | .cptx-section-item-control{ 3 | top: 20px; 4 | } 5 | } -------------------------------------------------------------------------------- /email_mailbox/src/components/settingupgradepluss.scss: -------------------------------------------------------------------------------- 1 | .cptx-update-to-plus { 2 | height: calc(100% - 50px); 3 | position: relative; 4 | 5 | iframe { 6 | width: 100%; 7 | height: 100%; 8 | border: 0px; 9 | } 10 | 11 | .cptx-join-plus-loader { 12 | position: absolute; 13 | width: 20px; 14 | height: 30px; 15 | left: calc(50% - 10px); 16 | top: calc(50% - 50px); 17 | } 18 | 19 | .cptx-join-plus-visible { 20 | visibility: visible; 21 | } 22 | 23 | .cptx-join-plus-invisible { 24 | visibility: hidden; 25 | } 26 | } -------------------------------------------------------------------------------- /email_mailbox/src/components/standardoptions.scss: -------------------------------------------------------------------------------- 1 | .header-action{ 2 | background-color: transparent; 3 | display: flex; 4 | 5 | .labels-tooltip{ 6 | font-size: 10.5px !important; 7 | padding: 4px 16px !important; 8 | } 9 | } -------------------------------------------------------------------------------- /email_mailbox/src/components/twofactorauthenabledpopup.scss: -------------------------------------------------------------------------------- 1 | #popup-twofactorenabled { 2 | border-radius: 15px; 3 | width: 197px; 4 | height: 199px; 5 | } -------------------------------------------------------------------------------- /email_mailbox/src/components/upgradetopluspopup.scss: -------------------------------------------------------------------------------- 1 | @import "./../styles/index.scss"; 2 | 3 | .popup-image { 4 | height: 106px; 5 | background-repeat: no-repeat; 6 | background-position-x: center; 7 | margin-bottom: 25px; 8 | } 9 | 10 | .popup-image-alias { 11 | background-image: url(../#{$_PATH_TO_IMAGES}/img-aliases.svg); 12 | } 13 | 14 | .popup-image-custom-domains { 15 | background-image: url(../#{$_PATH_TO_IMAGES}/img-domain.svg); 16 | } -------------------------------------------------------------------------------- /email_mailbox/src/containers/ActivityPanelShortCut.js: -------------------------------------------------------------------------------- 1 | import { connect } from 'react-redux'; 2 | import ActivityPanelShortCutView from '../components/ActivityPanelShortCut'; 3 | 4 | const mapStateToProps = state => { 5 | const feedItems = state.get('feeditems'); 6 | const badge = feedItems.get('badge'); 7 | return { 8 | badge 9 | }; 10 | }; 11 | 12 | const ActivityPanelShortCut = connect(mapStateToProps)( 13 | ActivityPanelShortCutView 14 | ); 15 | 16 | export default ActivityPanelShortCut; 17 | -------------------------------------------------------------------------------- /email_mailbox/src/containers/SideBarLabelItem.js: -------------------------------------------------------------------------------- 1 | import { connect } from 'react-redux'; 2 | import { updateLabel } from '../actions'; 3 | import SideBarLabelItemView from '../components/SideBarLabelItemWrapper'; 4 | 5 | const mapDispatchToProps = (dispatch, ownProps) => { 6 | return { 7 | onUpdateLabel: text => { 8 | dispatch(updateLabel({ id: ownProps.id, text, uuid: ownProps.uuid })); 9 | } 10 | }; 11 | }; 12 | 13 | const SideBarLabelItem = connect(null, mapDispatchToProps)( 14 | SideBarLabelItemView 15 | ); 16 | 17 | export default SideBarLabelItem; 18 | -------------------------------------------------------------------------------- /email_mailbox/src/fonts/icon.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_mailbox/src/fonts/icon.eot -------------------------------------------------------------------------------- /email_mailbox/src/fonts/icon.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_mailbox/src/fonts/icon.ttf -------------------------------------------------------------------------------- /email_mailbox/src/fonts/icon.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_mailbox/src/fonts/icon.woff -------------------------------------------------------------------------------- /email_mailbox/src/fonts/nunito/nunito-sans-v3-latin-italic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_mailbox/src/fonts/nunito/nunito-sans-v3-latin-italic.eot -------------------------------------------------------------------------------- /email_mailbox/src/fonts/nunito/nunito-sans-v3-latin-italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_mailbox/src/fonts/nunito/nunito-sans-v3-latin-italic.ttf -------------------------------------------------------------------------------- /email_mailbox/src/fonts/nunito/nunito-sans-v3-latin-italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_mailbox/src/fonts/nunito/nunito-sans-v3-latin-italic.woff -------------------------------------------------------------------------------- /email_mailbox/src/fonts/nunito/nunito-sans-v3-latin-italic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_mailbox/src/fonts/nunito/nunito-sans-v3-latin-italic.woff2 -------------------------------------------------------------------------------- /email_mailbox/src/fonts/nunito/nunito-sans-v3-latin-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_mailbox/src/fonts/nunito/nunito-sans-v3-latin-regular.eot -------------------------------------------------------------------------------- /email_mailbox/src/fonts/nunito/nunito-sans-v3-latin-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_mailbox/src/fonts/nunito/nunito-sans-v3-latin-regular.ttf -------------------------------------------------------------------------------- /email_mailbox/src/fonts/nunito/nunito-sans-v3-latin-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_mailbox/src/fonts/nunito/nunito-sans-v3-latin-regular.woff -------------------------------------------------------------------------------- /email_mailbox/src/fonts/nunito/nunito-sans-v3-latin-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_mailbox/src/fonts/nunito/nunito-sans-v3-latin-regular.woff2 -------------------------------------------------------------------------------- /email_mailbox/src/fonts/nunito200/nunito-sans-v3-latin-200.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_mailbox/src/fonts/nunito200/nunito-sans-v3-latin-200.eot -------------------------------------------------------------------------------- /email_mailbox/src/fonts/nunito200/nunito-sans-v3-latin-200.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_mailbox/src/fonts/nunito200/nunito-sans-v3-latin-200.ttf -------------------------------------------------------------------------------- /email_mailbox/src/fonts/nunito200/nunito-sans-v3-latin-200.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_mailbox/src/fonts/nunito200/nunito-sans-v3-latin-200.woff -------------------------------------------------------------------------------- /email_mailbox/src/fonts/nunito200/nunito-sans-v3-latin-200.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_mailbox/src/fonts/nunito200/nunito-sans-v3-latin-200.woff2 -------------------------------------------------------------------------------- /email_mailbox/src/fonts/nunito200/nunito-sans-v3-latin-200italic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_mailbox/src/fonts/nunito200/nunito-sans-v3-latin-200italic.eot -------------------------------------------------------------------------------- /email_mailbox/src/fonts/nunito200/nunito-sans-v3-latin-200italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_mailbox/src/fonts/nunito200/nunito-sans-v3-latin-200italic.ttf -------------------------------------------------------------------------------- /email_mailbox/src/fonts/nunito200/nunito-sans-v3-latin-200italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_mailbox/src/fonts/nunito200/nunito-sans-v3-latin-200italic.woff -------------------------------------------------------------------------------- /email_mailbox/src/fonts/nunito200/nunito-sans-v3-latin-200italic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_mailbox/src/fonts/nunito200/nunito-sans-v3-latin-200italic.woff2 -------------------------------------------------------------------------------- /email_mailbox/src/fonts/nunito300/nunito-sans-v3-latin-300.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_mailbox/src/fonts/nunito300/nunito-sans-v3-latin-300.eot -------------------------------------------------------------------------------- /email_mailbox/src/fonts/nunito300/nunito-sans-v3-latin-300.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_mailbox/src/fonts/nunito300/nunito-sans-v3-latin-300.ttf -------------------------------------------------------------------------------- /email_mailbox/src/fonts/nunito300/nunito-sans-v3-latin-300.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_mailbox/src/fonts/nunito300/nunito-sans-v3-latin-300.woff -------------------------------------------------------------------------------- /email_mailbox/src/fonts/nunito300/nunito-sans-v3-latin-300.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_mailbox/src/fonts/nunito300/nunito-sans-v3-latin-300.woff2 -------------------------------------------------------------------------------- /email_mailbox/src/fonts/nunito300/nunito-sans-v3-latin-300italic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_mailbox/src/fonts/nunito300/nunito-sans-v3-latin-300italic.eot -------------------------------------------------------------------------------- /email_mailbox/src/fonts/nunito300/nunito-sans-v3-latin-300italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_mailbox/src/fonts/nunito300/nunito-sans-v3-latin-300italic.ttf -------------------------------------------------------------------------------- /email_mailbox/src/fonts/nunito300/nunito-sans-v3-latin-300italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_mailbox/src/fonts/nunito300/nunito-sans-v3-latin-300italic.woff -------------------------------------------------------------------------------- /email_mailbox/src/fonts/nunito300/nunito-sans-v3-latin-300italic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_mailbox/src/fonts/nunito300/nunito-sans-v3-latin-300italic.woff2 -------------------------------------------------------------------------------- /email_mailbox/src/fonts/nunito600/nunito-sans-v3-latin-600.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_mailbox/src/fonts/nunito600/nunito-sans-v3-latin-600.eot -------------------------------------------------------------------------------- /email_mailbox/src/fonts/nunito600/nunito-sans-v3-latin-600.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_mailbox/src/fonts/nunito600/nunito-sans-v3-latin-600.ttf -------------------------------------------------------------------------------- /email_mailbox/src/fonts/nunito600/nunito-sans-v3-latin-600.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_mailbox/src/fonts/nunito600/nunito-sans-v3-latin-600.woff -------------------------------------------------------------------------------- /email_mailbox/src/fonts/nunito600/nunito-sans-v3-latin-600.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_mailbox/src/fonts/nunito600/nunito-sans-v3-latin-600.woff2 -------------------------------------------------------------------------------- /email_mailbox/src/fonts/nunito600/nunito-sans-v3-latin-600italic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_mailbox/src/fonts/nunito600/nunito-sans-v3-latin-600italic.eot -------------------------------------------------------------------------------- /email_mailbox/src/fonts/nunito600/nunito-sans-v3-latin-600italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_mailbox/src/fonts/nunito600/nunito-sans-v3-latin-600italic.ttf -------------------------------------------------------------------------------- /email_mailbox/src/fonts/nunito600/nunito-sans-v3-latin-600italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_mailbox/src/fonts/nunito600/nunito-sans-v3-latin-600italic.woff -------------------------------------------------------------------------------- /email_mailbox/src/fonts/nunito600/nunito-sans-v3-latin-600italic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_mailbox/src/fonts/nunito600/nunito-sans-v3-latin-600italic.woff2 -------------------------------------------------------------------------------- /email_mailbox/src/fonts/nunito700/nunito-sans-v3-latin-700.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_mailbox/src/fonts/nunito700/nunito-sans-v3-latin-700.eot -------------------------------------------------------------------------------- /email_mailbox/src/fonts/nunito700/nunito-sans-v3-latin-700.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_mailbox/src/fonts/nunito700/nunito-sans-v3-latin-700.ttf -------------------------------------------------------------------------------- /email_mailbox/src/fonts/nunito700/nunito-sans-v3-latin-700.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_mailbox/src/fonts/nunito700/nunito-sans-v3-latin-700.woff -------------------------------------------------------------------------------- /email_mailbox/src/fonts/nunito700/nunito-sans-v3-latin-700.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_mailbox/src/fonts/nunito700/nunito-sans-v3-latin-700.woff2 -------------------------------------------------------------------------------- /email_mailbox/src/fonts/nunito700/nunito-sans-v3-latin-700italic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_mailbox/src/fonts/nunito700/nunito-sans-v3-latin-700italic.eot -------------------------------------------------------------------------------- /email_mailbox/src/fonts/nunito700/nunito-sans-v3-latin-700italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_mailbox/src/fonts/nunito700/nunito-sans-v3-latin-700italic.ttf -------------------------------------------------------------------------------- /email_mailbox/src/fonts/nunito700/nunito-sans-v3-latin-700italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_mailbox/src/fonts/nunito700/nunito-sans-v3-latin-700italic.woff -------------------------------------------------------------------------------- /email_mailbox/src/fonts/nunito700/nunito-sans-v3-latin-700italic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_mailbox/src/fonts/nunito700/nunito-sans-v3-latin-700italic.woff2 -------------------------------------------------------------------------------- /email_mailbox/src/fonts/nunito800/nunito-sans-v3-latin-800.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_mailbox/src/fonts/nunito800/nunito-sans-v3-latin-800.eot -------------------------------------------------------------------------------- /email_mailbox/src/fonts/nunito800/nunito-sans-v3-latin-800.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_mailbox/src/fonts/nunito800/nunito-sans-v3-latin-800.ttf -------------------------------------------------------------------------------- /email_mailbox/src/fonts/nunito800/nunito-sans-v3-latin-800.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_mailbox/src/fonts/nunito800/nunito-sans-v3-latin-800.woff -------------------------------------------------------------------------------- /email_mailbox/src/fonts/nunito800/nunito-sans-v3-latin-800.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_mailbox/src/fonts/nunito800/nunito-sans-v3-latin-800.woff2 -------------------------------------------------------------------------------- /email_mailbox/src/fonts/nunito800/nunito-sans-v3-latin-800italic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_mailbox/src/fonts/nunito800/nunito-sans-v3-latin-800italic.eot -------------------------------------------------------------------------------- /email_mailbox/src/fonts/nunito800/nunito-sans-v3-latin-800italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_mailbox/src/fonts/nunito800/nunito-sans-v3-latin-800italic.ttf -------------------------------------------------------------------------------- /email_mailbox/src/fonts/nunito800/nunito-sans-v3-latin-800italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_mailbox/src/fonts/nunito800/nunito-sans-v3-latin-800italic.woff -------------------------------------------------------------------------------- /email_mailbox/src/fonts/nunito800/nunito-sans-v3-latin-800italic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_mailbox/src/fonts/nunito800/nunito-sans-v3-latin-800italic.woff2 -------------------------------------------------------------------------------- /email_mailbox/src/fonts/nunito900/nunito-sans-v3-latin-900.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_mailbox/src/fonts/nunito900/nunito-sans-v3-latin-900.eot -------------------------------------------------------------------------------- /email_mailbox/src/fonts/nunito900/nunito-sans-v3-latin-900.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_mailbox/src/fonts/nunito900/nunito-sans-v3-latin-900.ttf -------------------------------------------------------------------------------- /email_mailbox/src/fonts/nunito900/nunito-sans-v3-latin-900.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_mailbox/src/fonts/nunito900/nunito-sans-v3-latin-900.woff -------------------------------------------------------------------------------- /email_mailbox/src/fonts/nunito900/nunito-sans-v3-latin-900.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_mailbox/src/fonts/nunito900/nunito-sans-v3-latin-900.woff2 -------------------------------------------------------------------------------- /email_mailbox/src/fonts/nunito900/nunito-sans-v3-latin-900italic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_mailbox/src/fonts/nunito900/nunito-sans-v3-latin-900italic.eot -------------------------------------------------------------------------------- /email_mailbox/src/fonts/nunito900/nunito-sans-v3-latin-900italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_mailbox/src/fonts/nunito900/nunito-sans-v3-latin-900italic.ttf -------------------------------------------------------------------------------- /email_mailbox/src/fonts/nunito900/nunito-sans-v3-latin-900italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_mailbox/src/fonts/nunito900/nunito-sans-v3-latin-900italic.woff -------------------------------------------------------------------------------- /email_mailbox/src/fonts/nunito900/nunito-sans-v3-latin-900italic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_mailbox/src/fonts/nunito900/nunito-sans-v3-latin-900italic.woff2 -------------------------------------------------------------------------------- /email_mailbox/src/fonts/roboto/Roboto-Black.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_mailbox/src/fonts/roboto/Roboto-Black.ttf -------------------------------------------------------------------------------- /email_mailbox/src/fonts/roboto/Roboto-BlackItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_mailbox/src/fonts/roboto/Roboto-BlackItalic.ttf -------------------------------------------------------------------------------- /email_mailbox/src/fonts/roboto/Roboto-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_mailbox/src/fonts/roboto/Roboto-Bold.ttf -------------------------------------------------------------------------------- /email_mailbox/src/fonts/roboto/Roboto-BoldItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_mailbox/src/fonts/roboto/Roboto-BoldItalic.ttf -------------------------------------------------------------------------------- /email_mailbox/src/fonts/roboto/Roboto-Italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_mailbox/src/fonts/roboto/Roboto-Italic.ttf -------------------------------------------------------------------------------- /email_mailbox/src/fonts/roboto/Roboto-Light.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_mailbox/src/fonts/roboto/Roboto-Light.ttf -------------------------------------------------------------------------------- /email_mailbox/src/fonts/roboto/Roboto-LightItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_mailbox/src/fonts/roboto/Roboto-LightItalic.ttf -------------------------------------------------------------------------------- /email_mailbox/src/fonts/roboto/Roboto-Medium.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_mailbox/src/fonts/roboto/Roboto-Medium.ttf -------------------------------------------------------------------------------- /email_mailbox/src/fonts/roboto/Roboto-MediumItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_mailbox/src/fonts/roboto/Roboto-MediumItalic.ttf -------------------------------------------------------------------------------- /email_mailbox/src/fonts/roboto/Roboto-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_mailbox/src/fonts/roboto/Roboto-Regular.ttf -------------------------------------------------------------------------------- /email_mailbox/src/fonts/roboto/Roboto-Thin.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_mailbox/src/fonts/roboto/Roboto-Thin.ttf -------------------------------------------------------------------------------- /email_mailbox/src/fonts/roboto/Roboto-ThinItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_mailbox/src/fonts/roboto/Roboto-ThinItalic.ttf -------------------------------------------------------------------------------- /email_mailbox/src/images/file-unsent.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_mailbox/src/images/file-unsent.png -------------------------------------------------------------------------------- /email_mailbox/src/images/image_blocked.svg: -------------------------------------------------------------------------------- 1 | Image Icon -------------------------------------------------------------------------------- /email_mailbox/src/images/key-dark.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /email_mailbox/src/images/key-light.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /email_mailbox/src/index.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import ReactDOM from 'react-dom'; 3 | import App from './App'; 4 | 5 | ReactDOM.render(, document.getElementById('root')); 6 | -------------------------------------------------------------------------------- /email_mailbox/src/reducers/__tests__/__snapshots__/contacts.js.snap: -------------------------------------------------------------------------------- 1 | // Jest Snapshot v1, https://goo.gl/fbAQLP 2 | 3 | exports[`contacts actions should add contacts 1`] = ` 4 | Immutable.Map { 5 | "1": Immutable.Map { 6 | "id": 1, 7 | "name": "Erika Perugachi", 8 | "email": "erika@criptext.com", 9 | }, 10 | "2": Immutable.Map { 11 | "id": 2, 12 | "name": "Isabel", 13 | "email": "isabel@criptext.com", 14 | }, 15 | } 16 | `; 17 | -------------------------------------------------------------------------------- /email_mailbox/src/reducers/__tests__/__snapshots__/files.js.snap: -------------------------------------------------------------------------------- 1 | // Jest Snapshot v1, https://goo.gl/fbAQLP 2 | 3 | exports[`File actions: should add files 1`] = ` 4 | Immutable.Map { 5 | "token1": Immutable.Map { 6 | "token": "token1", 7 | "name": "Criptext_Image_2018_06_14.png", 8 | "readOnly": false, 9 | "size": 183241, 10 | "status": 1, 11 | "date": "2018-06-14T23:45:57.466Z", 12 | "emailId": 1, 13 | }, 14 | } 15 | `; 16 | -------------------------------------------------------------------------------- /email_mailbox/src/reducers/__tests__/__snapshots__/labels.js.snap: -------------------------------------------------------------------------------- 1 | // Jest Snapshot v1, https://goo.gl/fbAQLP 2 | 3 | exports[`Label actions - ADD_BATCH should add labels to state 1`] = ` 4 | Immutable.Map { 5 | "1": Immutable.Map { 6 | "id": 1, 7 | "color": "#ffffff", 8 | "text": "Inbox", 9 | "badge": 1, 10 | "visible": true, 11 | }, 12 | } 13 | `; 14 | -------------------------------------------------------------------------------- /email_mailbox/src/selectors/accounts.js: -------------------------------------------------------------------------------- 1 | import { createSelector } from 'reselect'; 2 | import { compareAccounts } from '../utils/AccountUtils'; 3 | 4 | const getAccounts = state => state.get('accounts'); 5 | 6 | export const getAllAccounts = createSelector([getAccounts], accounts => 7 | defineAccounts(accounts) 8 | ); 9 | 10 | const defineAccounts = accounts => { 11 | const result = accounts.toArray().map(account => { 12 | return account.toJS(); 13 | }); 14 | return result.sort(compareAccounts); 15 | }; 16 | -------------------------------------------------------------------------------- /email_mailbox/src/utils/BytesUtils.js: -------------------------------------------------------------------------------- 1 | /* eslint no-undef: 0 */ 2 | 3 | export const ArrayBufferToBuffer = ab => { 4 | const buffer = new Buffer(ab.byteLength); 5 | const view = new Uint8Array(ab); 6 | for (let i = 0; i < buffer.length; ++i) { 7 | buffer[i] = view[i]; 8 | } 9 | return buffer; 10 | }; 11 | -------------------------------------------------------------------------------- /email_mailbox/src/utils/LabelUtils.js: -------------------------------------------------------------------------------- 1 | import { getAllLabels, getEmailsCounterByLabelId } from './ipc'; 2 | import { LabelType } from './electronInterface'; 3 | 4 | export const defineLabels = async () => { 5 | const response = await getAllLabels({}); 6 | const badgeDraft = await getEmailsCounterByLabelId({ 7 | labelId: LabelType.draft.id 8 | }); 9 | const labels = response.reduce( 10 | (result, element) => ({ 11 | ...result, 12 | [element.id]: element 13 | }), 14 | {} 15 | ); 16 | labels[LabelType.draft.id].badge = badgeDraft; 17 | return labels; 18 | }; 19 | -------------------------------------------------------------------------------- /email_mailbox/src/utils/OSUtils.js: -------------------------------------------------------------------------------- 1 | export const getOS = () => { 2 | const osName = window.navigator.platform; 3 | return osName.split(' ')[0]; 4 | }; 5 | 6 | export const isWindows = () => { 7 | return getOS().toLowerCase() === 'win32'; 8 | }; 9 | -------------------------------------------------------------------------------- /email_mailbox/src/utils/RegexUtils.js: -------------------------------------------------------------------------------- 1 | /* eslint no-useless-escape: 0 */ 2 | export const emailRegex = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; 3 | export const HTMLTagsRegex = /<[^>]*>?/g; 4 | export const mimeTypeImageRegex = /image\/([a-z][-+])*/; 5 | export const usernameRegex = /(?=^([a-z0-9]([._-]{0,2}[a-z0-9])+)$)(?:^.{3,16}$)$/; 6 | export const domainRegex = /(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?/g; 7 | -------------------------------------------------------------------------------- /email_mailbox/src/utils/__mocks__/electronEventInterface.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_mailbox/src/utils/__mocks__/electronEventInterface.js -------------------------------------------------------------------------------- /email_mailbox/src/utils/__mocks__/ipc.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_mailbox/src/utils/__mocks__/ipc.js -------------------------------------------------------------------------------- /email_mailbox/src/utils/hashUtils.js: -------------------------------------------------------------------------------- 1 | import CryptoJS from 'crypto-js'; 2 | 3 | export const hashPassword = password => { 4 | const strngToHash = password; 5 | return CryptoJS.SHA256(strngToHash).toString(CryptoJS.enc.Base64); 6 | }; 7 | -------------------------------------------------------------------------------- /email_mailbox/src/utils/linkDeviceUtils.js: -------------------------------------------------------------------------------- 1 | import { deviceTypes } from './const'; 2 | 3 | export const defineDeviceIcon = deviceType => { 4 | switch (deviceType) { 5 | case deviceTypes.PC: 6 | return 'icon-desktop'; 7 | case deviceTypes.IOS: 8 | case deviceTypes.ANDROID: { 9 | return 'icon-mobile'; 10 | } 11 | default: 12 | return 'icon-desktop'; 13 | } 14 | }; 15 | -------------------------------------------------------------------------------- /email_pin/public/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "short_name": "React App", 3 | "name": "Create React App Sample", 4 | "icons": [ 5 | { 6 | "src": "favicon.ico", 7 | "sizes": "64x64 32x32 24x24 16x16", 8 | "type": "image/x-icon" 9 | }, 10 | { 11 | "src": "logo192.png", 12 | "type": "image/png", 13 | "sizes": "192x192" 14 | }, 15 | { 16 | "src": "logo512.png", 17 | "type": "image/png", 18 | "sizes": "512x512" 19 | } 20 | ], 21 | "start_url": ".", 22 | "display": "standalone", 23 | "theme_color": "#000000", 24 | "background_color": "#ffffff" 25 | } 26 | -------------------------------------------------------------------------------- /email_pin/src/App.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import PanelWrapper from './components/PanelWrapper'; 3 | import CustomTitleBar from './components/CustomTitleBar'; 4 | import './app.scss'; 5 | 6 | function App() { 7 | return ( 8 |
9 | 10 | 11 |
12 | ); 13 | } 14 | 15 | export default App; 16 | -------------------------------------------------------------------------------- /email_pin/src/components/PanelWrapper.js: -------------------------------------------------------------------------------- 1 | import React, { Component } from 'react'; 2 | import Panel from './Panel'; 3 | import { pinType } from './../utils/electronInterface'; 4 | 5 | class PanelWrapper extends Component { 6 | constructor(props) { 7 | super(props); 8 | this.state = {}; 9 | } 10 | 11 | render() { 12 | return ; 13 | } 14 | } 15 | 16 | export default PanelWrapper; 17 | -------------------------------------------------------------------------------- /email_pin/src/components/ScreenResetKey.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import Encrypt from './Encrypt'; 3 | import string from './../lang'; 4 | 5 | const { page_encrypt } = string; 6 | 7 | const ScreenResetKey = () => { 8 | return ( 9 | 10 | ); 11 | }; 12 | 13 | export default ScreenResetKey; 14 | -------------------------------------------------------------------------------- /email_pin/src/components/VCResetKeyWrapper.js: -------------------------------------------------------------------------------- 1 | import React, { Component } from 'react'; 2 | import ScreenResetKey from './ScreenResetKey'; 3 | import { startResetKey } from '../utils/ipc'; 4 | import VCHOC from './VCHOC'; 5 | 6 | const VCResetKey = VCHOC(ScreenResetKey); 7 | 8 | class VCResetKeyWrapper extends Component { 9 | render() { 10 | return ; 11 | } 12 | 13 | componentDidMount() { 14 | startResetKey(); 15 | } 16 | } 17 | 18 | export default VCResetKeyWrapper; 19 | -------------------------------------------------------------------------------- /email_pin/src/components/pinnew.scss: -------------------------------------------------------------------------------- 1 | .pin-new-content{ 2 | margin: 0 auto; 3 | text-align: center; 4 | width: 75%; 5 | 6 | h1{ 7 | margin-top: 35px; 8 | } 9 | 10 | .pin-new-code{ 11 | margin: 30px auto 0; 12 | width: 180px; 13 | 14 | .pin-code{ 15 | margin-top: 25px; 16 | 17 | h2{ 18 | text-align: left; 19 | } 20 | } 21 | } 22 | 23 | button{ 24 | bottom: 80px; 25 | transform: translateX(-50%); 26 | min-width: 80px; 27 | margin: 0 auto; 28 | position: absolute; 29 | } 30 | } -------------------------------------------------------------------------------- /email_pin/src/fonts/icon.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_pin/src/fonts/icon.eot -------------------------------------------------------------------------------- /email_pin/src/fonts/icon.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_pin/src/fonts/icon.ttf -------------------------------------------------------------------------------- /email_pin/src/fonts/icon.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_pin/src/fonts/icon.woff -------------------------------------------------------------------------------- /email_pin/src/fonts/nunito/nunito-sans-v3-latin-italic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_pin/src/fonts/nunito/nunito-sans-v3-latin-italic.eot -------------------------------------------------------------------------------- /email_pin/src/fonts/nunito/nunito-sans-v3-latin-italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_pin/src/fonts/nunito/nunito-sans-v3-latin-italic.ttf -------------------------------------------------------------------------------- /email_pin/src/fonts/nunito/nunito-sans-v3-latin-italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_pin/src/fonts/nunito/nunito-sans-v3-latin-italic.woff -------------------------------------------------------------------------------- /email_pin/src/fonts/nunito/nunito-sans-v3-latin-italic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_pin/src/fonts/nunito/nunito-sans-v3-latin-italic.woff2 -------------------------------------------------------------------------------- /email_pin/src/fonts/nunito/nunito-sans-v3-latin-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_pin/src/fonts/nunito/nunito-sans-v3-latin-regular.eot -------------------------------------------------------------------------------- /email_pin/src/fonts/nunito/nunito-sans-v3-latin-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_pin/src/fonts/nunito/nunito-sans-v3-latin-regular.ttf -------------------------------------------------------------------------------- /email_pin/src/fonts/nunito/nunito-sans-v3-latin-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_pin/src/fonts/nunito/nunito-sans-v3-latin-regular.woff -------------------------------------------------------------------------------- /email_pin/src/fonts/nunito/nunito-sans-v3-latin-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_pin/src/fonts/nunito/nunito-sans-v3-latin-regular.woff2 -------------------------------------------------------------------------------- /email_pin/src/fonts/nunito200/nunito-sans-v3-latin-200.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_pin/src/fonts/nunito200/nunito-sans-v3-latin-200.eot -------------------------------------------------------------------------------- /email_pin/src/fonts/nunito200/nunito-sans-v3-latin-200.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_pin/src/fonts/nunito200/nunito-sans-v3-latin-200.ttf -------------------------------------------------------------------------------- /email_pin/src/fonts/nunito200/nunito-sans-v3-latin-200.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_pin/src/fonts/nunito200/nunito-sans-v3-latin-200.woff -------------------------------------------------------------------------------- /email_pin/src/fonts/nunito200/nunito-sans-v3-latin-200.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_pin/src/fonts/nunito200/nunito-sans-v3-latin-200.woff2 -------------------------------------------------------------------------------- /email_pin/src/fonts/nunito200/nunito-sans-v3-latin-200italic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_pin/src/fonts/nunito200/nunito-sans-v3-latin-200italic.eot -------------------------------------------------------------------------------- /email_pin/src/fonts/nunito200/nunito-sans-v3-latin-200italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_pin/src/fonts/nunito200/nunito-sans-v3-latin-200italic.ttf -------------------------------------------------------------------------------- /email_pin/src/fonts/nunito200/nunito-sans-v3-latin-200italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_pin/src/fonts/nunito200/nunito-sans-v3-latin-200italic.woff -------------------------------------------------------------------------------- /email_pin/src/fonts/nunito200/nunito-sans-v3-latin-200italic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_pin/src/fonts/nunito200/nunito-sans-v3-latin-200italic.woff2 -------------------------------------------------------------------------------- /email_pin/src/fonts/nunito300/nunito-sans-v3-latin-300.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_pin/src/fonts/nunito300/nunito-sans-v3-latin-300.eot -------------------------------------------------------------------------------- /email_pin/src/fonts/nunito300/nunito-sans-v3-latin-300.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_pin/src/fonts/nunito300/nunito-sans-v3-latin-300.ttf -------------------------------------------------------------------------------- /email_pin/src/fonts/nunito300/nunito-sans-v3-latin-300.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_pin/src/fonts/nunito300/nunito-sans-v3-latin-300.woff -------------------------------------------------------------------------------- /email_pin/src/fonts/nunito300/nunito-sans-v3-latin-300.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_pin/src/fonts/nunito300/nunito-sans-v3-latin-300.woff2 -------------------------------------------------------------------------------- /email_pin/src/fonts/nunito300/nunito-sans-v3-latin-300italic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_pin/src/fonts/nunito300/nunito-sans-v3-latin-300italic.eot -------------------------------------------------------------------------------- /email_pin/src/fonts/nunito300/nunito-sans-v3-latin-300italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_pin/src/fonts/nunito300/nunito-sans-v3-latin-300italic.ttf -------------------------------------------------------------------------------- /email_pin/src/fonts/nunito300/nunito-sans-v3-latin-300italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_pin/src/fonts/nunito300/nunito-sans-v3-latin-300italic.woff -------------------------------------------------------------------------------- /email_pin/src/fonts/nunito300/nunito-sans-v3-latin-300italic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_pin/src/fonts/nunito300/nunito-sans-v3-latin-300italic.woff2 -------------------------------------------------------------------------------- /email_pin/src/fonts/nunito600/nunito-sans-v3-latin-600.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_pin/src/fonts/nunito600/nunito-sans-v3-latin-600.eot -------------------------------------------------------------------------------- /email_pin/src/fonts/nunito600/nunito-sans-v3-latin-600.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_pin/src/fonts/nunito600/nunito-sans-v3-latin-600.ttf -------------------------------------------------------------------------------- /email_pin/src/fonts/nunito600/nunito-sans-v3-latin-600.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_pin/src/fonts/nunito600/nunito-sans-v3-latin-600.woff -------------------------------------------------------------------------------- /email_pin/src/fonts/nunito600/nunito-sans-v3-latin-600.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_pin/src/fonts/nunito600/nunito-sans-v3-latin-600.woff2 -------------------------------------------------------------------------------- /email_pin/src/fonts/nunito600/nunito-sans-v3-latin-600italic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_pin/src/fonts/nunito600/nunito-sans-v3-latin-600italic.eot -------------------------------------------------------------------------------- /email_pin/src/fonts/nunito600/nunito-sans-v3-latin-600italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_pin/src/fonts/nunito600/nunito-sans-v3-latin-600italic.ttf -------------------------------------------------------------------------------- /email_pin/src/fonts/nunito600/nunito-sans-v3-latin-600italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_pin/src/fonts/nunito600/nunito-sans-v3-latin-600italic.woff -------------------------------------------------------------------------------- /email_pin/src/fonts/nunito600/nunito-sans-v3-latin-600italic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_pin/src/fonts/nunito600/nunito-sans-v3-latin-600italic.woff2 -------------------------------------------------------------------------------- /email_pin/src/fonts/nunito700/nunito-sans-v3-latin-700.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_pin/src/fonts/nunito700/nunito-sans-v3-latin-700.eot -------------------------------------------------------------------------------- /email_pin/src/fonts/nunito700/nunito-sans-v3-latin-700.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_pin/src/fonts/nunito700/nunito-sans-v3-latin-700.ttf -------------------------------------------------------------------------------- /email_pin/src/fonts/nunito700/nunito-sans-v3-latin-700.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_pin/src/fonts/nunito700/nunito-sans-v3-latin-700.woff -------------------------------------------------------------------------------- /email_pin/src/fonts/nunito700/nunito-sans-v3-latin-700.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_pin/src/fonts/nunito700/nunito-sans-v3-latin-700.woff2 -------------------------------------------------------------------------------- /email_pin/src/fonts/nunito700/nunito-sans-v3-latin-700italic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_pin/src/fonts/nunito700/nunito-sans-v3-latin-700italic.eot -------------------------------------------------------------------------------- /email_pin/src/fonts/nunito700/nunito-sans-v3-latin-700italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_pin/src/fonts/nunito700/nunito-sans-v3-latin-700italic.ttf -------------------------------------------------------------------------------- /email_pin/src/fonts/nunito700/nunito-sans-v3-latin-700italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_pin/src/fonts/nunito700/nunito-sans-v3-latin-700italic.woff -------------------------------------------------------------------------------- /email_pin/src/fonts/nunito700/nunito-sans-v3-latin-700italic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_pin/src/fonts/nunito700/nunito-sans-v3-latin-700italic.woff2 -------------------------------------------------------------------------------- /email_pin/src/fonts/nunito800/nunito-sans-v3-latin-800.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_pin/src/fonts/nunito800/nunito-sans-v3-latin-800.eot -------------------------------------------------------------------------------- /email_pin/src/fonts/nunito800/nunito-sans-v3-latin-800.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_pin/src/fonts/nunito800/nunito-sans-v3-latin-800.ttf -------------------------------------------------------------------------------- /email_pin/src/fonts/nunito800/nunito-sans-v3-latin-800.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_pin/src/fonts/nunito800/nunito-sans-v3-latin-800.woff -------------------------------------------------------------------------------- /email_pin/src/fonts/nunito800/nunito-sans-v3-latin-800.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_pin/src/fonts/nunito800/nunito-sans-v3-latin-800.woff2 -------------------------------------------------------------------------------- /email_pin/src/fonts/nunito800/nunito-sans-v3-latin-800italic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_pin/src/fonts/nunito800/nunito-sans-v3-latin-800italic.eot -------------------------------------------------------------------------------- /email_pin/src/fonts/nunito800/nunito-sans-v3-latin-800italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_pin/src/fonts/nunito800/nunito-sans-v3-latin-800italic.ttf -------------------------------------------------------------------------------- /email_pin/src/fonts/nunito800/nunito-sans-v3-latin-800italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_pin/src/fonts/nunito800/nunito-sans-v3-latin-800italic.woff -------------------------------------------------------------------------------- /email_pin/src/fonts/nunito800/nunito-sans-v3-latin-800italic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_pin/src/fonts/nunito800/nunito-sans-v3-latin-800italic.woff2 -------------------------------------------------------------------------------- /email_pin/src/fonts/nunito900/nunito-sans-v3-latin-900.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_pin/src/fonts/nunito900/nunito-sans-v3-latin-900.eot -------------------------------------------------------------------------------- /email_pin/src/fonts/nunito900/nunito-sans-v3-latin-900.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_pin/src/fonts/nunito900/nunito-sans-v3-latin-900.ttf -------------------------------------------------------------------------------- /email_pin/src/fonts/nunito900/nunito-sans-v3-latin-900.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_pin/src/fonts/nunito900/nunito-sans-v3-latin-900.woff -------------------------------------------------------------------------------- /email_pin/src/fonts/nunito900/nunito-sans-v3-latin-900.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_pin/src/fonts/nunito900/nunito-sans-v3-latin-900.woff2 -------------------------------------------------------------------------------- /email_pin/src/fonts/nunito900/nunito-sans-v3-latin-900italic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_pin/src/fonts/nunito900/nunito-sans-v3-latin-900italic.eot -------------------------------------------------------------------------------- /email_pin/src/fonts/nunito900/nunito-sans-v3-latin-900italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_pin/src/fonts/nunito900/nunito-sans-v3-latin-900italic.ttf -------------------------------------------------------------------------------- /email_pin/src/fonts/nunito900/nunito-sans-v3-latin-900italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_pin/src/fonts/nunito900/nunito-sans-v3-latin-900italic.woff -------------------------------------------------------------------------------- /email_pin/src/fonts/nunito900/nunito-sans-v3-latin-900italic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_pin/src/fonts/nunito900/nunito-sans-v3-latin-900italic.woff2 -------------------------------------------------------------------------------- /email_pin/src/images/key-dark.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /email_pin/src/images/key-light.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /email_pin/src/images/lock.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Criptext/Criptext-Email-React-Client/911b7024ce796be412041cbfea4e691512205259/email_pin/src/images/lock.png -------------------------------------------------------------------------------- /email_pin/src/index.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import ReactDOM from 'react-dom'; 3 | import App from './App'; 4 | 5 | ReactDOM.render(, document.getElementById('root')); 6 | -------------------------------------------------------------------------------- /email_pin/src/lang/index.js: -------------------------------------------------------------------------------- 1 | import LocalizedStrings from 'react-localization'; 2 | import { mySettings } from '../utils/electronInterface'; 3 | import en from './en.json'; 4 | import es from './es.json'; 5 | 6 | const string = new LocalizedStrings({ 7 | en, 8 | es 9 | }); 10 | 11 | string.setLanguage(mySettings.language || 'en'); 12 | 13 | export const setLang = lang => { 14 | string.setLanguage(lang); 15 | }; 16 | 17 | export default string; 18 | -------------------------------------------------------------------------------- /email_pin/src/styles/index.scss: -------------------------------------------------------------------------------- 1 | 2 | /*** 3 | 4 | FILE: index.css 5 | 6 | TABLE OF CONTENTS 7 | 8 | 1.- PATHS 9 | 2.- THEME 10 | 11 | ***/ 12 | 13 | /* 1.- PATHS 14 | ----------------------------- */ 15 | $_PATH_TO_FONTS: "./fonts"; 16 | $_PATH_TO_IMAGES: "./images"; -------------------------------------------------------------------------------- /email_pin/src/utils/OSUtils.js: -------------------------------------------------------------------------------- 1 | export const getOS = () => { 2 | const osName = window.navigator.platform; 3 | return osName.split(' ')[0]; 4 | }; 5 | 6 | export const isWindows = () => { 7 | return getOS().toLowerCase() === 'win32'; 8 | }; 9 | -------------------------------------------------------------------------------- /email_pin/src/utils/electronInterface.js: -------------------------------------------------------------------------------- 1 | const { remote } = window.require('electron'); 2 | const globalManager = remote.require('./src/globalManager'); 3 | const { DEFAULT_PIN } = remote.require('./src/utils/const'); 4 | 5 | export const mySettings = remote.require('./src/Settings'); 6 | export const { pinType, remoteData } = remote.getGlobal('pinData'); 7 | export const getPin = () => { 8 | const globalPin = globalManager.databaseKey.get(); 9 | if (globalPin === DEFAULT_PIN) { 10 | return ''; 11 | } 12 | }; 13 | export const getProgressDBE = () => globalManager.progressDBE.get(); 14 | -------------------------------------------------------------------------------- /signal_interface/src/crypto/base64.h: -------------------------------------------------------------------------------- 1 | #ifndef B64_H 2 | #define B64_H 3 | 4 | unsigned char * base64_decode(const unsigned char *src, size_t len, size_t *out_len); 5 | unsigned char * base64_encode(const unsigned char *src, size_t len, size_t *out_len); 6 | #endif // B64 -------------------------------------------------------------------------------- /signal_interface/src/crypto/protocol_store/IdentityKeyStore.h: -------------------------------------------------------------------------------- 1 | #include "signal/signal_protocol.h" 2 | #include "../../../../db_interface/src/axolotl/IdentityKey.h" 3 | #include "../../../../db_interface/src/axolotl/Account.h" 4 | #include "decode_utils.h" 5 | 6 | void setup_identity_key_store(signal_protocol_store_context *context, signal_context *global_context, CriptextDB::Account *account); -------------------------------------------------------------------------------- /signal_interface/src/crypto/protocol_store/PreKeyStore.h: -------------------------------------------------------------------------------- 1 | #include "signal/signal_protocol.h" 2 | #include "../../../../db_interface/src/axolotl/PreKey.h" 3 | #include "../../../../db_interface/src/axolotl/Account.h" 4 | #include "decode_utils.h" 5 | 6 | void setup_pre_key_store(signal_protocol_store_context *context, CriptextDB::Account *account); -------------------------------------------------------------------------------- /signal_interface/src/crypto/protocol_store/SessionStore.h: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "signal/signal_protocol.h" 4 | #include "../../../../db_interface/src/axolotl/SessionRecord.h" 5 | #include "../../../../db_interface/src/axolotl/Account.h" 6 | extern "C" { 7 | #include "../../helpers/utf8.h" 8 | } 9 | 10 | void setup_session_store(signal_protocol_store_context *context, CriptextDB::Account *account); 11 | -------------------------------------------------------------------------------- /signal_interface/src/crypto/protocol_store/SignedPreKeyStore.h: -------------------------------------------------------------------------------- 1 | #include "signal/signal_protocol.h" 2 | #include "signal/curve.h" 3 | #include "../../../../db_interface/src/axolotl/SignedPreKey.h" 4 | #include "../../../../db_interface/src/axolotl/Account.h" 5 | #include "types.h" 6 | #include "decode_utils.h" 7 | 8 | extern "C" { 9 | #include "../base64.h" 10 | #include "../crypto.h" 11 | } 12 | 13 | void setup_signed_pre_key_store(signal_protocol_store_context *context, CriptextDB::Account *account); -------------------------------------------------------------------------------- /signal_interface/src/crypto/protocol_store/decode_utils.h: -------------------------------------------------------------------------------- 1 | #ifndef DECODE_UTILS_H 2 | #define DECODE_UTILS_H 3 | 4 | #include 5 | #include 6 | #include 7 | #include 8 | 9 | extern "C" { 10 | #include "../base64.h" 11 | } 12 | 13 | int getKeyPairData(const uint8_t **publicKey, const uint8_t **privateKey, size_t *publicLen, size_t *privateLen, std::string pubKey, std::string privKey); 14 | 15 | #endif -------------------------------------------------------------------------------- /signal_interface/src/crypto/store.h: -------------------------------------------------------------------------------- 1 | #include 2 | #include "protocol_store/IdentityKeyStore.h" 3 | #include "protocol_store/PreKeyStore.h" 4 | #include "protocol_store/SessionStore.h" 5 | #include "protocol_store/SignedPreKeyStore.h" 6 | #include 7 | 8 | void setup_store_context(signal_protocol_store_context **context, signal_context *global_context, CriptextDB::Account *account); 9 | -------------------------------------------------------------------------------- /signal_interface/src/http/handlers/cors.cpp: -------------------------------------------------------------------------------- 1 | #include "cors.h" 2 | 3 | bool cors(struct mg_connection *conn) { 4 | const struct mg_request_info *ri = mg_get_request_info(conn); 5 | if (strcmp(ri->request_method, "OPTIONS")) { 6 | return false; 7 | } 8 | mg_printf(conn, 9 | "HTTP/1.1 200 OK\r\n" 10 | "Access-Control-Allow-Origin: *\r\n" 11 | "Access-Control-Allow-Methods: *\r\n" 12 | "Access-Control-Allow-Headers: *\r\n"); 13 | return true; 14 | } -------------------------------------------------------------------------------- /signal_interface/src/http/handlers/cors.h: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | #include 6 | 7 | bool cors(struct mg_connection *conn); 8 | -------------------------------------------------------------------------------- /signal_interface/src/http/handlers/decrypt.h: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cors.h" 4 | #include 5 | #include 6 | #include 7 | #include "helpers.h" 8 | #include 9 | #include "../../crypto/signal.h" 10 | #include "spdlog/spdlog.h" 11 | #include "../../crypto/crypto.h" 12 | #include "../../crypto/crypto.h" 13 | #include "../../../../db_interface/src/dbUtils.h" 14 | 15 | int postDecryptEmail(struct mg_connection *conn, void *cbdata, char *dbPath, char* password); 16 | int postDecryptKey(struct mg_connection *conn, void *cbdata, char *dbPath, char* password); -------------------------------------------------------------------------------- /signal_interface/src/http/handlers/encrypt.h: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | #include "../../crypto/signal.h" 6 | #include "helpers.h" 7 | #include "cors.h" 8 | #include "spdlog/spdlog.h" 9 | 10 | int postEncryptKey(struct mg_connection *conn, void *cbdata, char *dbPath, char* password); 11 | int postEncryptEmail(struct mg_connection *conn, void *cbdata, char *dbPath, char *password); 12 | int postEncryptEmailGroup(struct mg_connection *conn, void *cbdata, char *dbPath, char *password); -------------------------------------------------------------------------------- /signal_interface/src/http/handlers/helpers.h: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | #include 6 | #include 7 | #include 8 | 9 | using namespace std; 10 | 11 | int SendJSON(struct mg_connection *conn, cJSON *json_obj); 12 | void sendOK(struct mg_connection *conn, string response); 13 | void sendBytes(struct mg_connection *conn, uint8_t *bytes, size_t len); 14 | void sendError(struct mg_connection *conn, int code, string response); 15 | int parseBody(char **body, struct mg_connection *conn); 16 | string parseBody(struct mg_connection* conn); 17 | string parseSignalError(int error); -------------------------------------------------------------------------------- /signal_interface/src/http/handlers/password.h: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "cors.h" 4 | #include 5 | #include 6 | #include 7 | #include "../../crypto/signal.h" 8 | #include "helpers.h" 9 | #include "spdlog/spdlog.h" 10 | #include "../../../../db_interface/src/dbUtils.h" 11 | 12 | string decryptPassword(struct mg_connection *conn, void *cbdata, char* token, string currentPassword); -------------------------------------------------------------------------------- /signal_interface/src/http/http.h: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include "../../../db_interface/src/axolotl/Account.h" 5 | #include "./handlers/decrypt.h" 6 | #include "./handlers/encrypt.h" 7 | #include "./handlers/keyBundle.h" 8 | #include "./handlers/password.h" 9 | 10 | void http_init(char *dbPath, char *port, char *token); 11 | void http_shutdown(); -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | --------------------------------------------------------------------------------