diff --git a/packages/files-ui/src/Components/Modules/FileBrowsers/Sharing/ShareFileBrowser.tsx b/packages/files-ui/src/Components/Modules/FileBrowsers/Sharing/ShareFileBrowser.tsx index 714a7f442f..e50587f352 100644 --- a/packages/files-ui/src/Components/Modules/FileBrowsers/Sharing/ShareFileBrowser.tsx +++ b/packages/files-ui/src/Components/Modules/FileBrowsers/Sharing/ShareFileBrowser.tsx @@ -11,7 +11,7 @@ import { BucketPermission, FileSystemItem, useFiles } from "../../../../Contexts import { useFilesApi } from "../../../../Contexts/FilesApiContext" import { useUser } from "../../../../Contexts/UserContext" import DragAndDrop from "../../../../Contexts/DnDContext" -import SharesList from "../views/SharesList" +import FilesList from "../views/FilesList" const ShareFileBrowser = () => { const { @@ -232,7 +232,6 @@ const ShareFileBrowser = () => { return ( { withSurvey: false }}> - + ) diff --git a/packages/files-ui/src/Components/Modules/FileBrowsers/views/FilesList.tsx b/packages/files-ui/src/Components/Modules/FileBrowsers/views/FilesList.tsx index 522ba2c5e8..d837e4f497 100644 --- a/packages/files-ui/src/Components/Modules/FileBrowsers/views/FilesList.tsx +++ b/packages/files-ui/src/Components/Modules/FileBrowsers/views/FilesList.tsx @@ -51,6 +51,10 @@ import SurveyBanner from "../../../SurveyBanner" import { DragPreviewLayer } from "./DragPreviewLayer" import { useFileBrowser } from "../../../../Contexts/FileBrowserContext" +const baseOperations: FileOperation[] = ["download", "info", "preview"] +const writerOperations: FileOperation[] = [...baseOperations, "delete", "move", "rename"] +const csfOperations: FileOperation[] = [...writerOperations, "share"] + interface IStyleProps { themeKey: string } @@ -277,7 +281,10 @@ const useStyles = makeStyles( const sortFoldersFirst = (a: FileSystemItemType, b: FileSystemItemType) => a.isFolder && a.content_type !== b.content_type ? -1 : 1 -const FilesList = () => { + interface Props { + isShared?: boolean + } +const FilesList = ({ isShared = false }: Props) => { const { themeKey, desktop } = useThemeSwitcher() const { @@ -312,7 +319,7 @@ const FilesList = () => { const [previewFileIndex, setPreviewFileIndex] = useState() const { selectedLocale } = useLanguageContext() const { redirect } = useHistory() - + const { permission } = bucket || {} const items: FileSystemItemType[] = useMemo(() => { let temp = [] @@ -466,60 +473,64 @@ const FilesList = () => { const [validBulkOps, setValidBulkOps] = useState([]) useEffect(() => { - if (bulkOperations) { - let filteredList: FileOperation[] = [ - "delete", - "download", - "info", - "move", - "preview", - "rename", - "share", - "recover" - ] + if (!bulkOperations) return + let fileOperations: FileOperation[] = csfOperations + + if (!!permission && isShared) { + + switch(permission) { + case "owner": + case "writer": + fileOperations = writerOperations + break + case "reader": + fileOperations = baseOperations + break + } + for (let i = 0; i < selectedCids.length; i++) { const contentType = items.find((item) => item.cid === selectedCids[i]) ?.content_type if (contentType) { if (contentType === CONTENT_TYPES.Directory) { - const validList = filteredList.filter( + const validList = fileOperations.filter( (op: FileOperation) => bulkOperations[contentType].indexOf(op) >= 0 ) if (validList.length > 0) { - filteredList = filteredList.filter( + fileOperations = fileOperations.filter( (existingOp: FileOperation) => validList.indexOf(existingOp) >= 0 ) } } else { - const validList = filteredList.filter( + const validList = fileOperations.filter( (op: FileOperation) => bulkOperations[CONTENT_TYPES.File].indexOf(op) >= 0 ) if (validList.length > 0) { - filteredList = filteredList.filter( + fileOperations = fileOperations.filter( (existingOp: FileOperation) => validList.indexOf(existingOp) >= 0 ) } } } else { - const validList = filteredList.filter( + const validList = fileOperations.filter( (op: FileOperation) => bulkOperations[CONTENT_TYPES.File].indexOf(op) >= 0 ) if (validList.length > 0) { - filteredList = filteredList.filter( + fileOperations = fileOperations.filter( (existingOp: FileOperation) => validList.indexOf(existingOp) >= 0 ) } } } - setValidBulkOps(filteredList) + setValidBulkOps(fileOperations) } - }, [selectedCids, items, bulkOperations]) + }, [selectedCids, items, bulkOperations, isShared, permission]) const handleDeleteFiles = useCallback(() => { if (!deleteFiles) return @@ -635,27 +646,33 @@ const FilesList = () => { > {browserView === "table" ? : } - - + { + permission !== "reader" && ( + <> + + + + ) + } ) : ( controls && !desktop && ( @@ -718,7 +735,7 @@ const FilesList = () => { )} - { withSurvey && isSurveyBannerVisible + { withSurvey && !isShared && isSurveyBannerVisible ? : } @@ -768,10 +785,14 @@ const FilesList = () => { loadingCurrentPath && classes.showLoadingContainer )} > - - + + One sec, getting files ready… @@ -960,7 +981,7 @@ const FilesList = () => { ))} )} - {files && previewFileIndex !== undefined && bucket && ( + {files && previewFileIndex !== undefined && ( { - const desktopGridSettings = "50px 69px 3fr 190px 100px 45px !important" - const mobileGridSettings = "69px 3fr 45px !important" - return createStyles({ - root: { - position: "relative", - [breakpoints.down("md")]: { - marginLeft: constants.generalUnit * 2, - marginRight: constants.generalUnit * 2 - }, - [breakpoints.up("md")]: { - border: "1px solid transparent", - padding: `0 ${constants.generalUnit}px`, - borderRadius: constants.generalUnit / 4, - minHeight: `calc(100vh - ${Number(constants.contentTopPadding)}px)`, - "&.droppable": { - borderColor: palette.primary.main - } - } - // transitionDuration: `${animation.transform}ms`, - }, - header: { - display: "flex", - flexDirection: "row", - justifyContent: "space-between", - alignItems: "center", - [breakpoints.down("md")]: { - marginTop: constants.generalUnit - } - }, - controls: { - display: "flex", - flexDirection: "row", - justifyContent: "space-between", - alignItems: "center", - "& > button": { - marginLeft: constants.generalUnit - } - }, - breadCrumbContainer: { - margin: `${constants.generalUnit * 2}px 0`, - height: 22, - [breakpoints.down("md")]: { - marginTop: constants.generalUnit * 3, - marginBottom: 0 - } - }, - divider: { - "&:before, &:after": { - backgroundColor: palette.additional["gray"][4] - }, - [breakpoints.up("md")]: { - margin: `${constants.generalUnit * 3}px 0` - }, - [breakpoints.down("md")]: { - margin: `${constants.generalUnit * 3}px 0 0` - } - }, - noFiles: ({ themeKey }: IStyleProps) => ({ - display: "flex", - flexDirection: "column", - alignItems: "center", - marginTop: "25vh", - color: constants.filesTable.color, - "& svg": { - maxWidth: 180, - marginBottom: constants.generalUnit * 3, - "& path": { - "&:first-child": { - fill: themeKey === "dark" ? palette.additional.gray[2] : "" - }, - "&:nth-child(2)": { - stroke: themeKey === "dark" ? palette.additional.gray[2] : "", - fill: themeKey === "dark" ? "transparent" : "" - }, - "&:last-child": { - fill: themeKey === "dark" ? palette.additional.gray[4] : "", - stroke: themeKey === "dark" ? palette.additional.gray[2] : "" - } - } - } - }), - tableRow: { - border: "2px solid transparent", - transitionDuration: `${animation.transform}ms`, - [breakpoints.up("md")]: { - gridTemplateColumns: desktopGridSettings - }, - [breakpoints.down("md")]: { - gridTemplateColumns: mobileGridSettings - } - }, - fileIcon: { - display: "flex", - flexDirection: "row", - alignItems: "center", - justifyContent: "center", - "& svg": { - width: constants.generalUnit * 2.5 - } - }, - progressIcon: { - display: "flex", - flexDirection: "row", - alignItems: "center", - justifyContent: "center" - }, - dropdownIcon: { - "& svg": { - height: 20, - width: 20 - } - }, - dropdownOptions: { - "& > *": { - padding: 0 - } - }, - mobileButton: { - padding: `${constants.generalUnit * 2}px !important`, - borderRadius: 0, - justifyContent: "flex-start", - "& > *:last-child": { - display: "block", - width: "calc(100% - 24px)", - textAlign: "center" - } - }, - dropNotification: { - display: "block", - position: "fixed", - zIndex: zIndex?.layer4, - bottom: 0, - transform: "translateX(-50%)", - backgroundColor: palette.common.black.main, - color: constants.filesTable.uploadText, - opacity: 0, - visibility: "hidden", - transitionDuration: `${animation.transform}ms`, - textAlign: "center", - width: 260, - padding: `${constants.generalUnit}px 0`, - [breakpoints.up("md")]: { - left: `calc(50% + ${Number(constants.navWidth) / 2}px)` - }, - "&.active": { - opacity: 1, - visibility: "visible" - } - }, - loadingContainer: { - position: "absolute", - width: "100%", - paddingTop: constants.generalUnit * 6, - display: "flex", - flexDirection: "column", - alignItems: "center", - opacity: 0, - visibility: "hidden", - transition: `opacity ${animation.transform * 3}ms`, - "& svg": { - marginBottom: constants.generalUnit * 2 - } - }, - showLoadingContainer: { - visibility: "visible", - opacity: 1 - }, - fadeOutLoading: { - opacity: 0.2, - transition: `opacity ${animation.transform * 3}ms` - }, - tableHead: { - marginTop: constants.generalUnit * 3 - }, - bulkOperations: { - display: "flex", - flexDirection: "row", - marginTop: constants.generalUnit * 3, - minHeight: constants.generalUnit * 4.2, // reserve space for buttons for the interface not to jump when they get visible - "& > *": { - marginRight: constants.generalUnit - } - }, - confirmDeletionDialog: { - top: "50%" - }, - gridRoot: { - display: "grid", - gridTemplateColumns: "1fr 1fr 1fr 1fr 1fr 1fr", - gridColumnGap: constants.generalUnit * 2, - gridRowGap: constants.generalUnit * 2, - marginBottom: constants.generalUnit * 4, - marginTop: constants.generalUnit * 4, - [breakpoints.down("lg")]: { - gridTemplateColumns: "1fr 1fr 1fr 1fr" - }, - [breakpoints.down("md")]: { - margin: `${constants.generalUnit * 4}px 0` - }, - [breakpoints.down("sm")]: { - gridTemplateColumns: "1fr 1fr", - margin: `${constants.generalUnit * 2}px 0` - } - }, - viewToggleButton: { - border: "none", - "& svg": { - marginTop: "2px", - width: "20px", - height: "20px" - } - } - }) - } -) - -// Sorting -const sortFoldersFirst = (a: FileSystemItemType, b: FileSystemItemType) => - a.isFolder && a.content_type !== b.content_type ? -1 : 1 - - -const SharesList = () => { - const { themeKey, desktop } = useThemeSwitcher() - - const { - heading, - controls = true, - sourceFiles, - handleUploadOnDrop, - bulkOperations, - crumbs, - renameItem: handleRename, - deleteItems: deleteFiles, - viewFolder, - currentPath, - refreshContents, - loadingCurrentPath, - uploadsInProgress, - showUploadsInTable, - allowDropUpload, - itemOperations, - getPath, - moduleRootPath, - isSearch, - withSurvey, - bucket, - accessRole - } = useFileBrowser() - const classes = useStyles({ themeKey }) - const [editing, setEditing] = useState() - const [direction, setDirection] = useState("ascend") - const [isSurveyBannerVisible, setIsSurveyBannerVisible] = useState(true) - const [column, setColumn] = useState<"name" | "shared_with" | "date_uploaded">("name") - const [selectedCids, setSelectedCids] = useState([]) - const [previewFileIndex, setPreviewFileIndex] = useState() - const { selectedLocale } = useLanguageContext() - const { redirect } = useHistory() - - const items: FileSystemItemType[] = useMemo(() => { - let temp = [] - - switch (column) { - default: { - // case "name": { - temp = sourceFiles.sort((a, b) => { - return a.name.localeCompare(b.name, selectedLocale, { - sensitivity: "base" - }) - }) - break - } - case "date_uploaded": { - temp = sourceFiles - .sort((a, b) => (a.created_at < b.created_at ? -1 : 1)) - .sort(sortFoldersFirst) - break - } - } - return direction === "descend" - ? temp.reverse().sort(sortFoldersFirst) - : temp.sort(sortFoldersFirst) - }, [sourceFiles, direction, column, selectedLocale]) - - const files = useMemo(() => items.filter((i) => !i.isFolder), [items]) - - const selectedItems = useMemo( - () => items.filter((file) => selectedCids.includes(file.cid)), - [selectedCids, items] - ) - - const handleSortToggle = ( - // targetColumn: "name" | "size" | "date_uploaded" - targetColumn: "name" | "shared_with" | "date_uploaded" - ) => { - if (column !== targetColumn) { - setColumn(targetColumn) - setDirection("descend") - } else { - if (direction === "ascend") { - setDirection("descend") - } else { - setDirection("ascend") - } - } - } - - // Previews - const setNextPreview = () => { - if ( - files && - previewFileIndex !== undefined && - previewFileIndex < files.length - 1 - ) { - setPreviewFileIndex(previewFileIndex + 1) - } - } - - const setPreviousPreview = () => { - if (files && previewFileIndex !== undefined && previewFileIndex > 0) { - setPreviewFileIndex(previewFileIndex - 1) - } - } - - const clearPreview = () => { - setPreviewFileIndex(undefined) - } - - // Selection logic - const handleSelectCid = useCallback( - (cid: string) => { - if (selectedCids.includes(cid)) { - setSelectedCids([]) - } else { - setSelectedCids([cid]) - } - }, - [selectedCids] - ) - - const handleAddToSelectedCids = useCallback( - (cid: string) => { - if (selectedCids.includes(cid)) { - setSelectedCids( - selectedCids.filter((selectedCid: string) => selectedCid !== cid) - ) - } else { - setSelectedCids([...selectedCids, cid]) - } - }, - [selectedCids] - ) - - const toggleAll = useCallback(() => { - if (selectedCids.length === items.length) { - setSelectedCids([]) - } else { - setSelectedCids([...items.map((file: FileSystemItemType) => file.cid)]) - } - }, [setSelectedCids, items, selectedCids]) - - const invalidFilenameRegex = new RegExp("/") - const renameSchema = object().shape({ - fileName: string() - .min(1, t`Please enter a name`) - .max(65, t`Name too long`) - .test( - t`Invalid name`, - t`Name cannot contain '/' character`, - (val: string | null | undefined) => - !invalidFilenameRegex.test(val || "") - ) - .required(t`A name is required`) - }) - - const [{ isOverUploadable, isOverBrowser }, dropBrowserRef] = useDrop({ - accept: [NativeTypes.FILE], - drop: (item: any, monitor) => { - if (monitor.isOver({ shallow: true })) { - handleUploadOnDrop && - currentPath && - handleUploadOnDrop(item.files, item.items, currentPath) - refreshContents && refreshContents() - } - }, - collect: (monitor) => ({ - isOverBrowser: monitor.isOver(), - isOverUploadable: monitor.isOver({ shallow: true }), - canDrop: monitor.canDrop() - }) - }) - - // Modals - const [createFolderModalOpen, setCreateFolderModalOpen] = useState(false) - const [isUploadModalOpen, setIsUploadModalOpen] = useState(false) - const [isMoveFileModalOpen, setIsMoveFileModalOpen] = useState(false) - const [isDeleteModalOpen, setIsDeleteModalOpen] = useState(false) - const [isDeletingFiles, setIsDeletingFiles] = useState(false) - const [fileInfoPath, setFileInfoPath] = useState( - undefined - ) - - const [browserView, setBrowserView] = useState("table") - - // Bulk operations - const [validBulkOps, setValidBulkOps] = useState([]) - - useEffect(() => { - if (bulkOperations && accessRole) { - let filteredList: FileOperation[] = [] - - switch(accessRole) { - case "owner": - filteredList = [ - "delete", - "download", - "info", - "move", - "preview", - "rename", - "share" - ] - break - case "writer": - filteredList = [ - "delete", - "download", - "info", - "move", - "preview", - "rename", - "share" - ] - break - case "reader": - filteredList = [ - "download", - "info", - "preview", - "share" - ] - break - } - - for (let i = 0; i < selectedCids.length; i++) { - const contentType = items.find((item) => item.cid === selectedCids[i]) - ?.content_type - - if (contentType) { - if (contentType === CONTENT_TYPES.Directory) { - const validList = filteredList.filter( - (op: FileOperation) => - bulkOperations[contentType].indexOf(op) >= 0 - ) - if (validList.length > 0) { - filteredList = filteredList.filter( - (existingOp: FileOperation) => - validList.indexOf(existingOp) >= 0 - ) - } - } else { - const validList = filteredList.filter( - (op: FileOperation) => - bulkOperations[CONTENT_TYPES.File].indexOf(op) >= 0 - ) - if (validList.length > 0) { - filteredList = filteredList.filter( - (existingOp: FileOperation) => - validList.indexOf(existingOp) >= 0 - ) - } - } - } else { - const validList = filteredList.filter( - (op: FileOperation) => - bulkOperations[CONTENT_TYPES.File].indexOf(op) >= 0 - ) - if (validList.length > 0) { - filteredList = filteredList.filter( - (existingOp: FileOperation) => validList.indexOf(existingOp) >= 0 - ) - } - } - } - setValidBulkOps(filteredList) - } - }, [selectedCids, items, bulkOperations, accessRole]) - - const handleDeleteFiles = useCallback(() => { - if (!deleteFiles) return - - setIsDeletingFiles(true) - deleteFiles(selectedCids) - .catch(console.error) - .finally(() => { - setIsDeletingFiles(false) - setSelectedCids([]) - setIsDeleteModalOpen(false) - }) - }, [deleteFiles, selectedCids]) - - const getItemOperations = useCallback( - (contentType: string) => { - const result = Object.keys(itemOperations).reduce( - (acc: FileOperation[], item: string) => { - const matcher = new MimeMatcher(item) - // Prevent Files options from being added to Directory options - if ( - !( - contentType === CONTENT_TYPES.Directory && - item === CONTENT_TYPES.File - ) && - matcher.match(contentType) - ) { - acc.push(...itemOperations[item]) - } - return acc - }, - [] - ) - return [...new Set(result)] - }, - [itemOperations] - ) - - const resetSelectedCids = useCallback(() => { - setSelectedCids([]) - }, []) - - useEffect(() => { - setSelectedCids([]) - }, [currentPath]) - - const onHideSurveyBanner = useCallback(() => { - setIsSurveyBannerVisible(false) - }, [setIsSurveyBannerVisible]) - - const handleViewFolder = useCallback((cid: string) => { - viewFolder && viewFolder(cid) - }, [viewFolder]) - - const handleOpenMoveFileDialog = useCallback((e: React.MouseEvent) => { - e.preventDefault() - e.stopPropagation() - setIsMoveFileModalOpen(true) - }, []) - - const handleOpenDeleteDialog = useCallback((e: React.MouseEvent) => { - e.preventDefault() - e.stopPropagation() - setIsDeleteModalOpen(true) - }, []) - - return ( -
-
- - Drop to upload files - -
- -
- {crumbs && moduleRootPath ? ( - redirect(moduleRootPath)} - showDropDown={!desktop} - /> - ) : null} -
-
- - {heading} - -
- {controls && desktop ? ( - <> - - { - accessRole !== "reader" && ( - <> - - - - ) - } - - ) : ( - controls && !desktop && ( - <> - - setCreateFolderModalOpen(true)} - variant="primary" - size="large" - className={classes.mobileButton} - fullsize - > - - - Create folder - - - ) - }, - { - contents: ( - - ) - } - ]} - /> - - ) - )} -
-
- { withSurvey && isSurveyBannerVisible - ? - : - } - -
- {selectedCids.length > 0 && ( - <> - {validBulkOps.indexOf("move") >= 0 && ( - - )} - {validBulkOps.indexOf("delete") >= 0 && ( - - )} - - )} -
-
- - - One sec, getting files ready... - -
- {(desktop && items.length === 0) || - (!desktop && items.length === 0 && uploadsInProgress?.length === 0) ? ( -
- - - No files to show - -
- ) : browserView === "table" ? ( - - - - - toggleAll()} - /> - - - {/* - Icon - */} - - handleSortToggle("name")} - sortDirection={column === "name" ? direction : undefined} - sortActive={column === "name"} - > - Name - - handleSortToggle("date_uploaded")} - sortDirection={ - column === "date_uploaded" ? direction : undefined - } - sortActive={column === "date_uploaded"} - > - Date uploaded - - handleSortToggle("shared_with")} - sortDirection={column === "shared_with" ? direction : undefined} - sortActive={column === "shared_with"} - > - Size - - {/* Menu */} - - - - {!desktop && - showUploadsInTable && - uploadsInProgress - ?.filter( - (uploadInProgress) => - uploadInProgress.path === currentPath && - !uploadInProgress.complete && - !uploadInProgress.error - ) - .map((uploadInProgress) => ( - - - - - - {uploadInProgress.noOfFiles > 1 - ? t`Uploading ${uploadInProgress.noOfFiles} files` - : uploadInProgress.fileName} - - - - ))} - {items.map((file, index) => ( - { - handleRename && (await handleRename(cid, newName)) - setEditing(undefined) - }} - deleteFile={() => { - setSelectedCids([file.cid]) - setIsDeleteModalOpen(true) - }} - viewFolder={handleViewFolder} - setPreviewFileIndex={setPreviewFileIndex} - moveFile={() => { - setSelectedCids([file.cid]) - setIsMoveFileModalOpen(true) - }} - setFileInfoPath={setFileInfoPath} - itemOperations={getItemOperations(file.content_type)} - resetSelectedFiles={resetSelectedCids} - browserView="table" - /> - ))} - -
- ) : ( -
- {items.map((file, index) => ( - { - handleRename && (await handleRename(path, newPath)) - setEditing(undefined) - }} - deleteFile={() => { - setSelectedCids([file.cid]) - setIsDeleteModalOpen(true) - }} - setPreviewFileIndex={setPreviewFileIndex} - moveFile={() => { - setSelectedCids([file.cid]) - setIsMoveFileModalOpen(true) - }} - setFileInfoPath={setFileInfoPath} - itemOperations={getItemOperations(file.content_type)} - resetSelectedFiles={resetSelectedCids} - browserView="grid" - /> - ))} -
- )} - {files && previewFileIndex !== undefined && bucket && ( - 0 ? setPreviousPreview : undefined} - path={isSearch && getPath ? getPath(files[previewFileIndex].cid) : getPathWithFile(currentPath, files[previewFileIndex].name)} - /> - )} - setIsDeleteModalOpen(false)} - accept={handleDeleteFiles} - requestMessage={ - plural(selectedCids.length, { - one: `You are about to delete ${selectedCids.length} file.`, - other: `You are about to delete ${selectedCids.length} files.` - }) - } - rejectText = {t`Cancel`} - acceptText = {t`Confirm`} - acceptButtonProps={{ loading: isDeletingFiles, disabled: isDeletingFiles }} - rejectButtonProps={{ disabled: isDeletingFiles }} - injectedClass={{ inner: classes.confirmDeletionDialog }} - onModalBodyClick={(e) => { - e.preventDefault() - e.stopPropagation() - }} - /> - - - { - refreshContents && ( - <> - setCreateFolderModalOpen(false)} - /> - setIsUploadModalOpen(false)} - /> - { - setIsMoveFileModalOpen(false) - setSelectedCids([]) - }} - onCancel={() => setIsMoveFileModalOpen(false)} - /> - - ) - } - { fileInfoPath && - setFileInfoPath(undefined)} - /> - } -
- ) -} - -export default SharesList diff --git a/packages/files-ui/src/Contexts/FileBrowserContext.tsx b/packages/files-ui/src/Contexts/FileBrowserContext.tsx index 39d384ae3b..b60005a501 100644 --- a/packages/files-ui/src/Contexts/FileBrowserContext.tsx +++ b/packages/files-ui/src/Contexts/FileBrowserContext.tsx @@ -1,12 +1,11 @@ import { Crumb } from "@chainsafe/common-components" import React, { useContext } from "react" import { FileOperation, IBulkOperations, IFileBrowserModuleProps } from "../Components/Modules/FileBrowsers/types" -import { BucketKeyPermission, FileSystemItem, UploadProgress, BucketPermission } from "./FilesContext" +import { BucketKeyPermission, FileSystemItem, UploadProgress } from "./FilesContext" interface FileBrowserContext extends IFileBrowserModuleProps { bucket?: BucketKeyPermission - accessRole?: BucketPermission itemOperations: {[contentType: string]: FileOperation[]} bulkOperations?: IBulkOperations renameItem?: (cid: string, newName: string) => Promise diff --git a/packages/files-ui/src/Contexts/FilesContext.tsx b/packages/files-ui/src/Contexts/FilesContext.tsx index 0ad212ebd4..92c77261e8 100644 --- a/packages/files-ui/src/Contexts/FilesContext.tsx +++ b/packages/files-ui/src/Contexts/FilesContext.tsx @@ -160,7 +160,6 @@ const FilesProvider = ({ children }: FilesContextProps) => { } }) ) - console.log(bucketsWithKeys) setBuckets(bucketsWithKeys) setIsLoadingBuckets(false) return Promise.resolve() diff --git a/packages/files-ui/src/locales/de/messages.po b/packages/files-ui/src/locales/de/messages.po index f13b0cbc12..b1d41ba6d7 100644 --- a/packages/files-ui/src/locales/de/messages.po +++ b/packages/files-ui/src/locales/de/messages.po @@ -373,9 +373,6 @@ msgstr "Anzahl der Kopien (Replikationsfaktor)" msgid "OK" msgstr "OK" -msgid "One sec, getting files ready..." -msgstr "" - msgid "One sec, getting files ready…" msgstr "Eine Sekunde, die Dateien werden vorbereitet …" diff --git a/packages/files-ui/src/locales/en/messages.po b/packages/files-ui/src/locales/en/messages.po index 5a84793f7a..7063a35be5 100644 --- a/packages/files-ui/src/locales/en/messages.po +++ b/packages/files-ui/src/locales/en/messages.po @@ -376,9 +376,6 @@ msgstr "Number of copies (Replication Factor)" msgid "OK" msgstr "OK" -msgid "One sec, getting files ready..." -msgstr "One sec, getting files ready..." - msgid "One sec, getting files ready…" msgstr "One sec, getting files ready…" diff --git a/packages/files-ui/src/locales/fr/messages.po b/packages/files-ui/src/locales/fr/messages.po index 9732d89f40..2c8afd1325 100644 --- a/packages/files-ui/src/locales/fr/messages.po +++ b/packages/files-ui/src/locales/fr/messages.po @@ -377,9 +377,6 @@ msgstr "Nombre de copies (facteur de réplication)" msgid "OK" msgstr "OK" -msgid "One sec, getting files ready..." -msgstr "" - msgid "One sec, getting files ready…" msgstr "Un instant, nous préparons les fichiers…" diff --git a/packages/files-ui/src/locales/no/messages.po b/packages/files-ui/src/locales/no/messages.po index dc086b0ab3..1ff2eca33f 100644 --- a/packages/files-ui/src/locales/no/messages.po +++ b/packages/files-ui/src/locales/no/messages.po @@ -373,9 +373,6 @@ msgstr "" msgid "OK" msgstr "OK" -msgid "One sec, getting files ready..." -msgstr "" - msgid "One sec, getting files ready…" msgstr ""