From fcb4d97a55f3da92cfbb9db068ffd248df3074a4 Mon Sep 17 00:00:00 2001 From: kinou-p Date: Sun, 18 Jun 2023 13:25:18 +0200 Subject: [PATCH] trying tu udate --- .../src/components/Sidebar/SidebarData.tsx | 6 +- containers/react/src/pages/QrCode.tsx | 166 +++++++++++++++--- 2 files changed, 144 insertions(+), 28 deletions(-) diff --git a/containers/react/src/components/Sidebar/SidebarData.tsx b/containers/react/src/components/Sidebar/SidebarData.tsx index 2ac00198..b0c242f4 100644 --- a/containers/react/src/components/Sidebar/SidebarData.tsx +++ b/containers/react/src/components/Sidebar/SidebarData.tsx @@ -10,7 +10,7 @@ export const SidebarData = [ { title: 'Home/Login', path: '/', - icon: , + icon: , cName: 'nav-text' }, { @@ -32,8 +32,8 @@ export const SidebarData = [ cName: 'nav-text' }, { - title: 'Settings', - path: '/team', + title: 'Double Auth', + path: '/qr', icon: , cName: 'nav-text' }, diff --git a/containers/react/src/pages/QrCode.tsx b/containers/react/src/pages/QrCode.tsx index 98182a30..ad9f2367 100644 --- a/containers/react/src/pages/QrCode.tsx +++ b/containers/react/src/pages/QrCode.tsx @@ -1,8 +1,13 @@ import React, { useEffect, useRef, useState } from "react"; +// import { useHistory } from 'react'; +// import { redirect } from "react-router-dom"; + import "../styles/App.css"; +import api from '../script/axiosApi.tsx'; + import QRCodeStyling from "qr-code-styling"; import { motion } from 'framer-motion' -import api from '../script/axiosApi.tsx'; + const qrCode = new QRCodeStyling({ @@ -23,11 +28,41 @@ const qrCode = new QRCodeStyling({ }); function QrCode () { - const url = "https://www.youtube.com"; + // const url = "https://www.youtube.com"; const ref = useRef(null); + const [user, setUser] = useState(false); + const [url, setUrl] = useState(false); + const [secret, setSecret] = useState(false); + const [code, setCode] = useState(''); + const [activated, setActivated] = useState(false); + + // const history = useHistory(); useEffect(() => { qrCode.append(ref.current); + + const getUser = async ()=>{ + try{ + const tmpUser = await api.get("/profile"); + setUser(tmpUser.data); + if (tmpUser.data.otp_verified) + { + setActivated(true); + return ; + } + const otpData = await api.post("/otp"); + setUrl(otpData.data.otpauth_url); + setSecret(otpData.data.base32_secret); + // const tmpUser = await api.get("/profile") + // console.log("test") + // console.table(convs); + } + catch(err){ + console.log(err); + } + }; + getUser(); + }, []); useEffect(() => { @@ -36,30 +71,111 @@ function QrCode () { }); }, [url]); - const getConv = async ()=>{ - try{ - const convs = await api.get("/user") - // const tmpUser = await api.get("/profile") - console.log("test") - console.table(convs); - } - catch(err){ - console.log(err); - } - }; - getConv(); - return ( - -

QrCode

-

Your code is: 231 31 31

-
- - {} - + const handleKeyPress = async (e)=>{ + // console.log(`e in press= ${e.key}`) + if (e.key !== "Enter") + return ; + try{ + console.log("code= ", code) + const res = await api.post("/verifyOtp", {token: code}) + console.log("res= ", res.data) + console.log("res= ", res) + if (res.data === 1) + { + console.log("registered") + // history.push('/login') + + const path = 'http://' + process.env.REACT_APP_BASE_URL + '/'; + window.history.pushState({}, null, path); + window.location.reload(false); + + } + else + { + console.log("bad code") + //alert ?? retry + } + // redirect('/test') + } + catch(err){ + console.log(err) + } + } + + const handleDesactivate = async () => { + try { + await api.post("/deleteOtp") + // const path = 'http://' + process.env.REACT_APP_BASE_URL + '/'; + // window.history.pushState({}, null, path); + window.location.reload(false); + } catch(err) { + console.log(err); + } + }; + + return ( + // + //

QRcode

+ //

{secret}

+ //
+ // + // {} + + // + + + {!activated && ( + <> +

Enter The Secret

+

{secret}

+

Or Scan The QRCode

+
+ + )} + +<> + {!activated && localStorage.getItem('token') ? ( + <> +

Double Auth Validation

+ setCode(e.target.value)} + /> + + ) : ( + + )} + + + {/* {!localStorage.getItem('token') && ( + <> +

Double Auth

+ setCode(e.target.value)} + /> + + ) : ()} + */} + {/* {!activated && ( + + )} */} + ) }