diff options
| author | HATEC\SPVDEV001 <tri.susilo@altama.co.id> | 2023-06-30 16:50:18 +0700 |
|---|---|---|
| committer | HATEC\SPVDEV001 <tri.susilo@altama.co.id> | 2023-06-30 16:50:18 +0700 |
| commit | d399212b942d8362e5cf6c76c996442f5dfe3b70 (patch) | |
| tree | 75fa7886b8ca11f3cad84876992b64c59753e728 | |
| parent | 6df5d02fc2a82e9df901e4416e9a2d14f654438c (diff) | |
user activity
| -rw-r--r-- | src/core/components/layouts/BasicLayout.jsx | 17 | ||||
| -rw-r--r-- | src/pages/_app.jsx | 13 | ||||
| -rw-r--r-- | src/pages/api/user-activity.js | 5 |
3 files changed, 21 insertions, 14 deletions
diff --git a/src/core/components/layouts/BasicLayout.jsx b/src/core/components/layouts/BasicLayout.jsx index 04b189f9..04b173fa 100644 --- a/src/core/components/layouts/BasicLayout.jsx +++ b/src/core/components/layouts/BasicLayout.jsx @@ -2,11 +2,28 @@ 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 }) => { + + console.log('chiled', 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 9a8960db..4c4fed89 100644 --- a/src/pages/_app.jsx +++ b/src/pages/_app.jsx @@ -7,7 +7,6 @@ import { QueryClient, QueryClientProvider } from 'react-query' import useDevice from '@/core/hooks/useDevice' import { useEffect, useState } from 'react' import LogoSpinner from '@/core/components/elements/Spinner/LogoSpinner' -import axios from 'axios' const queryClient = new QueryClient() @@ -18,14 +17,6 @@ function MyApp({ Component, pageProps }) { const [animateLoader, setAnimateLoader] = useState(false) useEffect(() => { - const data = { - page_title: document.title, - url: window.location.href - } - axios.get(`/api/user-activity?page_title=${data.page_title}&url=${data.url}`) - }, []) - - useEffect(() => { const handleRouteChangeStart = () => setAnimateLoader(true) const handleRouteChangeComplete = () => setAnimateLoader(false) @@ -62,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 index ce304df5..04daa9a6 100644 --- a/src/pages/api/user-activity.js +++ b/src/pages/api/user-activity.js @@ -1,12 +1,11 @@ import odooApi from "@/core/api/odooApi"; export default async function handler(req, res) { - // Mendapatkan alamat IP pengguna - const ipAddress = req.socket.remoteAddress; + res.setHeader('Cache-Control', 'no-cache'); const data = { 'page_title' : req.query.page_title, 'url' : req.query.url, - 'ip_address' : ipAddress, + 'ip_address' : req.query.ip, } const sendData = await odooApi('POST', '/api/v1/activity', data) |
