Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions src/controllers/auth.js
Original file line number Diff line number Diff line change
Expand Up @@ -45,10 +45,10 @@ export function createAuthController() {
}
}

async function insertPhone(data) {
async function insertEmail(data) {
try {
setLoading(true);
const response = await authRepository.insertPhone(data, getToken);
const response = await authRepository.insertEmail(data, getToken);
setToken(response.token);
setUserData(jwtDecode(response.token));
return true;
Expand All @@ -61,10 +61,10 @@ export function createAuthController() {
}
}

async function confirmPhone(data) {
async function confirmEmail(data) {
try {
setLoading(true);
const response = await authRepository.confirmPhone(data, getToken);
const response = await authRepository.confirmEmail(data, getToken);
setToken(response.token);
setUserData(jwtDecode(response.token));
return true;
Expand Down Expand Up @@ -107,9 +107,9 @@ export function createAuthController() {
return {
login,
register,
confirmPhone,
confirmEmail,
fetchUserData,
insertPhone,
insertEmail,
resendCode,
loading
};
Expand Down
2 changes: 1 addition & 1 deletion src/helpers/ProtectedRoute.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ export default function ProtectedRoute() {
const location = useLocation();

if (!token || !userData) return <Navigate to="/register" replace />;
if (userData.fgPhoneVerified !== 3) return <Navigate to="/confirm-phone" replace />;
if (userData.fgEmailVerified !== 3) return <Navigate to="/confirm-email" replace />;

const userTasks = userData.tasks || [];
const currentTaskId = userTasks[userTasks.length - 1];
Expand Down
4 changes: 2 additions & 2 deletions src/helpers/Routes.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import {createBrowserRouter} from "react-router-dom";

import Frame from "@components/common/Frame";
import ProtectedRoute from "./ProtectedRoute";
import {Home, Map, Wordle, Register, ConfirmPhone, Login, Phrase, Quiz, Memory} from "../pages";
import {Home, Map, Wordle, Register, ConfirmEmail, Login, Phrase, Quiz, Memory} from "../pages";

const routes = createBrowserRouter([
{
Expand All @@ -12,7 +12,7 @@ const routes = createBrowserRouter([
{path: "/", element: <Home />},
{path: "/register", element: <Register />},
{path: "/login", element: <Login />},
{path: "/confirm-phone", element: <ConfirmPhone />},
{path: "/confirm-email", element: <ConfirmEmail />},
{
element: <ProtectedRoute />,
children: [
Expand Down
43 changes: 21 additions & 22 deletions src/pages/Auth/ConfirmPhone/index.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -7,16 +7,16 @@ import {useAuthStore} from "@stores/useAuth";
import Button from "@components/common/Button";
import {createAuthController} from "@controllers/auth";
import SoftExtendedLogo from "../../../assets/SoftExtendedLogo.png";
import {formatPhone, unformatPhone, validatePhone} from "@components/common/Input/validTypes";
import {formatPhone, unformatPhone, validateEmail, validatePhone} from "@components/common/Input/validTypes";

import styles from "../style.module.css";

function ConfirmPhone() {
function ConfirmEmail() {
const navigate = useNavigate();
const {insertPhone, confirmPhone, resendCode} = createAuthController();
const {insertEmail, confirmEmail, resendCode} = createAuthController();

const [step, setStep] = useState("phone");
const [phone, setPhone] = useState("");
const [step, setStep] = useState("email");
const [email, setEmail] = useState("");
const [code, setCode] = useState("");
const [wasSubmitted, setWasSubmitted] = useState(false);
const [showError, setShowError] = useState(false);
Expand All @@ -26,15 +26,14 @@ function ConfirmPhone() {

const userData = useAuthStore((state) => state.userData);

const handlePhoneChange = (e) => {
const formattedPhone = formatPhone(e.target.value);
setPhone(formattedPhone);
const handleEmailChange = (e) => {
setEmail(e);
};

const handlePhoneSubmit = async () => {
if (validatePhone(phone)) {
const cleanPhone = unformatPhone(phone);
const response = await insertPhone({phone: cleanPhone});
const handleEmailSubmit = async () => {
if (validateEmail(email)) {

const response = await insertEmail({email: email});

if (response) {
setStep("code");
Expand All @@ -52,7 +51,7 @@ function ConfirmPhone() {

const handleCodeSubmit = async () => {
setWasSubmitted(true);
const response = await confirmPhone({code});
const response = await confirmEmail({code});
if (response) {
setIsCorrect(true);
setButtonLabel(":)");
Expand All @@ -79,9 +78,9 @@ function ConfirmPhone() {
}, [resendTimer]);

useEffect(() => {
if (userData.fgPhoneVerified === 1) {
setStep("phone");
} else if (userData.fgPhoneVerified === 2) {
if (userData.fgEmailVerified === 1) {
setStep("email");
} else if (userData.fgEmailVerified === 2) {
setStep("code");
}
}, [userData]);
Expand All @@ -90,16 +89,16 @@ function ConfirmPhone() {
<div className={styles["container"]}>
<img className={styles["logo"]} src={SoftExtendedLogo} alt="Logo da Softexpert" />
<div className={styles["content"]}>
{step === "phone" && (
{step === "email" && (
<>
<Input label="Telefone" value={phone} type="tel" onChange={handlePhoneChange} placeholder="(99) 99999-9999" />
<Input label="Email" value={email} type="email" onChange={handleEmailChange} placeholder="fulano@algo.com" />
<Button
isDisabled={!validatePhone(phone)}
isDisabled={!validateEmail(email)}
type="primary"
size="small"
customStyle={{width: "100%"}}
text="Enviar código"
onClick={handlePhoneSubmit}
onClick={handleEmailSubmit}
/>
</>
)}
Expand All @@ -116,7 +115,7 @@ function ConfirmPhone() {
onChange={handleCodeChange}
disabled={isCorrect}
/>
<span className={styles["help-text"]}>Enviado para o telefone: {formatPhone(phone)}</span>
<span className={styles["help-text"]}>Enviado para o email: { email }</span>
</div>
<Button
isDisabled={code.length < 4 || isCorrect}
Expand Down Expand Up @@ -149,4 +148,4 @@ function ConfirmPhone() {
);
}

export default ConfirmPhone;
export default ConfirmEmail;
4 changes: 2 additions & 2 deletions src/pages/Auth/Login/index.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -52,10 +52,10 @@ function Login() {

const response = await login(userData);
if (response) {
if (response.fgPhoneVerified === 3) {
if (response.fgEmailVerified === 3) {
navigate("/map");
} else {
navigate("/confirm-phone");
navigate("/confirm-email");
}
}
};
Expand Down
2 changes: 1 addition & 1 deletion src/pages/Auth/Register/index.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ function Register() {
const response = await register(userData);

if (response) {
navigate("/confirm-phone");
navigate("/confirm-email");
}
};

Expand Down
4 changes: 2 additions & 2 deletions src/pages/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ import Quiz from './Quiz';
import Wordle from './Wordle';
import Register from './Auth/Register';
import Login from './Auth/Login';
import ConfirmPhone from './Auth/ConfirmPhone';
import ConfirmEmail from './Auth/ConfirmPhone';
import Phrase from './Phrase';


export {Home, Register, Login, ConfirmPhone, Map, Wordle, Phrase, Quiz, Memory};
export {Home, Register, Login, ConfirmEmail, Map, Wordle, Phrase, Quiz, Memory};
12 changes: 6 additions & 6 deletions src/repositories/auth.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,13 +12,13 @@ export function AuthRepository() {
return response.data;
}

async function insertPhone(data) {
const response = await axiosInstance.post(`/user/insert-phone`, data);
async function insertEmail(data) {
const response = await axiosInstance.post(`/user/insert-email`, data);
return response.data;
}

async function confirmPhone(data) {
const response = await axiosInstance.post(`/user/confirm-phone`, data);
async function confirmEmail(data) {
const response = await axiosInstance.post(`/user/confirm-email`, data);
return response.data;
}

Expand All @@ -34,10 +34,10 @@ export function AuthRepository() {

return {
login,
confirmPhone,
confirmEmail,
resendCode,
fetchUserData,
insertPhone,
insertEmail,
register
};
}