import { useState } from "react"; import { Link, useNavigate } from "react-router-dom"; import { useAuth } from "../../contexts/AuthContext"; import Input from "../../components/Input"; import "./Login.css"; export default function Login() { const [email, setEmail] = useState(""); const [password, setPassword] = useState(""); const [error, setError] = useState(""); const [loading, setLoading] = useState(false); const { login } = useAuth(); const navigate = useNavigate(); async function handleSubmit(e) { e.preventDefault(); if (!email || !password) { setError("Please fill in all fields"); return; } try { setError(""); setLoading(true); await login(email, password); navigate("/addresses"); } catch (err) { setError("Failed to log in: " + err.message); } finally { setLoading(false); } } return (

Koin Ping - Login

{error &&
{error}
}

Don't have an account?{" "} Sign up here

A lightweight, on-chain monitoring system giving users real-time situational awareness over blockchain addresses.

); }