/* * This file is part of laurelin_client * Copyright (C) 2023 Jonni Liljamo * * Licensed under GPL-3.0-only. * See LICENSE for licensing information. */ use bevy::prelude::*; use bevy_egui::egui; use crate::{util::egui::password, plugins::LoginCallEvent}; use super::{MenuData, MenuUIState}; pub fn view( ui: &mut egui::Ui, data: &mut MenuData, login_ev_w: &mut EventWriter, ) { ui.horizontal(|ui| { ui.label("Email:"); ui.text_edit_singleline(&mut data.login_email) }); ui.horizontal(|ui| { ui.label("Password:"); ui.add(password(&mut data.login_password)); }); if !data.error.is_empty() { ui.label(egui::RichText::new(&data.error).color(egui::Color32::RED)); } ui.with_layout(egui::Layout::right_to_left(egui::Align::TOP), |ui| { if ui.button("Login").clicked() { data.error.clear(); data.ui_state = MenuUIState::Loading; login_ev_w.send(LoginCallEvent { email: data.login_email.clone(), password: data.login_password.clone(), }); } }); ui.vertical_centered(|ui| { ui.label("I don't have an account:"); if ui.link("Register").clicked() { data.ui_state = MenuUIState::Register; } }); }