16 using namespace ftxui;
19 std::string first_name;
20 std::string last_name;
22 std::string phoneNumber;
25 Component input_first_name = Input(&first_name,
"first name");
26 Component input_last_name = Input(&last_name,
"last name");
31 Component input_password = Input(&password,
"password", password_option);
35 Component input_phone_number = Input(&phoneNumber,
"phone number");
36 input_phone_number |= CatchEvent([&](
Event event) {
37 return event.is_character() && !std::isdigit(event.
character()[0]);
39 input_phone_number |= CatchEvent([&](
Event event) {
40 return event.is_character() && phoneNumber.size() > 10;
44 auto component = Container::Vertical({
52 auto renderer = Renderer(component, [&] {
54 hbox(text(
" First name : "), input_first_name->Render()),
55 hbox(text(
" Last name : "), input_last_name->Render()),
56 hbox(text(
" Password : "), input_password->Render()),
57 hbox(text(
" Phone num : "), input_phone_number->Render()),
59 text(
"Hello " + first_name +
" " + last_name),
60 text(
"Your password is " + password),
61 text(
"Your phone number is " + phoneNumber),
66 auto screen = ScreenInteractive::TerminalOutput();
67 screen.Loop(renderer);