From 35aa93448f305e888135755d1eb70fcdc3594859 Mon Sep 17 00:00:00 2001 From: HFO4 <912394456@qq.com> Date: Sun, 27 Feb 2022 14:31:25 +0800 Subject: [PATCH] Feat: task dialog on the right bottom --- src/component/Dial/AutoHidden.js | 6 +- src/component/Dial/Create.js | 2 +- src/component/Uploader/Popup/TaskList.js | 96 ++++++++++++++++++++++++ src/component/Uploader/Uploader.js | 26 +++++-- 4 files changed, 119 insertions(+), 11 deletions(-) create mode 100644 src/component/Uploader/Popup/TaskList.js diff --git a/src/component/Dial/AutoHidden.js b/src/component/Dial/AutoHidden.js index 5fa7a42..fe90ebd 100644 --- a/src/component/Dial/AutoHidden.js +++ b/src/component/Dial/AutoHidden.js @@ -1,7 +1,7 @@ -import React, { useState, useEffect } from "react"; +import React, { useEffect, useState } from "react"; import Zoom from "@material-ui/core/Zoom"; -function AutoHidden({ children, enable }) { +function AutoHidden({ children, enable, hide = false }) { const [hidden, setHidden] = useState(false); let prev = window.scrollY; @@ -31,7 +31,7 @@ function AutoHidden({ children, enable }) { // eslint-disable-next-line }, [enable]); - return {children}; + return {children}; } export default AutoHidden; diff --git a/src/component/Dial/Create.js b/src/component/Dial/Create.js index a90bef1..a136ff0 100644 --- a/src/component/Dial/Create.js +++ b/src/component/Dial/Create.js @@ -82,7 +82,7 @@ export default function UploadButton(props) { }; return ( - + ; +}); + +const useStyles = makeStyles((theme) => ({ + appBar: { + position: "relative", + }, + flex: { + flex: 1, + }, + popup: { + alignItems: "flex-end", + justifyContent: "flex-end", + }, + dialog: { + margin: 0, + top: "auto", + right: 0, + bottom: 0, + left: "auto", + zIndex: 9999, + position: "fixed", + }, +})); + +export default function TaskList({ open, onClose }) { + const classes = useStyles(); + const theme = useTheme(); + const fullScreen = useMediaQuery(theme.breakpoints.down("sm")); + const [expanded, setExpanded] = useState(false); + const close = () => { + setExpanded(false); + onClose(); + }; + + return ( + + + + + + + + 上传队列 + + setExpanded(!expanded)} + > + + + + + + ); +} diff --git a/src/component/Uploader/Uploader.js b/src/component/Uploader/Uploader.js index d99ab94..7cc23b0 100644 --- a/src/component/Uploader/Uploader.js +++ b/src/component/Uploader/Uploader.js @@ -6,9 +6,11 @@ import pathHelper from "../../utils/page"; import { useLocation } from "react-router-dom"; import { UploaderError } from "./core/errors"; import { toggleSnackbar } from "../../actions"; +import TaskList from "./Popup/TaskList"; export default function Uploader() { - const [uploadTasks, setUploadTasks] = useState([]); + const [uploaders, setUploaders] = useState([]); + const [taskListOpen, setTaskListOpen] = useState(false); const keywords = useSelector((state) => state.explorer.keywords); const policy = useSelector((state) => state.explorer.currentPolicy); const isLogin = useSelector((state) => state.viewUpdate.isLogin); @@ -44,6 +46,9 @@ export default function Uploader() { }; const selectFile = () => { + setTaskListOpen(true); + return; + // eslint-disable-next-line no-unreachable uploadManager .select(path) .catch((e) => { @@ -59,19 +64,26 @@ export default function Uploader() { } }) .then((uploaders) => { - alert("success"); console.log(uploaders); + setTaskListOpen(true); }); }; return ( <> {enableUploader && ( - + <> + setTaskListOpen(true)} + /> + setTaskListOpen(false)} + /> + )} );