From 3a641818f6e4d35aab7433de45f51a76848a81b9 Mon Sep 17 00:00:00 2001 From: subnub Date: Sat, 28 Dec 2024 14:16:39 -0500 Subject: [PATCH] webkit directory support test --- .../AddNewDropdown/AddNewDropdown.tsx | 29 ++++++++++++------- 1 file changed, 19 insertions(+), 10 deletions(-) diff --git a/src/components/AddNewDropdown/AddNewDropdown.tsx b/src/components/AddNewDropdown/AddNewDropdown.tsx index b2147a1..1bc9fb3 100644 --- a/src/components/AddNewDropdown/AddNewDropdown.tsx +++ b/src/components/AddNewDropdown/AddNewDropdown.tsx @@ -3,7 +3,7 @@ import { createFolderAPI, uploadFolderAPI } from "../../api/foldersAPI"; import { useFoldersClient } from "../../hooks/folders"; import { useClickOutOfBounds } from "../../hooks/utils"; import { showCreateFolderPopup } from "../../popups/folder"; -import React, { RefObject, useRef } from "react"; +import React, { RefObject, useEffect, useRef, useState } from "react"; import { useUploader } from "../../hooks/files"; import UploadFileIcon from "../../icons/UploadFileIcon"; import CreateFolderIcon from "../../icons/CreateFolderIcon"; @@ -16,6 +16,7 @@ interface AddNewDropdownProps { const AddNewDropdown: React.FC = (props) => { const params = useParams(); const { invalidateFoldersCache } = useFoldersClient(); + const [supportsWebkitDirectory, setSupportsWebkitDirectory] = useState(false); const { wrapperRef } = useClickOutOfBounds(props.closeDropdown); const uploadRef: RefObject = useRef(null); const uploadFolderRef: RefObject = useRef(null); @@ -68,6 +69,12 @@ const AddNewDropdown: React.FC = (props) => { } }; + useEffect(() => { + if (uploadFolderRef.current) { + setSupportsWebkitDirectory("webkitdirectory" in uploadFolderRef.current); + } + }, []); + return (
= (props) => {

Create Folder

-
  • - - -

    Upload Folder

    -
    -
  • + {supportsWebkitDirectory && ( +
  • + + +

    Upload Folder

    +
    +
  • + )}
    );