abstract class
UI::Screen
- UI::Screen
- Reference
- Object
Overview
Abstract base class for screens. Authors subclass UI::Screen and
implement #build(context) to return a UI::View tree.
Screens are stateless — the per-request data lives on
ScreenContext. A screen instance is constructed fresh per render.
class SignInScreen < UI::Screen
def build(context : UI::ScreenContext) : UI::View
form = UI::Form.new(
action: "/sign_in/submit",
csrf_token: context.csrf_token,
)
form << UI::TextField.new(placeholder: "Email", name: "email",
text: context.params["email"]? || "")
form << UI::SecureField.new(placeholder: "Password", name: "password")
form << UI::Button.new("Sign in", type: UI::Button::Type::Submit)
form
end
end