diff --git a/src/frontend/apps/drive/src/features/explorer/components/ExplorerTree.tsx b/src/frontend/apps/drive/src/features/explorer/components/ExplorerTree.tsx index 762e23a6..de1879dc 100644 --- a/src/frontend/apps/drive/src/features/explorer/components/ExplorerTree.tsx +++ b/src/frontend/apps/drive/src/features/explorer/components/ExplorerTree.tsx @@ -1,21 +1,8 @@ -import { useMutation, useQueryClient } from "@tanstack/react-query"; -import { getDriver } from "@/features/config/Config"; -import { - Button, - Input, - Modal, - ModalProps, - ModalSize, - useModal, -} from "@openfun/cunningham-react"; +import { Button, useModal } from "@openfun/cunningham-react"; import { useTranslation } from "react-i18next"; -import { SubmitHandler, useForm } from "react-hook-form"; import { NavigationEventType, useExplorer } from "./ExplorerContext"; import { Item } from "@/features/drivers/types"; - -type Inputs = { - title: string; -}; +import { ExplorerCreateFolderModal } from "./modals/ExplorerCreateFolderModal"; export const ExplorerTree = () => { const { t } = useTranslation(); @@ -82,65 +69,3 @@ export const ExplorerTree = () => { ); }; - -/** - * TODO: Create dedicated file. - */ -const ExplorerCreateFolderModal = ( - props: Pick -) => { - const { itemId } = useExplorer(); - const { t } = useTranslation(); - const driver = getDriver(); - const { register, handleSubmit } = useForm(); - - const queryClient = useQueryClient(); - const createFolder = useMutation({ - mutationFn: (...payload: Parameters) => { - return driver.createFolder(...payload); - }, - onSuccess: () => { - queryClient.invalidateQueries({ - queryKey: ["items", itemId], - }); - }, - }); - - const onSubmit: SubmitHandler = async (data) => { - createFolder.mutate({ - ...data, - parentId: itemId, - }); - props.onClose(); - }; - - return ( - - - - - } - > -
- -
-
- ); -}; diff --git a/src/frontend/apps/drive/src/features/explorer/components/modals/ExplorerCreateFolderModal.tsx b/src/frontend/apps/drive/src/features/explorer/components/modals/ExplorerCreateFolderModal.tsx new file mode 100644 index 00000000..6bf8324d --- /dev/null +++ b/src/frontend/apps/drive/src/features/explorer/components/modals/ExplorerCreateFolderModal.tsx @@ -0,0 +1,76 @@ +import { useMutation } from "@tanstack/react-query"; +import { + Button, + Input, + Modal, + ModalProps, + ModalSize, +} from "@openfun/cunningham-react"; +import { useExplorer } from "../ExplorerContext"; +import { useTranslation } from "react-i18next"; +import { useQueryClient } from "@tanstack/react-query"; +import { SubmitHandler, useForm } from "react-hook-form"; +import { getDriver } from "@/features/config/Config"; + +type Inputs = { + title: string; +}; + +export const ExplorerCreateFolderModal = ( + props: Pick +) => { + const { itemId } = useExplorer(); + const { t } = useTranslation(); + const driver = getDriver(); + const { register, handleSubmit } = useForm(); + + const queryClient = useQueryClient(); + const createFolder = useMutation({ + mutationFn: (...payload: Parameters) => { + return driver.createFolder(...payload); + }, + onSuccess: () => { + queryClient.invalidateQueries({ + queryKey: ["items", itemId], + }); + }, + }); + + const onSubmit: SubmitHandler = async (data) => { + createFolder.mutate({ + ...data, + parentId: itemId, + }); + props.onClose(); + }; + + return ( + + + + + } + > +
+ +
+
+ ); +};