From 76d6d6bfed681463b9f3a7617642d2753bed7c3a Mon Sep 17 00:00:00 2001 From: ScarletRedMan Date: Mon, 5 Feb 2024 18:14:15 +0700 Subject: [PATCH] Added login page --- .../dragonestia/picker/cp/page/LoginPage.java | 53 +++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 control-panel/src/main/java/ru/dragonestia/picker/cp/page/LoginPage.java diff --git a/control-panel/src/main/java/ru/dragonestia/picker/cp/page/LoginPage.java b/control-panel/src/main/java/ru/dragonestia/picker/cp/page/LoginPage.java new file mode 100644 index 0000000..d6f951d --- /dev/null +++ b/control-panel/src/main/java/ru/dragonestia/picker/cp/page/LoginPage.java @@ -0,0 +1,53 @@ +package ru.dragonestia.picker.cp.page; + +import com.vaadin.flow.component.Html; +import com.vaadin.flow.component.Unit; +import com.vaadin.flow.component.button.Button; +import com.vaadin.flow.component.button.ButtonVariant; +import com.vaadin.flow.component.orderedlayout.VerticalLayout; +import com.vaadin.flow.component.textfield.PasswordField; +import com.vaadin.flow.component.textfield.TextField; +import com.vaadin.flow.router.Route; +import org.springframework.beans.factory.annotation.Autowired; +import ru.dragonestia.picker.api.repository.UserRepository; + +@Route("/login") +public class LoginPage extends VerticalLayout { + + private final UserRepository userRepository; + private final TextField fieldLogin; + private final PasswordField fieldPassword; + + @Autowired + public LoginPage(UserRepository userRepository) { + this.userRepository = userRepository; + + setAlignItems(Alignment.CENTER); + + add(new Html("

RoomPicker!

")); + add(fieldLogin = createLoginField()); + add(fieldPassword = createPasswordField()); + add(createLoginButton()); + } + + private TextField createLoginField() { + var field = new TextField("Account login"); + field.setRequired(true); + field.setMinWidth(20, Unit.PERCENTAGE); + return field; + } + + private PasswordField createPasswordField() { + var field = new PasswordField("Password"); + field.setRequired(true); + field.setMinWidth(20, Unit.PERCENTAGE); + return field; + } + + private Button createLoginButton() { + var button = new Button("Login"); + button.addThemeVariants(ButtonVariant.LUMO_PRIMARY); + button.setMinWidth(20, Unit.PERCENTAGE); + return button; + } +}