From 5d4d87c8bdb42c19e57a458fdc4d05de1ade4546 Mon Sep 17 00:00:00 2001 From: Rafi Zadanly Date: Tue, 7 Mar 2023 15:03:35 +0700 Subject: add dynamic content --- src/lib/content/api/pageContentApi.js | 13 +++++++++++++ src/lib/content/components/PageContent.jsx | 26 ++++++++++++++++++++++++++ 2 files changed, 39 insertions(+) create mode 100644 src/lib/content/api/pageContentApi.js create mode 100644 src/lib/content/components/PageContent.jsx (limited to 'src/lib') diff --git a/src/lib/content/api/pageContentApi.js b/src/lib/content/api/pageContentApi.js new file mode 100644 index 00000000..1e7c47e5 --- /dev/null +++ b/src/lib/content/api/pageContentApi.js @@ -0,0 +1,13 @@ +import odooApi from '@/core/api/odooApi' +import _ from 'lodash-contrib' + +const pageContentApi = async ({ path }) => { + let query = { + url_path: path + } + query = _.toQuery(query) + const pageContent = await odooApi('GET', `/api/v1/page-content?${query}`) + return pageContent +} + +export default pageContentApi diff --git a/src/lib/content/components/PageContent.jsx b/src/lib/content/components/PageContent.jsx new file mode 100644 index 00000000..724f99c1 --- /dev/null +++ b/src/lib/content/components/PageContent.jsx @@ -0,0 +1,26 @@ +import { useEffect } from 'react' +import { useState } from 'react' +import pageContentApi from '../api/pageContentApi' + +const PageContent = ({ path }) => { + const [content, setContent] = useState(<>) + + useEffect(() => { + const loadContent = async () => { + const dataContent = await pageContentApi({ path }) + if (dataContent) { + setContent( +
+ ) + } + } + loadContent() + }, [path]) + + return content +} + +export default PageContent -- cgit v1.2.3