import { useEffect, useMemo, useState } from 'react'; import { useQuery } from 'react-query'; import { PageContentProps } from '~/types/pageContent'; import { getPageContent } from '~/services/pageContent'; type Props = { path: string; }; const PageContent = ({ path }: Props) => { const [localData, setData] = useState(); const [shouldFetch, setShouldFetch] = useState(false); const [isLoading, setIsLoading] = useState(false); useEffect(() => { const fetchData = async () => { setIsLoading(true); const res = await fetch(`/api/page-content?path=${path}`); const { data } = await res.json(); if (data) { setData(data); } setIsLoading(false); }; fetchData(); }, []); const parsedContent = useMemo(() => { if (!localData) return ''; return localData.content.replaceAll( 'src="/web/image', `src="${process.env.NEXT_PUBLIC_ODOO_API_HOST}/web/image` ); }, [localData]); if (isLoading) return ; return
; }; const PageContentSkeleton = () => (
); export default PageContent;