From 12e3bb095982bdad308f75feca24e27aa44a1722 Mon Sep 17 00:00:00 2001 From: Aman Harwara Date: Thu, 24 Mar 2022 00:13:44 +0530 Subject: [PATCH] feat: add file preview modal (#945) --- .../components/ApplicationView.tsx | 149 +++++++------- .../AttachedFilesPopover/PopoverFileItem.tsx | 11 +- .../PopoverFileSubmenu.tsx | 14 ++ .../components/Files/FilePreviewModal.tsx | 194 ++++++++++++++++++ .../Files/FilePreviewModalProvider.tsx | 53 +++++ .../components/Files/isFilePreviewable.ts | 12 ++ app/assets/javascripts/components/Icon.tsx | 5 +- .../components/NotesOptions/NotesOptions.tsx | 2 +- .../RevisionHistoryModalWrapper.tsx | 28 +-- .../javascripts/services/archiveManager.ts | 10 +- .../ui_models/app_state/files_state.ts | 34 ++- .../utils/concatenateUint8Arrays.ts | 14 ++ app/assets/stylesheets/_sn.scss | 24 ++- package.json | 6 +- yarn.lock | 24 +-- 15 files changed, 445 insertions(+), 135 deletions(-) create mode 100644 app/assets/javascripts/components/Files/FilePreviewModal.tsx create mode 100644 app/assets/javascripts/components/Files/FilePreviewModalProvider.tsx create mode 100644 app/assets/javascripts/components/Files/isFilePreviewable.ts create mode 100644 app/assets/javascripts/utils/concatenateUint8Arrays.ts diff --git a/app/assets/javascripts/components/ApplicationView.tsx b/app/assets/javascripts/components/ApplicationView.tsx index 4c7fc9108..821be8977 100644 --- a/app/assets/javascripts/components/ApplicationView.tsx +++ b/app/assets/javascripts/components/ApplicationView.tsx @@ -27,6 +27,7 @@ import { PremiumModalProvider } from './Premium'; import { ConfirmSignoutContainer } from './ConfirmSignoutModal'; import { TagsContextMenu } from './Tags/TagContextMenu'; import { ToastContainer } from '@standardnotes/stylekit'; +import { FilePreviewModalProvider } from './Files/FilePreviewModalProvider'; type Props = { application: WebApplication; @@ -175,88 +176,78 @@ export class ApplicationView extends PureComponent { const renderAppContents = !this.state.needsUnlock && this.state.launched; return ( - -
- {renderAppContents && ( -
- - - - - -
- )} - - {renderAppContents && ( - <> -