summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRafi Zadanly <zadanlyr@gmail.com>2023-10-28 09:05:00 +0700
committerRafi Zadanly <zadanlyr@gmail.com>2023-10-28 09:05:00 +0700
commitc82110f7d3a2f85de99045fde7b579e369f15b2c (patch)
treedeae1b959583eff4fa283800efe6daaff9fe21e9 /src
parentcf6da809621b4ebe8c9acedb035b689e7e1b60b1 (diff)
Update authentication feature
Diffstat (limited to 'src')
-rw-r--r--src/lib/auth/hooks/useLogin.js101
-rw-r--r--src/pages/login.jsx17
-rw-r--r--src/pages/register.jsx6
3 files changed, 62 insertions, 62 deletions
diff --git a/src/lib/auth/hooks/useLogin.js b/src/lib/auth/hooks/useLogin.js
index 17731a86..dc9580ea 100644
--- a/src/lib/auth/hooks/useLogin.js
+++ b/src/lib/auth/hooks/useLogin.js
@@ -1,80 +1,83 @@
-import Link from '@/core/components/elements/Link/Link'
-import { setAuth } from '@/core/utils/auth'
-import { useRouter } from 'next/router'
-import { useRef, useState } from 'react'
-import loginApi from '../api/loginApi'
-import odooApi from '@/core/api/odooApi'
-import { setCookie } from 'cookies-next'
-import { useSession } from 'next-auth/react'
+import Link from '@/core/components/elements/Link/Link';
+import { setAuth } from '@/core/utils/auth';
+import { useRouter } from 'next/router';
+import { useRef, useState } from 'react';
+import loginApi from '../api/loginApi';
+import odooApi from '@/core/api/odooApi';
+import { setCookie } from 'cookies-next';
+import { useSession } from 'next-auth/react';
const useLogin = () => {
- const router = useRouter()
- const [isLoading, setIsLoading] = useState(false)
- const [alert, setAlert] = useState(null)
- const [isValid, setIsValid] = useState(false)
+ const router = useRouter();
+ const [isLoading, setIsLoading] = useState(false);
+ const [alert, setAlert] = useState(null);
+ const [isValid, setIsValid] = useState(false);
- const emailRef = useRef(null)
- const passwordRef = useRef(null)
+ const emailRef = useRef(null);
+ const passwordRef = useRef(null);
const inputVal = () => ({
email: emailRef.current.value,
- password: passwordRef.current.value
- })
+ password: passwordRef.current.value,
+ });
const handleChangeInput = () => {
- const { email, password } = inputVal()
- const isValidInput = email && password
- setIsValid(isValidInput)
- }
+ const { email, password } = inputVal();
+ const isValidInput = email && password;
+ setIsValid(isValidInput);
+ };
const handleSubmit = async (e) => {
- e.preventDefault()
- setAlert(null)
- setIsLoading(true)
- const { email, password } = inputVal()
- const login = await loginApi({ email, password })
- setIsLoading(false)
+ e.preventDefault();
+ setAlert(null);
+ setIsLoading(true);
+ const { email, password } = inputVal();
+ const login = await loginApi({ email, password });
+ setIsLoading(false);
if (login.isAuth) {
- setAuth(login.user)
- router.push(router.query?.next || '/')
- return
+ setAuth(login.user);
+ router.push(router.query?.next || '/');
+ return;
}
switch (login.reason) {
case 'NOT_FOUND':
setAlert({
children: 'Email atau password tidak cocok',
- type: 'info'
- })
- break
+ type: 'info',
+ });
+ break;
case 'NOT_ACTIVE':
setAlert({
children: (
<>
Email belum diaktivasi,
- <Link className='text-gray-900' href={`/activate?email=${email}`}>
+ <Link
+ className='text-gray-900'
+ href={`?activation=email&email=${email}`}
+ >
aktivasi sekarang
</Link>
</>
),
- type: 'info'
- })
- break
+ type: 'info',
+ });
+ break;
}
- }
+ };
const handleGoogleSubmit = async (session) => {
const params = {
- access_token: session.accessToken
- }
- const data = await odooApi('POST', '/api/v1/user/validate-sso', params)
+ access_token: session.accessToken,
+ };
+ const data = await odooApi('POST', '/api/v1/user/validate-sso', params);
if (data.isAuth) {
- session.odooUser = data.user
- setCookie('auth', JSON.stringify(session?.odooUser))
- router.push(decodeURIComponent(router?.query?.next) ?? '/')
- return
+ session.odooUser = data.user;
+ setCookie('auth', JSON.stringify(session?.odooUser));
+ router.push(decodeURIComponent(router?.query?.next) ?? '/');
+ return;
}
- }
+ };
return {
handleChangeInput,
@@ -84,8 +87,8 @@ const useLogin = () => {
alert,
emailRef,
passwordRef,
- handleGoogleSubmit
- }
-}
+ handleGoogleSubmit,
+ };
+};
-export default useLogin
+export default useLogin;
diff --git a/src/pages/login.jsx b/src/pages/login.jsx
index 38174f84..9a1aa85b 100644
--- a/src/pages/login.jsx
+++ b/src/pages/login.jsx
@@ -1,9 +1,10 @@
-import Seo from '@/core/components/Seo'
-import SimpleFooter from '@/core/components/elements/Footer/SimpleFooter'
-import BasicLayout from '@/core/components/layouts/BasicLayout'
-import DesktopView from '@/core/components/views/DesktopView'
-import MobileView from '@/core/components/views/MobileView'
-import LoginComponent from '@/lib/auth/components/Login'
+import Seo from '@/core/components/Seo';
+import SimpleFooter from '@/core/components/elements/Footer/SimpleFooter';
+import BasicLayout from '@/core/components/layouts/BasicLayout';
+import DesktopView from '@/core/components/views/DesktopView';
+import MobileView from '@/core/components/views/MobileView';
+import LoginComponent from '@/lib/auth/components/Login';
+import AccountActivation from '~/modules/account-activation';
export default function Login() {
return (
@@ -20,6 +21,8 @@ export default function Login() {
<LoginComponent />
<SimpleFooter />
</MobileView>
+
+ <AccountActivation />
</>
- )
+ );
}
diff --git a/src/pages/register.jsx b/src/pages/register.jsx
index f79d6a4e..6112c72b 100644
--- a/src/pages/register.jsx
+++ b/src/pages/register.jsx
@@ -1,9 +1,3 @@
-import Seo from '@/core/components/Seo';
-import SimpleFooter from '@/core/components/elements/Footer/SimpleFooter';
-import BasicLayout from '@/core/components/layouts/BasicLayout';
-import DesktopView from '@/core/components/views/DesktopView';
-import MobileView from '@/core/components/views/MobileView';
-import RegisterComponent from '@/lib/auth/components/Register';
import RegisterPage from '~/pages/register';
export default function Register() {