use dioxus::prelude::*;
use crate::app::Route;
use crate::auth::login_form::LoginForm;
use crate::state::app_state::{AppState, AuthStatus};
#[component]
pub fn LoginPage() -> Element {
let state = use_context::<Signal<AppState>>();
let navigator = use_navigator();
let auth_status = state.read().auth_status.clone();
if matches!(auth_status, AuthStatus::LoggedIn) {
navigator.push(Route::Home {});
}
rsx! {
div {
class: "login-page",
LoginForm {}
div {
class: "login-page__footer",
p {
"Don't have an account? "
Link {
to: Route::RegisterPage {},
"Create one"
}
}
Link {
to: Route::ForgotPassword {},
class: "login-page__forgot",
"Forgot password?"
}
}
}
}
}