This commit is contained in:
2026-01-20 21:13:42 -05:00
parent 6821e546db
commit ace356381a
8 changed files with 89 additions and 47 deletions
+25 -8
View File
@@ -1,6 +1,6 @@
use super::*;
pub fn start_ui(rsc: &mut Rsc) -> WeakWidget {
pub fn start(rsc: &mut Rsc) -> WeakWidget {
let mut accounts = Span::empty(Dir::DOWN);
accounts.push(
@@ -14,15 +14,13 @@ pub fn start_ui(rsc: &mut Rsc) -> WeakWidget {
let connect = Button::submit("connect", rsc);
let create = Button::submit("create", rsc);
rsc.events.register(connect.root(), Submit, move |_, rsc| {
rsc.events.register(connect, Submit, move |_, rsc| {
connect.disable(rsc);
create.disable(rsc);
});
rsc.events.register(create.root(), Submit, move |ctx, rsc| {
connect.disable(rsc);
create.disable(rsc);
create_ui(rsc).set_ptr(ctx.state.main_ui, rsc);
rsc.events.register(create, Submit, move |ctx, rsc| {
create_account(rsc).set_ptr(ctx.state.main_ui, rsc);
});
(
@@ -36,8 +34,27 @@ pub fn start_ui(rsc: &mut Rsc) -> WeakWidget {
.add(rsc)
}
pub fn create_ui(rsc: &mut Rsc) -> WeakWidget {
wtext("hi").add(rsc)
pub fn create_account(rsc: &mut Rsc) -> WeakWidget {
let url = field("", "server", rsc);
let username = field("", "username", rsc);
let password = field("", "password", rsc);
let create = Button::submit("create", rsc);
rsc.events.register(create, Submit, move |ctx, rsc| {
ctx.state.data
});
(
wtext("Create Account").text_align(Align::CENTER).size(30),
field_box(url, rsc),
field_box(username, rsc),
field_box(password, rsc),
create,
)
.span(Dir::DOWN)
.gap(15)
.modal(400)
.add(rsc)
}
// pub fn connect_screen(client: &mut Client, ui: &mut Ui, state: &UiState) -> WeakWidget {
+1 -1
View File
@@ -40,7 +40,7 @@ pub fn msg_panel(rsc: &mut Rsc) -> WeakWidget {
.editable(EditMode::MultiLine)
.size(SIZE)
.wrap(true)
.hint(hint("send message"))
.hint(hint_text("send message"))
.add(rsc);
let msg_area = msg_area.add(rsc);
+4 -4
View File
@@ -8,15 +8,15 @@ pub fn werror(msg: &str, rsc: &mut Rsc) -> StrongWidget {
.add_strong(rsc)
}
pub fn hint(msg: impl Into<String>) -> TextBuilder<Rsc> {
pub fn hint_text(msg: impl Into<String>) -> TextBuilder<Rsc> {
wtext(msg).size(20).color(Color::GRAY)
}
pub fn field_widget(name: &str, hint_text: &str, rsc: &mut Rsc) -> WeakWidget<TextEdit> {
wtext(name)
pub fn field(default: &str, hint: &str, rsc: &mut Rsc) -> WeakWidget<TextEdit> {
wtext(default)
.editable(EditMode::SingleLine)
.size(20)
.hint(hint(hint_text))
.hint(hint_text(hint))
.add(rsc)
}