summaryrefslogtreecommitdiff
path: root/src/lib/content
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/content')
-rw-r--r--src/lib/content/api/pageContentApi.js13
-rw-r--r--src/lib/content/components/PageContent.jsx26
2 files changed, 39 insertions, 0 deletions
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(
+ <div
+ className='p-4 prose prose-gray prose-a:text-red_r-10 prose-p:my-0'
+ dangerouslySetInnerHTML={{ __html: dataContent.content }}
+ />
+ )
+ }
+ }
+ loadContent()
+ }, [path])
+
+ return content
+}
+
+export default PageContent