diff options
Diffstat (limited to 'src-migrate/modules')
| -rw-r--r-- | src-migrate/modules/page-content/index.tsx | 15 | ||||
| -rw-r--r-- | src-migrate/modules/popup-information/index.tsx | 38 |
2 files changed, 49 insertions, 4 deletions
diff --git a/src-migrate/modules/page-content/index.tsx b/src-migrate/modules/page-content/index.tsx index cbd58633..608079f8 100644 --- a/src-migrate/modules/page-content/index.tsx +++ b/src-migrate/modules/page-content/index.tsx @@ -1,3 +1,4 @@ +import { useMemo } from "react" import { useQuery } from "react-query" import PageContentSkeleton from "~/common/components/skeleton/PageContentSkeleton" import { PageContentProps } from "~/common/types/pageContent" @@ -10,12 +11,18 @@ type Props = { const PageContent = ({ path }: Props) => { const { data, isLoading } = useQuery<PageContentProps>(`page-content:${path}`, async () => await getPageContent({ path })) - if (isLoading) { - return <PageContentSkeleton /> - } + const parsedContent = useMemo<string>(() => { + if (!data) return '' + return data.content.replaceAll( + 'src="/web/image', + `src="${process.env.NEXT_PUBLIC_ODOO_API_HOST}/web/image` + ) + }, [data]) + + if (isLoading) return <PageContentSkeleton /> return ( - <div dangerouslySetInnerHTML={{ __html: data?.content || '' }}></div> + <div dangerouslySetInnerHTML={{ __html: parsedContent || '' }}></div> ) } diff --git a/src-migrate/modules/popup-information/index.tsx b/src-migrate/modules/popup-information/index.tsx new file mode 100644 index 00000000..0d48a92a --- /dev/null +++ b/src-migrate/modules/popup-information/index.tsx @@ -0,0 +1,38 @@ +import { useRouter } from 'next/router'; +import { useEffect, useState } from 'react'; +import Modal from '~/common/components/elements/Modal'; +import { getAuth } from '~/common/libs/auth'; +import PageContent from '../page-content'; +import Link from 'next/link'; + +const PagePopupInformation = () => { + const router = useRouter(); + const isHomePage = router.pathname === '/'; + const auth = getAuth(); + const [active, setActive] = useState<boolean>(false); + + useEffect(() => { + if (isHomePage && !auth) { + setActive(true); + } + }, [isHomePage, auth]); + return ( + <div className='group'> + <Modal + active={active} + className='w-10/12 md:w-fit' + close={() => setActive(false)} + mode='desktop' + > + <div> + <PageContent path='/onbording-popup' /> + <Link href={'/register'} className='btn-yellow w-full mt-2'> + Daftar Sekarang + </Link> + </div> + </Modal> + </div> + ); +}; + +export default PagePopupInformation; |
