import { Button, createDisclosure, HStack, Modal, ModalBody, ModalContent, ModalFooter, ModalHeader, ModalOverlay, SimpleOption, SimpleSelect, } from "@hope-ui/solid" import { ModalFolderChoose } from "~/components" import { useFetch, usePath, useRouter, useT } from "~/hooks" import { bus, fsRecursiveMove, handleRespWithNotifySuccess } from "~/utils" import { createSignal, onCleanup } from "solid-js" export const RecursiveMove = () => { const { isOpen: isConfirmModalOpen, onOpen: openConfirmModal, onClose: closeConfirmModal, } = createDisclosure() const { isOpen, onOpen, onClose } = createDisclosure() const [loading, ok] = useFetch(fsRecursiveMove) const { pathname } = useRouter() const { refresh } = usePath() const [conflictPolicy, setConflictPolicy] = createSignal("cancel") const handler = (name: string) => { if (name === "recursiveMove") { openConfirmModal() setConflictPolicy("cancel") } } bus.on("tool", handler) onCleanup(() => { bus.off("tool", handler) }) const t = useT() return ( <> closeConfirmModal()} size={{ "@initial": "xs", "@md": "md", }} > {t("home.toolbar.recursive_move")} {t("home.toolbar.recursive_move_directory-tips")} closeConfirmModal()} colorScheme="neutral"> {t("global.cancel")} { closeConfirmModal() onOpen() }} colorScheme="danger" > {t("global.confirm")} setConflictPolicy(value)} > {t("home.conflict_policy.cancel_if_exists")} {t("home.conflict_policy.overwrite_existing")} {t("home.conflict_policy.skip_existing")} } onSubmit={async (dst) => { const resp = await ok(pathname(), dst, conflictPolicy()) handleRespWithNotifySuccess(resp, () => { refresh() onClose() }) }} /> > ) }
{t("home.toolbar.recursive_move_directory-tips")}