From 0d4b685a06ebbe97fcef6bf3224fe345ddf0d273 Mon Sep 17 00:00:00 2001 From: danieldeng2 <danieldeng223@gmail.com> Date: Wed, 12 Aug 2020 19:13:03 +0100 Subject: [PATCH] Add back fetching logic --- .../pages/ModuleResources/index.tsx | 34 ++++++++++++++++--- 1 file changed, 29 insertions(+), 5 deletions(-) diff --git a/frontend/src/components/pages/ModuleResources/index.tsx b/frontend/src/components/pages/ModuleResources/index.tsx index 0c075b4b0..32a88f3a6 100644 --- a/frontend/src/components/pages/ModuleResources/index.tsx +++ b/frontend/src/components/pages/ModuleResources/index.tsx @@ -16,18 +16,42 @@ import ResourcesFolderView from "components/molecules/ResourcesFolderView"; import CurrentDirectoryView from "components/molecules/CurrentDirectoryView"; import { useParams } from "react-router-dom"; -const ModuleResources: React.FC = () => { - let { scope } = useParams(); +const ModuleResources: React.FC<{ year: string}> = ({year}) => { + let {id, scope } = useParams(); scope = scope === undefined ? "" : scope; - let quickAccessItems = resourceItems.filter( + const quickAccessItems = resourceItems.filter( ({ tags, folder }) => tags.includes("new") && (scope === "" || scope === folder) ); - let currentDirectoryFiles = resourceItems.filter( + const currentDirectoryFiles = resourceItems.filter( ({ folder }) => folder === scope - ); + ); + + const module_code = id.startsWith("CO") ? id : id.slice(2); + + //maybe refactor into class? + const [error, setError] = useState(null); + const [isLoaded, setIsLoaded] = useState(false); + const [resources, setResources] = useState([]); + + useEffect(() => { + setIsLoaded(false); + const onSuccess = (data: any) => { + setIsLoaded(true); + setResources(data.json()); + } + const onFailure = (error: any) => { + setIsLoaded(true); + setError(error); + } + + request(api.MATERIALS_RESOURCES, "GET", onSuccess, onFailure, { + "year": year, + "course": module_code + }) + }, [year, module_code]); return ( <> -- GitLab