gitextract_5cx5gfwh/ ├── .bundlemonrc ├── .editorconfig ├── .github/ │ └── workflows/ │ ├── ci-cd.yml │ ├── codeql-analysis.yml │ └── create-bump-pr.yml ├── .gitignore ├── .nvmrc ├── .transifexrc.tpl ├── .tx/ │ └── config ├── CHANGELOG.md ├── CODEOWNERS ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── babel.config.js ├── docs/ │ └── nextcloud.md ├── eslint.config.mjs ├── jest.config.js ├── jestHelpers/ │ ├── ConsoleUsageReporter.js │ ├── mocks/ │ │ ├── fileMock.js │ │ ├── iconMock.js │ │ ├── pdfjsWorkerMock.js │ │ └── svgRawMock.js │ ├── setup.js │ └── setupFilesAfterEnv.js ├── manifest.webapp ├── package.json ├── public/ │ ├── browserconfig.xml │ └── manifest.json ├── renovate.json ├── rsbuild.config.mjs ├── src/ │ ├── assets/ │ │ └── onlyOffice/ │ │ ├── slide.pptx │ │ ├── spreadsheet.xlsx │ │ └── text.docx │ ├── components/ │ │ ├── App/ │ │ │ └── App.jsx │ │ ├── Bar.jsx │ │ ├── Button/ │ │ │ ├── BackButton.jsx │ │ │ ├── MoreButton.jsx │ │ │ ├── OpenFolderButton.tsx │ │ │ └── index.jsx │ │ ├── ColorPicker/ │ │ │ ├── ColorPicker.jsx │ │ │ ├── constants.js │ │ │ └── index.jsx │ │ ├── Error/ │ │ │ ├── Empty.jsx │ │ │ ├── ErrorShare.jsx │ │ │ ├── NotFound.jsx │ │ │ ├── Oops.jsx │ │ │ ├── empty.styl │ │ │ └── oops.styl │ │ ├── FileHistory/ │ │ │ ├── HistoryModal.jsx │ │ │ ├── index.jsx │ │ │ └── styles.styl │ │ ├── FilesRealTimeQueries.jsx │ │ ├── FilesViewerLoading.jsx │ │ ├── FolderPicker/ │ │ │ ├── FolderPicker.spec.jsx │ │ │ ├── FolderPicker.tsx │ │ │ ├── FolderPickerAddFolderItem.tsx │ │ │ ├── FolderPickerBody.spec.jsx │ │ │ ├── FolderPickerBody.tsx │ │ │ ├── FolderPickerContentCozy.tsx │ │ │ ├── FolderPickerContentLoadMore.tsx │ │ │ ├── FolderPickerContentLoader.tsx │ │ │ ├── FolderPickerContentNextcloud.tsx │ │ │ ├── FolderPickerContentPublic.tsx │ │ │ ├── FolderPickerContentSharedDrive.tsx │ │ │ ├── FolderPickerContentSharedDriveRoot.tsx │ │ │ ├── FolderPickerFooter.tsx │ │ │ ├── FolderPickerHeader.spec.js │ │ │ ├── FolderPickerHeader.tsx │ │ │ ├── FolderPickerHeaderIllustration.tsx │ │ │ ├── FolderPickerListItem.tsx │ │ │ ├── FolderPickerTopbar.spec.jsx │ │ │ ├── FolderPickerTopbar.tsx │ │ │ ├── helpers.spec.js │ │ │ ├── helpers.ts │ │ │ └── types.ts │ │ ├── IconPicker/ │ │ │ ├── IconColorPicker.jsx │ │ │ ├── IconIndex.js │ │ │ ├── IconPicker.jsx │ │ │ ├── NoneIcon.jsx │ │ │ ├── constants.js │ │ │ └── index.jsx │ │ ├── IconStack/ │ │ │ ├── index.jsx │ │ │ └── styles.styl │ │ ├── Icons/ │ │ │ ├── Drive.jsx │ │ │ └── DriveText.jsx │ │ ├── LoaderModal.jsx │ │ ├── Migration/ │ │ │ ├── MigrationProgressBanner.jsx │ │ │ └── MigrationProgressBanner.spec.jsx │ │ ├── MoreMenu.tsx │ │ ├── MoveValidationModals/ │ │ │ └── index.tsx │ │ ├── PushBanner/ │ │ │ ├── PushBanner.spec.jsx │ │ │ ├── PushBannerProvider.jsx │ │ │ ├── QuotaBanner.jsx │ │ │ ├── QuotaBanner.spec.jsx │ │ │ └── index.jsx │ │ ├── RightClick/ │ │ │ ├── RightClickAddMenu.jsx │ │ │ ├── RightClickFileMenu.jsx │ │ │ └── RightClickProvider.jsx │ │ ├── SideBarAccordion.jsx │ │ ├── TrashedBanner.jsx │ │ ├── pushClient/ │ │ │ ├── Banner.jsx │ │ │ ├── Button.jsx │ │ │ ├── __mocks__/ │ │ │ │ └── index.js │ │ │ ├── index.d.ts │ │ │ ├── index.js │ │ │ └── index.spec.js │ │ ├── useDocument.jsx │ │ └── useHead.jsx │ ├── config/ │ │ ├── config.json │ │ └── sort.js │ ├── constants/ │ │ └── config.js │ ├── contexts/ │ │ ├── ClipboardProvider.spec.tsx │ │ └── ClipboardProvider.tsx │ ├── declarations.d.ts │ ├── hooks/ │ │ ├── helpers.d.ts │ │ ├── helpers.js │ │ ├── index.js │ │ ├── useCurrentFileId.jsx │ │ ├── useCurrentFileId.spec.jsx │ │ ├── useCurrentFolderId.jsx │ │ ├── useCurrentFolderId.spec.jsx │ │ ├── useDebounce.jsx │ │ ├── useDisplayedFolder.spec.jsx │ │ ├── useDisplayedFolder.tsx │ │ ├── useFolderSort/ │ │ │ ├── index.spec.jsx │ │ │ └── index.ts │ │ ├── useKeyboardShortcuts.spec.jsx │ │ ├── useKeyboardShortcuts.tsx │ │ ├── useMoreMenuActions.jsx │ │ ├── useOnLongPress/ │ │ │ ├── helpers.js │ │ │ ├── helpers.spec.jsx │ │ │ └── index.js │ │ ├── useParentFolder.jsx │ │ ├── useParentFolder.spec.jsx │ │ ├── useRecentFiles.jsx │ │ ├── useRecentFiles.spec.jsx │ │ ├── useRecentIcons.jsx │ │ ├── useRecentIcons.spec.jsx │ │ ├── useRedirectLink.jsx │ │ ├── useRedirectLink.spec.jsx │ │ ├── useShiftSelection/ │ │ │ ├── helpers.spec.ts │ │ │ ├── helpers.ts │ │ │ ├── index.spec.tsx │ │ │ └── index.tsx │ │ ├── useTransformFolderListHasSharedDriveShortcuts/ │ │ │ ├── index.spec.jsx │ │ │ └── index.tsx │ │ └── useUpdateFavicon/ │ │ ├── constants.ts │ │ ├── helpers.spec.js │ │ ├── helpers.ts │ │ ├── index.spec.jsx │ │ └── index.tsx │ ├── lib/ │ │ ├── AcceptingSharingContext.jsx │ │ ├── DriveProvider.jsx │ │ ├── FabProvider.jsx │ │ ├── FuzzyPathSearch.js │ │ ├── FuzzyPathSearch.spec.js │ │ ├── ModalContext.tsx │ │ ├── ThumbnailSizeContext.tsx │ │ ├── ViewSwitcherContext.tsx │ │ ├── appMetadata.js │ │ ├── dacc/ │ │ │ ├── dacc-run.js │ │ │ ├── dacc-run.spec.js │ │ │ ├── dacc.js │ │ │ ├── dacc.spec.js │ │ │ └── query.js │ │ ├── doctypes.js │ │ ├── entries.js │ │ ├── entries.spec.js │ │ ├── extraDoctypes.js │ │ ├── flags.js │ │ ├── getFileMimetype.js │ │ ├── getMimeTypeIcon.js │ │ ├── konnectors.js │ │ ├── logger.js │ │ ├── migration/ │ │ │ ├── qualification.js │ │ │ └── qualification.spec.js │ │ ├── path.js │ │ ├── path.spec.js │ │ ├── queries.js │ │ ├── react-cozy-helpers/ │ │ │ ├── ModalManager.jsx │ │ │ ├── QueryParameter.js │ │ │ ├── QueryParameter.spec.js │ │ │ └── index.js │ │ ├── registerClientPlugins.js │ │ └── sentry.js │ ├── locales/ │ │ ├── ar.json │ │ ├── de.json │ │ ├── en.json │ │ ├── es.json │ │ ├── fr.json │ │ ├── index.js │ │ ├── it.json │ │ ├── ja.json │ │ ├── ko.json │ │ ├── nl.json │ │ ├── nl_NL.json │ │ ├── pl.json │ │ ├── ru.json │ │ ├── vi.json │ │ ├── zh_CN.json │ │ └── zh_TW.json │ ├── models/ │ │ ├── Contact.js │ │ ├── Contact.spec.js │ │ └── index.js │ ├── modules/ │ │ ├── actionmenu/ │ │ │ └── ActionMenuWithHeader.jsx │ │ ├── actions/ │ │ │ ├── addItems.jsx │ │ │ ├── components/ │ │ │ │ ├── addToFavorites.tsx │ │ │ │ ├── duplicateTo.tsx │ │ │ │ ├── moveTo.jsx │ │ │ │ ├── personalizeFolder.js │ │ │ │ ├── removeFromFavorites.tsx │ │ │ │ └── selectable.tsx │ │ │ ├── details.jsx │ │ │ ├── divider.jsx │ │ │ ├── download.jsx │ │ │ ├── helpers.js │ │ │ ├── helpers.spec.js │ │ │ ├── index.js │ │ │ ├── index.spec.js │ │ │ ├── infos.jsx │ │ │ ├── policies.spec.ts │ │ │ ├── policies.ts │ │ │ ├── qualify.jsx │ │ │ ├── rename.jsx │ │ │ ├── restore.jsx │ │ │ ├── select.jsx │ │ │ ├── selectAll.jsx │ │ │ ├── share.jsx │ │ │ ├── summariseByAI.jsx │ │ │ ├── trash.jsx │ │ │ ├── types.ts │ │ │ ├── utils.js │ │ │ ├── utils.spec.js │ │ │ └── versions.jsx │ │ ├── breadcrumb/ │ │ │ ├── components/ │ │ │ │ ├── Breadcrumb.jsx │ │ │ │ ├── Breadcrumb.spec.jsx │ │ │ │ ├── DesktopBreadcrumb.jsx │ │ │ │ ├── DesktopBreadcrumb.spec.jsx │ │ │ │ ├── DesktopBreadcrumbItem.jsx │ │ │ │ ├── MobileAwareBreadcrumb.jsx │ │ │ │ ├── MobileAwareBreadcrumb.spec.jsx │ │ │ │ ├── MobileBreadcrumb.jsx │ │ │ │ ├── MobileBreadcrumb.spec.jsx │ │ │ │ └── __snapshots__/ │ │ │ │ └── Breadcrumb.spec.jsx.snap │ │ │ ├── hooks/ │ │ │ │ ├── useBreadcrumbPath.jsx │ │ │ │ └── useBreadcrumbPath.spec.jsx │ │ │ ├── styles/ │ │ │ │ └── breadcrumb.styl │ │ │ └── utils/ │ │ │ ├── fetchFolder.js │ │ │ └── fetchFolder.spec.js │ │ ├── certifications/ │ │ │ ├── CertificationTooltip.jsx │ │ │ ├── index.jsx │ │ │ ├── useExtraColumns.jsx │ │ │ └── useExtraColumns.spec.jsx │ │ ├── drive/ │ │ │ ├── AddMenu/ │ │ │ │ ├── AddMenu.jsx │ │ │ │ ├── AddMenuContent.jsx │ │ │ │ ├── AddMenuContent.spec.jsx │ │ │ │ ├── AddMenuProvider.jsx │ │ │ │ └── AddMenuProvider.spec.jsx │ │ │ ├── DeleteConfirm.jsx │ │ │ ├── DeleteConfirm.spec.jsx │ │ │ ├── FabWithAddMenuContext.jsx │ │ │ ├── RenameInput.jsx │ │ │ ├── RenameInput.spec.jsx │ │ │ ├── Toolbar/ │ │ │ │ ├── components/ │ │ │ │ │ ├── AddButton.jsx │ │ │ │ │ ├── AddFolderItem.jsx │ │ │ │ │ ├── AddMenuItem.jsx │ │ │ │ │ ├── CreateDocsItem.jsx │ │ │ │ │ ├── CreateNoteItem.jsx │ │ │ │ │ ├── CreateOnlyOfficeItem.jsx │ │ │ │ │ ├── CreateShortcut.jsx │ │ │ │ │ ├── DownloadButtonItem.jsx │ │ │ │ │ ├── FavoritesItem.jsx │ │ │ │ │ ├── InsideRegularFolder.jsx │ │ │ │ │ ├── InsideRegularFolder.spec.jsx │ │ │ │ │ ├── LeaveSharedDriveButtonItem.jsx │ │ │ │ │ ├── MoreMenu.jsx │ │ │ │ │ ├── MoreMenu.spec.jsx │ │ │ │ │ ├── Scanner/ │ │ │ │ │ │ ├── Scanner.spec.tsx │ │ │ │ │ │ ├── ScannerMenuItem.tsx │ │ │ │ │ │ ├── ScannerProvider.tsx │ │ │ │ │ │ └── useScannerService.ts │ │ │ │ │ ├── SearchButton.jsx │ │ │ │ │ ├── ShortcutCreationModal.jsx │ │ │ │ │ ├── ShortcutCreationModal.spec.jsx │ │ │ │ │ ├── UploadItem.jsx │ │ │ │ │ └── ViewSwitcher.jsx │ │ │ │ ├── delete/ │ │ │ │ │ ├── DeleteItem.jsx │ │ │ │ │ ├── DeleteItem.spec.jsx │ │ │ │ │ ├── delete.jsx │ │ │ │ │ └── delete.spec.jsx │ │ │ │ ├── index.jsx │ │ │ │ ├── move/ │ │ │ │ │ └── MoveItem.jsx │ │ │ │ ├── personalizeFolder/ │ │ │ │ │ └── PersonalizeFolderItem.jsx │ │ │ │ ├── selectable/ │ │ │ │ │ └── SelectableItem.jsx │ │ │ │ └── share/ │ │ │ │ ├── ShareButton.jsx │ │ │ │ ├── ShareItem.jsx │ │ │ │ ├── SharedRecipients.jsx │ │ │ │ ├── helpers.js │ │ │ │ └── helpers.spec.js │ │ │ ├── helpers.ts │ │ │ └── rename.js │ │ ├── duplicate/ │ │ │ └── components/ │ │ │ └── DuplicateModal.tsx │ │ ├── filelist/ │ │ │ ├── AddFolder.jsx │ │ │ ├── AddFolder.spec.jsx │ │ │ ├── AddFolderCard.jsx │ │ │ ├── AddFolderRow.jsx │ │ │ ├── File.jsx │ │ │ ├── File.spec.jsx │ │ │ ├── FileList.jsx │ │ │ ├── FileListBody.jsx │ │ │ ├── FileListHeader.jsx │ │ │ ├── FileListHeaderDesktop.jsx │ │ │ ├── FileListHeaderMobile.jsx │ │ │ ├── FileListRowsPlaceholder.jsx │ │ │ ├── FileOpener.jsx │ │ │ ├── FileOpener.spec.jsx │ │ │ ├── FilePlaceholder.jsx │ │ │ ├── FilenameInput.jsx │ │ │ ├── FilenameInput.spec.jsx │ │ │ ├── HeaderCell.jsx │ │ │ ├── LoadMore.jsx │ │ │ ├── LoadMoreV2.jsx │ │ │ ├── MobileSortMenu.jsx │ │ │ ├── cells/ │ │ │ │ ├── CarbonCopy.jsx │ │ │ │ ├── CertificationsIcons.jsx │ │ │ │ ├── CertificationsIcons.spec.js │ │ │ │ ├── ElectronicSafe.jsx │ │ │ │ ├── Empty.jsx │ │ │ │ ├── FileAction.jsx │ │ │ │ ├── FileName.jsx │ │ │ │ ├── LastUpdate.jsx │ │ │ │ ├── SelectBox.jsx │ │ │ │ ├── ShareContent.jsx │ │ │ │ ├── SharingShortcutBadge.jsx │ │ │ │ ├── Size.jsx │ │ │ │ ├── Status.jsx │ │ │ │ └── index.jsx │ │ │ ├── duck.js │ │ │ ├── fileopener.styl │ │ │ ├── getCaretPositionFromPoint.js │ │ │ ├── headers/ │ │ │ │ ├── CarbonCopy.jsx │ │ │ │ ├── ElectronicSafe.jsx │ │ │ │ └── index.jsx │ │ │ ├── helpers.ts │ │ │ ├── icons/ │ │ │ │ ├── BadgeKonnector.jsx │ │ │ │ ├── FileIcon.jsx │ │ │ │ ├── FileIcon.spec.jsx │ │ │ │ ├── FileIconMime.jsx │ │ │ │ ├── FileIconShortcut.jsx │ │ │ │ ├── FileThumbnail.tsx │ │ │ │ └── SharingShortcutIcon.jsx │ │ │ ├── useFormattedUpdatedAt.js │ │ │ └── virtualized/ │ │ │ ├── AddFolderRow.jsx │ │ │ ├── GridFile.jsx │ │ │ └── cells/ │ │ │ ├── Cell.jsx │ │ │ ├── FileAction.jsx │ │ │ ├── FileName.jsx │ │ │ ├── FileNamePath.jsx │ │ │ ├── LastUpdate.jsx │ │ │ ├── Share.jsx │ │ │ ├── ShareContent.jsx │ │ │ ├── SharingShortcutBadge.jsx │ │ │ └── Size.jsx │ │ ├── folder/ │ │ │ ├── components/ │ │ │ │ └── FolderBody.jsx │ │ │ └── hooks/ │ │ │ ├── useNeedsToWait.jsx │ │ │ └── useScrollToTop.jsx │ │ ├── layout/ │ │ │ ├── DummyLayout.tsx │ │ │ ├── Layout.jsx │ │ │ ├── Main.jsx │ │ │ └── Topbar.jsx │ │ ├── move/ │ │ │ ├── MoveInsideSharedFolderModal.jsx │ │ │ ├── MoveModal.jsx │ │ │ ├── MoveModal.spec.jsx │ │ │ ├── MoveOutsideSharedFolderModal.jsx │ │ │ ├── MoveSharedFolderInsideAnotherModal.jsx │ │ │ ├── components/ │ │ │ │ └── MoveModalSuccessAction.tsx │ │ │ ├── helpers.js │ │ │ ├── helpers.spec.js │ │ │ └── hooks/ │ │ │ ├── useCancelable.jsx │ │ │ └── useMove.tsx │ │ ├── navigation/ │ │ │ ├── AppRoute.jsx │ │ │ ├── ExternalNavItem.jsx │ │ │ ├── ExternalRedirect.jsx │ │ │ ├── FavoriteList.tsx │ │ │ ├── FavoriteListItem.tsx │ │ │ ├── Index.jsx │ │ │ ├── Index.spec.js │ │ │ ├── Nav.jsx │ │ │ ├── NavContent.tsx │ │ │ ├── NavContext.jsx │ │ │ ├── NavItem.jsx │ │ │ ├── NavLink.jsx │ │ │ ├── PublicNoteRedirect.tsx │ │ │ ├── SharingsNavItem.jsx │ │ │ ├── components/ │ │ │ │ ├── ExternalDriveListItem.tsx │ │ │ │ ├── ExternalDrivesList.tsx │ │ │ │ └── FileLink.tsx │ │ │ ├── duck/ │ │ │ │ ├── actions.jsx │ │ │ │ ├── actions.spec.jsx │ │ │ │ ├── async.js │ │ │ │ ├── index.js │ │ │ │ ├── reducer.js │ │ │ │ ├── utils.js │ │ │ │ └── utils.spec.js │ │ │ ├── helpers.js │ │ │ └── hooks/ │ │ │ ├── helpers.spec.js │ │ │ ├── helpers.ts │ │ │ ├── useFileLink.tsx │ │ │ └── useSharedDriveLink.tsx │ │ ├── nextcloud/ │ │ │ ├── components/ │ │ │ │ ├── NextcloudBanner.tsx │ │ │ │ ├── NextcloudBreadcrumb.jsx │ │ │ │ ├── NextcloudDeleteConfirm.jsx │ │ │ │ ├── NextcloudFolderBody.jsx │ │ │ │ ├── NextcloudToolbar.jsx │ │ │ │ ├── NextcloudTrashFolderBody.tsx │ │ │ │ └── actions/ │ │ │ │ ├── addFolder.jsx │ │ │ │ ├── deleteNextcloudFile.tsx │ │ │ │ ├── downloadNextcloudFile.jsx │ │ │ │ ├── downloadNextcloudFolder.jsx │ │ │ │ ├── duplicateNextcloudFile.jsx │ │ │ │ ├── moveNextcloud.jsx │ │ │ │ ├── openWithinNextcloud.jsx │ │ │ │ ├── rename.jsx │ │ │ │ ├── restoreNextcloudFile.tsx │ │ │ │ ├── shareNextcloudFile.jsx │ │ │ │ ├── trash.jsx │ │ │ │ └── upload.jsx │ │ │ ├── helpers.ts │ │ │ └── hooks/ │ │ │ ├── useNextcloudCurrentFolder.tsx │ │ │ ├── useNextcloudEntries.tsx │ │ │ ├── useNextcloudFolder.tsx │ │ │ ├── useNextcloudInfos.jsx │ │ │ └── useNextcloudPath.jsx │ │ ├── paste/ │ │ │ ├── index.js │ │ │ ├── index.spec.js │ │ │ ├── utils.js │ │ │ └── utils.spec.js │ │ ├── public/ │ │ │ ├── DownloadFilesButton.jsx │ │ │ ├── LightFileViewer.jsx │ │ │ ├── LightFileViewer.spec.jsx │ │ │ ├── PublicLayout.jsx │ │ │ ├── PublicProvider.tsx │ │ │ ├── PublicToolbar.jsx │ │ │ ├── PublicToolbarByLink.jsx │ │ │ ├── PublicToolbarCozyToCozy.jsx │ │ │ ├── PublicToolbarMoreMenu.jsx │ │ │ └── helpers.js │ │ ├── routeUtils.js │ │ ├── search/ │ │ │ ├── components/ │ │ │ │ ├── BarSearchAutosuggest.jsx │ │ │ │ ├── BarSearchInputGroup.jsx │ │ │ │ ├── SearchEmpty.jsx │ │ │ │ ├── SuggestionItem.jsx │ │ │ │ ├── SuggestionItemSkeleton.jsx │ │ │ │ ├── SuggestionItemTextHighlighted.jsx │ │ │ │ ├── SuggestionItemTextSecondary.jsx │ │ │ │ ├── SuggestionListSkeleton.jsx │ │ │ │ ├── helpers.js │ │ │ │ ├── helpers.spec.jsx │ │ │ │ └── styles.styl │ │ │ └── hooks/ │ │ │ └── useSearch.jsx │ │ ├── selection/ │ │ │ ├── RectangularSelection.jsx │ │ │ ├── RectangularSelection.styl │ │ │ ├── SelectionBar.tsx │ │ │ ├── SelectionProvider.d.ts │ │ │ ├── SelectionProvider.jsx │ │ │ ├── SelectionProvider.spec.jsx │ │ │ └── types.ts │ │ ├── selectors.js │ │ ├── selectors.spec.js │ │ ├── services/ │ │ │ ├── components/ │ │ │ │ ├── Embeder.jsx │ │ │ │ └── IntentHandler.jsx │ │ │ ├── index.jsx │ │ │ └── services.styl │ │ ├── shareddrives/ │ │ │ ├── components/ │ │ │ │ ├── SharedDriveBreadcrumb.jsx │ │ │ │ ├── SharedDriveFolderBody.jsx │ │ │ │ └── actions/ │ │ │ │ ├── leaveSharedDrive.js │ │ │ │ └── shareSharedDrive.js │ │ │ ├── helpers.ts │ │ │ └── hooks/ │ │ │ ├── useQueryMultipleSharedDriveFolders.tsx │ │ │ ├── useSharedDriveFolder.spec.jsx │ │ │ ├── useSharedDriveFolder.tsx │ │ │ ├── useSharedDriveFolderHelpers.ts │ │ │ └── useSharedDrives.js │ │ ├── trash/ │ │ │ └── components/ │ │ │ ├── DestroyConfirm.tsx │ │ │ ├── EmptyTrashConfirm.tsx │ │ │ ├── TrashBreadcrumb.tsx │ │ │ ├── TrashToolbar.spec.jsx │ │ │ ├── TrashToolbar.tsx │ │ │ └── actions/ │ │ │ ├── destroy.tsx │ │ │ └── emptyTrash.tsx │ │ ├── upload/ │ │ │ ├── Dropzone.jsx │ │ │ ├── DropzoneDnD.jsx │ │ │ ├── DropzoneTeaser.jsx │ │ │ ├── NewItemHighlightProvider.jsx │ │ │ ├── UploadButton.jsx │ │ │ ├── UploadLimitDialog.jsx │ │ │ ├── UploadQueue.jsx │ │ │ ├── index.js │ │ │ └── index.spec.js │ │ ├── viewer/ │ │ │ ├── CallToAction.jsx │ │ │ ├── CallToAction.spec.jsx │ │ │ ├── Fallback.jsx │ │ │ ├── FileOpenerExternal.jsx │ │ │ ├── FilesViewer.jsx │ │ │ ├── FilesViewer.spec.jsx │ │ │ ├── MoreMenu.jsx │ │ │ ├── NoViewerButton.jsx │ │ │ ├── barviewer.styl │ │ │ ├── helpers.js │ │ │ └── styles.styl │ │ └── views/ │ │ ├── AI/ │ │ │ └── AIAssistantPaywallView.tsx │ │ ├── Drive/ │ │ │ ├── DriveFolderView.jsx │ │ │ ├── DriveFolderView.spec.jsx │ │ │ ├── FilesViewerDrive.jsx │ │ │ ├── HarvestBanner.jsx │ │ │ ├── KonnectorRoutes.jsx │ │ │ ├── SharedDrivesFolderView.tsx │ │ │ └── useTrashRedirect.jsx │ │ ├── Favorites/ │ │ │ └── FavoritesView.tsx │ │ ├── Folder/ │ │ │ ├── ColoredFolder.jsx │ │ │ ├── CustomizedIcon.jsx │ │ │ ├── FolderCustomizer.jsx │ │ │ ├── FolderDuplicateView.tsx │ │ │ ├── FolderView.jsx │ │ │ ├── FolderViewBody.jsx │ │ │ ├── FolderViewBreadcrumb.jsx │ │ │ ├── FolderViewBreadcrumb.spec.jsx │ │ │ ├── FolderViewHeader.jsx │ │ │ ├── OldFolderViewBreadcrumb.jsx │ │ │ ├── PublicFolderDuplicateView.tsx │ │ │ ├── helpers.js │ │ │ ├── helpers.spec.js │ │ │ ├── hooks/ │ │ │ │ ├── useFileSorting.js │ │ │ │ └── useFileSorting.spec.js │ │ │ ├── syncHelpers.js │ │ │ ├── syncHelpers.spec.js │ │ │ ├── useSyncingFakeFile.js │ │ │ └── virtualized/ │ │ │ ├── AddFolderWrapper.jsx │ │ │ ├── FolderViewBody.jsx │ │ │ ├── FolderViewBodyContent.jsx │ │ │ ├── Grid.jsx │ │ │ ├── GridWrapper.jsx │ │ │ ├── Table.jsx │ │ │ ├── helpers.js │ │ │ ├── useScrollToHighlightedItem.jsx │ │ │ └── useScrollToHighlightedItem.spec.jsx │ │ ├── Modal/ │ │ │ ├── DuplicateSharedDriveFilesView.jsx │ │ │ ├── MoveFilesView.jsx │ │ │ ├── MovePublicFilesView.tsx │ │ │ ├── MoveSharedDriveFilesView.jsx │ │ │ ├── QualifyFileView.jsx │ │ │ ├── ShareDisplayedFolderView.jsx │ │ │ └── ShareFileView.jsx │ │ ├── Nextcloud/ │ │ │ ├── NextcloudDeleteView.jsx │ │ │ ├── NextcloudDestroyView.tsx │ │ │ ├── NextcloudDuplicateView.tsx │ │ │ ├── NextcloudFolderView.jsx │ │ │ ├── NextcloudMoveView.jsx │ │ │ ├── NextcloudTrashEmptyView.tsx │ │ │ └── NextcloudTrashView.tsx │ │ ├── OnlyOffice/ │ │ │ ├── Create.jsx │ │ │ ├── Editor.jsx │ │ │ ├── Editor.spec.jsx │ │ │ ├── Error.jsx │ │ │ ├── Loading.jsx │ │ │ ├── OnlyOfficeAIAssistantPanel.tsx │ │ │ ├── OnlyOfficePaywallView.jsx │ │ │ ├── OnlyOfficeProvider.jsx │ │ │ ├── ReadOnlyFab.jsx │ │ │ ├── Title.jsx │ │ │ ├── Toolbar/ │ │ │ │ ├── BackButton.jsx │ │ │ │ ├── EditButton.jsx │ │ │ │ ├── FileIcon.jsx │ │ │ │ ├── FileName.jsx │ │ │ │ ├── HomeIcon.jsx │ │ │ │ ├── HomeLinker.jsx │ │ │ │ ├── Separator.jsx │ │ │ │ ├── Sharing.jsx │ │ │ │ ├── SummarizeByAIButtonWrapper.tsx │ │ │ │ ├── helpers.js │ │ │ │ ├── index.jsx │ │ │ │ ├── index.spec.jsx │ │ │ │ └── styles.styl │ │ │ ├── View.jsx │ │ │ ├── components/ │ │ │ │ ├── FileDeletedModal.jsx │ │ │ │ └── FileDivergedModal.jsx │ │ │ ├── config.js │ │ │ ├── helpers.js │ │ │ ├── helpers.spec.js │ │ │ ├── index.jsx │ │ │ ├── styles.styl │ │ │ ├── useConfig.jsx │ │ │ └── useCreateFile.jsx │ │ ├── Public/ │ │ │ ├── PublicFileViewer.jsx │ │ │ ├── PublicFolderView.jsx │ │ │ ├── PublicFolderView.spec.jsx │ │ │ ├── usePublicFileByIdsQuery.spec.jsx │ │ │ ├── usePublicFileByIdsQuery.tsx │ │ │ ├── usePublicFilesQuery.jsx │ │ │ ├── usePublicFilesQuery.spec.jsx │ │ │ └── usePublicWritePermissions.jsx │ │ ├── Recent/ │ │ │ ├── FilesViewerRecent.jsx │ │ │ ├── index.jsx │ │ │ └── index.spec.jsx │ │ ├── Search/ │ │ │ └── SearchView.jsx │ │ ├── SharedDrive/ │ │ │ ├── CreateSharedDriveButton.jsx │ │ │ ├── FilesViewerSharedDrive.jsx │ │ │ └── SharedDriveFolderView.jsx │ │ ├── Sharings/ │ │ │ ├── FilesViewerSharings.jsx │ │ │ ├── SharingsFolderView.jsx │ │ │ ├── index.jsx │ │ │ ├── index.spec.jsx │ │ │ └── withSharedDocumentIds.jsx │ │ ├── Trash/ │ │ │ ├── FilesViewerTrash.jsx │ │ │ ├── TrashDestroyView.tsx │ │ │ ├── TrashEmptyView.tsx │ │ │ ├── TrashFolderView.jsx │ │ │ └── TrashFolderView.spec.jsx │ │ ├── Upload/ │ │ │ ├── UploadTypes.ts │ │ │ ├── UploadUtils.ts │ │ │ ├── UploaderComponent.tsx │ │ │ ├── __mocks__/ │ │ │ │ └── cozy-intent.ts │ │ │ ├── useResumeFromFlagship.spec.tsx │ │ │ ├── useResumeFromFlagship.ts │ │ │ └── useUploadFromFlagship.ts │ │ ├── testUtils.jsx │ │ ├── useUpdateDocumentTitle.jsx │ │ └── useUpdateDocumentTitle.spec.js │ ├── queries/ │ │ └── index.ts │ ├── store/ │ │ ├── __mocks__/ │ │ │ └── configureStore.js │ │ ├── configureStore.js │ │ ├── persistedState.js │ │ └── rootReducer.js │ ├── styles/ │ │ ├── actionmenu.styl │ │ ├── coz-bar-size.styl │ │ ├── dropzone.styl │ │ ├── filelist.styl │ │ ├── filenameinput.styl │ │ ├── folder-customizer.styl │ │ ├── folder-picker.styl │ │ ├── folder-view.styl │ │ ├── main.styl │ │ ├── toolbar.styl │ │ └── topbar.styl │ └── targets/ │ ├── browser/ │ │ ├── index.ejs │ │ ├── index.jsx │ │ ├── setupAppContext.js │ │ └── wdyr.js │ ├── intents/ │ │ ├── index.ejs │ │ └── index.jsx │ ├── public/ │ │ ├── components/ │ │ │ ├── AppRouter.jsx │ │ │ └── AppRouter.spec.jsx │ │ ├── index.ejs │ │ ├── index.jsx │ │ ├── localeHelper.js │ │ └── localeHelper.spec.js │ └── services/ │ ├── dacc.js │ └── qualificationMigration.js ├── test/ │ ├── __mocks__/ │ │ ├── fileMock.js │ │ └── mockedRouter.js │ ├── components/ │ │ ├── AppLike.jsx │ │ ├── FolderContent.jsx │ │ ├── FolderContent.spec.jsx │ │ └── __snapshots__/ │ │ └── File.spec.js.snap │ ├── data.js │ ├── dummies/ │ │ ├── dummyBreadcrumbPath.js │ │ └── dummyFile.js │ ├── generate.js │ ├── helpers/ │ │ └── index.js │ ├── jestLib/ │ │ └── json-transformer.js │ └── setup.jsx ├── transifex.yml └── tsconfig.json