From c2f9b4bff66fb50510e55767dd39284658c83132 Mon Sep 17 00:00:00 2001 From: Raihanullah Shamsi <73234279+Rehan959@users.noreply.github.com> Date: Wed, 14 Jan 2026 08:52:03 +0530 Subject: [PATCH] fixed the issue 135 --- .../src/shared/component/v1/LoginPage.tsx | 85 +++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 LocalMind-Frontend/src/shared/component/v1/LoginPage.tsx diff --git a/LocalMind-Frontend/src/shared/component/v1/LoginPage.tsx b/LocalMind-Frontend/src/shared/component/v1/LoginPage.tsx new file mode 100644 index 0000000..d3189a7 --- /dev/null +++ b/LocalMind-Frontend/src/shared/component/v1/LoginPage.tsx @@ -0,0 +1,85 @@ +import React, { useState } from 'react' +import { useNavigate } from 'react-router-dom' + +interface ApiService { + login: ( + email: string, + password: string + ) => Promise<{ success: boolean; data?: unknown; error?: string }> +} + +interface LoginPageProps { + apiService: ApiService +} + +const LoginPage: React.FC = ({ apiService }) => { + const [email, setEmail] = useState('') + const [password, setPassword] = useState('') + const [error, setError] = useState('') + const navigate = useNavigate() + + const handleLogin = async () => { + try { + setError('') + const response = await apiService.login(email, password) + + if (response.success) { + navigate('/dashboard') + } else { + setError(response.error || 'Login failed') + } + } catch (err) { + setError('An error occurred during login') + console.error(err) + } + } + + const handleSubmit = (e: React.FormEvent) => { + e.preventDefault() + handleLogin() + } + + return ( +
+
+

Login

+ + {error &&
{error}
} + +
+ + setEmail(e.target.value)} + className="w-full bg-zinc-700 text-white px-4 py-2 rounded" + required + /> +
+ +
+ + setPassword(e.target.value)} + className="w-full bg-zinc-700 text-white px-4 py-2 rounded" + required + /> +
+ + +
+
+ ) +} + +export default LoginPage