Created
August 5, 2021 18:23
-
-
Save sergeyt/b53742a2f6a69a3cdf4cff104350b9ac to your computer and use it in GitHub Desktop.
multidisk drive view page
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import { useRouter } from "next/router"; | |
import useSWR from "swr"; | |
import { Box } from "@material-ui/core"; | |
import { getDrive } from "../../core/store"; | |
import Loader from "../../components/Loader"; | |
import ItemList from "../../components/ItemList"; | |
import Uploader from "../../components/Uploader"; | |
export default function DriveView() { | |
const router = useRouter(); | |
const { driveId, folder: folderId } = router.query; | |
const key = folderId | |
? `/drive/${driveId}?folder=${encodeURIComponent(String(folderId))}` | |
: `/drive/${driveId}`; | |
const { data } = useSWR(key, async () => { | |
const drive = await getDrive(String(driveId)); | |
const items = await drive.getItems(folderId ? String(folderId) : ""); | |
return { drive, items }; | |
}); | |
if (!data) { | |
return <Loader />; | |
} | |
return ( | |
<> | |
<Box m={2} mb={2}> | |
<Uploader drive={data.drive} /> | |
</Box> | |
<ItemList data={data.items} /> | |
</> | |
); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment