diff --git a/src/App.tsx b/src/App.tsx
index 9a8022a..955a8fa 100644
--- a/src/App.tsx
+++ b/src/App.tsx
@@ -5,6 +5,8 @@ import 'react-toastify/dist/ReactToastify.css';
import LandingPage from "./components/landing";
import ConfigurationPage from "./components/configuration";
import DocumentationPage from "./components/documentation";
+import LoginPage from "./components/login";
+import PasswordResetPage from "./components/password-reset";
const App: React.FC = () => {
return (
@@ -12,6 +14,8 @@ const App: React.FC = () => {
} />
+ } />
+ } />
} />
} />
diff --git a/src/components/login/index.tsx b/src/components/login/index.tsx
new file mode 100644
index 0000000..abd7417
--- /dev/null
+++ b/src/components/login/index.tsx
@@ -0,0 +1,167 @@
+import React, { useState } from "react";
+import { Link } from "react-router-dom";
+import { LogIn, UserPlus, Eye, EyeOff } from "lucide-react";
+
+const LoginPage: React.FC = () => {
+ const [isLogin, setIsLogin] = useState(true);
+ const [firstName, setFirstName] = useState("");
+ const [email, setEmail] = useState("");
+ const [password, setPassword] = useState("");
+ const [confirmPassword, setConfirmPassword] = useState("");
+ const [showPassword, setShowPassword] = useState(false);
+ const [showConfirmPassword, setShowConfirmPassword] = useState(false);
+ const passwordsMatch = isLogin || !confirmPassword || password === confirmPassword;
+
+ const handleSubmit = (e: React.FormEvent) => {
+ e.preventDefault();
+ if (isLogin) {
+ console.log("Login attempt:", { email, password });
+ } else {
+ if (password !== confirmPassword) {
+ return;
+ }
+
+ console.log("Register attempt:", { firstName, email, password, confirmPassword });
+ }
+ };
+
+ const togglePanel = () => {
+ setIsLogin(!isLogin);
+ setFirstName("");
+ setEmail("");
+ setPassword("");
+ setConfirmPassword("");
+ setShowPassword(false);
+ setShowConfirmPassword(false);
+ };
+
+ return (
+
+
+
+
+ {isLogin ? : }
+
+
+ {isLogin ? "Acessar Prisma" : "Criar sua conta"}
+
+
+
+
+
+
+ );
+};
+
+export default LoginPage;
\ No newline at end of file
diff --git a/src/components/password-reset/index.tsx b/src/components/password-reset/index.tsx
new file mode 100644
index 0000000..2725ce4
--- /dev/null
+++ b/src/components/password-reset/index.tsx
@@ -0,0 +1,90 @@
+import React, { useState } from "react";
+import { ArrowLeft, Mail, CheckCircle } from "lucide-react";
+import { Link } from "react-router-dom";
+
+const PasswordResetPage: React.FC = () => {
+ const [email, setEmail] = useState("");
+ const [isSubmitted, setIsSubmitted] = useState(false);
+
+ const handleSubmit = (e: React.FormEvent) => {
+ e.preventDefault();
+ // logica de envio de email de recuperacao
+ console.log("Reset password attempt:", { email });
+ setIsSubmitted(true);
+ };
+
+ return (
+
+
+
+
+ Voltar para login
+
+
+
+
+
+
+
+ Recuperar Senha
+
+
+ {isSubmitted
+ ? "Verifique seu email"
+ : "Digite seu email para receber um link de recuperação"}
+
+
+
+ {!isSubmitted ? (
+
+ ) : (
+
+
+
+
+ Enviamos um link de recuperação para {email}
+
+
+ Verifique sua caixa de entrada e clique no link para redefinir sua senha.
+
+
+
+
+
+ )}
+
+
+ );
+};
+
+export default PasswordResetPage;