import { useAdminProduct } from "medusa-react" import { useNavigate, useParams } from "react-router-dom" import BackButton from "../../../components/atoms/back-button" import Spinner from "../../../components/atoms/spinner" import WidgetContainer from "../../../components/extensions/widget-container" import ProductAttributesSection from "../../../components/organisms/product-attributes-section" import ProductGeneralSection from "../../../components/organisms/product-general-section" import ProductMediaSection from "../../../components/organisms/product-media-section" import ProductRawSection from "../../../components/organisms/product-raw-section" import ProductThumbnailSection from "../../../components/organisms/product-thumbnail-section" import ProductVariantsSection from "../../../components/organisms/product-variants-section" import { useWidgets } from "../../../providers/widget-provider" import { getErrorStatus } from "../../../utils/get-error-status" const Edit = () => { const { id } = useParams() const navigate = useNavigate() const { getWidgets } = useWidgets() const { product, status, error } = useAdminProduct(id || "") if (error) { const errorStatus = getErrorStatus(error) if (errorStatus) { // If the product is not found, redirect to the 404 page if (errorStatus.status === 404) { navigate("/404") return null } } // Let the error boundary handle the error throw error } if (status === "loading" || !product) { return (
) } return (
{getWidgets("product.details.before").map((w, i) => { return ( ) })}
{getWidgets("product.details.after").map((w, i) => { return ( ) })}
) } export default Edit