/* * 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_egui::egui; use crate::util::egui::password; use super::{MenuData, MenuUIState}; pub fn view(ui: &mut egui::Ui, data: &mut MenuData) { ui.horizontal(|ui| { ui.label("Username:"); ui.text_edit_singleline(&mut data.register_username) }); ui.horizontal(|ui| { ui.label("Email:"); ui.text_edit_singleline(&mut data.register_email) }); ui.horizontal(|ui| { ui.label("Password:"); ui.add(password(&mut data.register_password)); }); ui.horizontal(|ui| { ui.label("Confirm password:"); ui.add(password(&mut data.register_password_confirm)); }); if !data.error.is_empty() { ui.label(egui::RichText::new(&data.error).color(egui::Color32::RED)); } ui.add_enabled_ui(data.register_password == data.register_password_confirm, |ui| { ui.with_layout(egui::Layout::right_to_left(egui::Align::TOP), |ui| { if ui.button("Register").clicked() { data.error.clear(); data.ui_state = MenuUIState::Loading; // do stuff with fields } }); }); ui.vertical_centered(|ui| { ui.label("I have an account:"); if ui.link("Login").clicked() { data.ui_state = MenuUIState::Login; } }); }