import React, { useState, useMemo, useEffect } from "react"; import PageTitle from "../../../../components/PageTitle"; import { useParams } from "react-router-dom"; import { useResourcesApi, useDictionariesApi } from "../../api"; import { LoadingText } from "../../../../components"; import ResourceComponent from "./ResourceComponent"; import { makeStyles } from "@material-ui/core/styles"; import style from "../styles"; const useStyles = makeStyles(style); const ResourceContainer = () => { const [state, setState] = useState(null); const [loading, setLoading] = useState(false); const [mimeTypes, setMimeTypes] = useState(null); const [resourceCategories, setResourceCategories] = useState(null); const [processing, setProcessing] = useState(null); const classes = useStyles(); const params = useParams(); const { getResource } = useResourcesApi(); const { getMimeTypes, getResourceCategories } = useDictionariesApi(); const isNew = useMemo(() => params.id === "new", [params.id]); useEffect(() => { getMimeTypes().then((r) => setMimeTypes(r)); }, [getMimeTypes]); useEffect(() => { getResourceCategories().then((r) => setResourceCategories(r)); }, [getResourceCategories]); useEffect(() => { if (isNew) return; const resourceId = parseInt(params.id); setLoading(true); getResource(resourceId).then((resource) => { setState(resource); setLoading(false); }); }, [getResource, isNew, params.id]); const handlePropertyChange = (prop) => (value) => { setState((prev) => ({ ...prev, [prop]: value })); }; if (loading || !state || !mimeTypes || !resourceCategories) return ; return ( <>
); }; export default ResourceContainer;