summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/core/components/layouts/BasicLayout.jsx15
-rw-r--r--src/pages/_app.jsx4
-rw-r--r--src/pages/api/user-activity.js16
3 files changed, 33 insertions, 2 deletions
diff --git a/src/core/components/layouts/BasicLayout.jsx b/src/core/components/layouts/BasicLayout.jsx
index 04b189f9..70482e12 100644
--- a/src/core/components/layouts/BasicLayout.jsx
+++ b/src/core/components/layouts/BasicLayout.jsx
@@ -2,11 +2,26 @@ import dynamic from 'next/dynamic'
import BasicFooter from '../elements/Footer/BasicFooter'
import Image from 'next/image'
import whatsappUrl from '@/core/utils/whatsappUrl'
+import { useEffect, useState } from 'react'
+import axios from 'axios'
+import odooApi from '@/core/api/odooApi'
const Navbar = dynamic(() => import('../elements/Navbar/Navbar'))
const AnimationLayout = dynamic(() => import('./AnimationLayout'))
const BasicLayout = ({ children }) => {
+ useEffect(() => {
+ const getIP = async () => {
+ const ip = await odooApi('GET', '/api/ip-address')
+ const data = {
+ page_title: document.title,
+ url: window.location.href,
+ ip: ip
+ }
+ axios.get(`/api/user-activity?page_title=${data.page_title}&url=${data.url}&ip=${data.ip}`)
+ }
+ getIP()
+ }, [])
return (
<>
<Navbar />
diff --git a/src/pages/_app.jsx b/src/pages/_app.jsx
index a8d18917..4c4fed89 100644
--- a/src/pages/_app.jsx
+++ b/src/pages/_app.jsx
@@ -53,9 +53,9 @@ function MyApp({ Component, pageProps }) {
<motion.div
initial={{ opacity: 0 }}
animate={{ opacity: 1 }}
- exit={{ opacity: 0, transition: { delay: 0.05 } }}
+ exit={{ opacity: 0 }}
transition={{
- duration: 0.15
+ duration: 0.1
}}
className='fixed w-screen h-screen z-[500] bg-white flex justify-center items-center'
>
diff --git a/src/pages/api/user-activity.js b/src/pages/api/user-activity.js
new file mode 100644
index 00000000..04daa9a6
--- /dev/null
+++ b/src/pages/api/user-activity.js
@@ -0,0 +1,16 @@
+import odooApi from "@/core/api/odooApi";
+
+export default async function handler(req, res) {
+ res.setHeader('Cache-Control', 'no-cache');
+ const data = {
+ 'page_title' : req.query.page_title,
+ 'url' : req.query.url,
+ 'ip_address' : req.query.ip,
+ }
+
+ const sendData = await odooApi('POST', '/api/v1/activity', data)
+
+ // Kirim respons ke klien
+ res.status(200).json({ message: 'OK' });
+ }
+ \ No newline at end of file