summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--package.json1
-rw-r--r--src/lib/auth/components/LoginDesktop.jsx11
-rw-r--r--src/pages/_app.jsx8
-rw-r--r--src/pages/api/auth/[...nextauth].js15
4 files changed, 32 insertions, 3 deletions
diff --git a/package.json b/package.json
index f74b5a69..cb85bd28 100644
--- a/package.json
+++ b/package.json
@@ -25,6 +25,7 @@
"lodash-contrib": "^4.1200.1",
"midtrans-client": "^1.3.1",
"next": "13.0.0",
+ "next-auth": "^4.22.3",
"next-progress": "^2.2.0",
"next-pwa": "^5.6.0",
"next-seo": "^5.15.0",
diff --git a/src/lib/auth/components/LoginDesktop.jsx b/src/lib/auth/components/LoginDesktop.jsx
index 8ce2e4e3..74d259a8 100644
--- a/src/lib/auth/components/LoginDesktop.jsx
+++ b/src/lib/auth/components/LoginDesktop.jsx
@@ -3,11 +3,15 @@ import useLogin from '../hooks/useLogin'
import Link from '@/core/components/elements/Link/Link'
import PageContent from '@/lib/content/components/PageContent'
import Alert from '@/core/components/elements/Alert/Alert'
+import {useSession, signIn, SignOut} from 'next-auth/react'
const LoginDesktop = () => {
const { handleSubmit, handleChangeInput, isLoading, isValid, alert, emailRef, passwordRef } =
useLogin()
+ const {data : session } = useSession
+ console.log('ini google', session)
+
return (
<DesktopView>
<div className='container mx-auto'>
@@ -60,6 +64,13 @@ const LoginDesktop = () => {
{!isLoading ? 'Masuk' : 'Loading...'}
</button>
</form>
+ <button
+ type='submit'
+ className='btn-red w-full mt-2'
+ onClick={() => signIn()}
+ >
+ Masuk dengan google
+ </button>
<div className='text-gray_r-11 mt-10'>
Belum punya akun Indoteknik?{' '}
diff --git a/src/pages/_app.jsx b/src/pages/_app.jsx
index 4c4fed89..cda9e970 100644
--- a/src/pages/_app.jsx
+++ b/src/pages/_app.jsx
@@ -7,12 +7,14 @@ 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 { SessionProvider } from 'next-auth/react'
const queryClient = new QueryClient()
-function MyApp({ Component, pageProps }) {
+function MyApp({ Component, pageProps :{session, ...pageProps} }) {
const router = useRouter()
const { isMobile } = useDevice()
+ console.log('ini session', session)
const [animateLoader, setAnimateLoader] = useState(false)
@@ -47,7 +49,7 @@ function MyApp({ Component, pageProps }) {
}, [isMobile])
return (
- <>
+ <SessionProvider session={session}>
<AnimatePresence>
{animateLoader && (
<motion.div
@@ -81,7 +83,7 @@ function MyApp({ Component, pageProps }) {
{!animateLoader && <Component {...pageProps} key={router.asPath} />}
</AnimatePresence>
</QueryClientProvider>
- </>
+ </SessionProvider>
)
}
diff --git a/src/pages/api/auth/[...nextauth].js b/src/pages/api/auth/[...nextauth].js
new file mode 100644
index 00000000..f1d6a31f
--- /dev/null
+++ b/src/pages/api/auth/[...nextauth].js
@@ -0,0 +1,15 @@
+import NextAuth from "next-auth/next";
+import GoogleProvider from "next-auth/providers/google"
+
+export default NextAuth({
+ providers:[
+ GoogleProvider({
+ clientId: process.env.GOOGLE_CLIENT_ID,
+ clientSecret: process.env.GOOGLE_CLIENT_SECRET,
+ }),
+ ],
+ secret:process.env.JWT_SECRET
+ // pages:{
+ // signIn: '/login',
+ // }
+}) \ No newline at end of file