update iris
This commit is contained in:
151
src/bin/client/ui/connect.rs
Normal file
151
src/bin/client/ui/connect.rs
Normal file
@@ -0,0 +1,151 @@
|
||||
use super::*;
|
||||
|
||||
pub fn start_ui(client: &mut Client, ui: &mut Ui) -> WidgetRef {
|
||||
let mut accounts = Span::empty(Dir::DOWN);
|
||||
|
||||
accounts.push(
|
||||
wtext("no accounts")
|
||||
.size(20)
|
||||
.center_text()
|
||||
.color(Color::GRAY)
|
||||
.height(60)
|
||||
.add(ui),
|
||||
);
|
||||
|
||||
let connect = Button::submit("connect", ui);
|
||||
let create = Button::submit("create", ui);
|
||||
let connect_ = connect.clone();
|
||||
let create_ = create.clone();
|
||||
ui.on(connect.view(), Submit, move |_| {
|
||||
connect_.disable();
|
||||
create_.disable();
|
||||
});
|
||||
|
||||
let connect_ = connect.clone();
|
||||
let create_ = create.clone();
|
||||
ui.on(create.view(), Submit, move |ctx| {
|
||||
connect_.disable();
|
||||
create_.disable();
|
||||
create_ui(ctx.ui).set_ptr(&ctx.state.main_ui, ctx.ui);
|
||||
});
|
||||
|
||||
(
|
||||
wtext("Select Account").text_align(Align::CENTER).size(30),
|
||||
accounts,
|
||||
(connect, create).span(Dir::RIGHT).gap(10),
|
||||
)
|
||||
.span(Dir::DOWN)
|
||||
.gap(30)
|
||||
.modal(400)
|
||||
.add(ui)
|
||||
}
|
||||
|
||||
pub fn create_ui(ui: &mut Ui) -> WidgetRef {
|
||||
wtext("hi").add(ui)
|
||||
}
|
||||
|
||||
// pub fn connect_screen(client: &mut Client, ui: &mut Ui, state: &UiState) -> WidgetRef {
|
||||
// let Client { data, proxy, .. } = client;
|
||||
// let ip = field_widget(&data.ip, "ip", ui);
|
||||
// let ip_ = ip.clone();
|
||||
// let handle = AppHandle {
|
||||
// proxy: proxy.clone(),
|
||||
// window: state.window.clone(),
|
||||
// };
|
||||
//
|
||||
// let submit = Button::submit("connect", ui);
|
||||
//
|
||||
// submit.on(Submit, move |ctx| {
|
||||
// let ClientState::Connect(state) = &mut ctx.state.state else {
|
||||
// return;
|
||||
// };
|
||||
// let ip = ip_.get().content();
|
||||
// state.handle = Some(connect(handle.clone(), ConnectInfo { ip }));
|
||||
// });
|
||||
//
|
||||
// (
|
||||
// wtext("connect to a server")
|
||||
// .text_align(Align::CENTER)
|
||||
// .size(30),
|
||||
// field_box(
|
||||
// // NOTE: should probably do this on submit
|
||||
// ip.on(Edited, |ctx| {
|
||||
// ctx.state.data.ip = ctx.widget.get().content();
|
||||
// })
|
||||
// .add(ui),
|
||||
// ui,
|
||||
// ),
|
||||
// submit,
|
||||
// )
|
||||
// .span(Dir::DOWN)
|
||||
// .gap(10)
|
||||
// .pad(15)
|
||||
// .background(rect(Color::BLACK.brighter(0.2)).radius(15))
|
||||
// .width(400)
|
||||
// .align(Align::CENTER)
|
||||
// .add(ui)
|
||||
// }
|
||||
|
||||
// pub fn login_screen(client: &mut Client, ui: &mut Ui) -> WidgetRef {
|
||||
// let Client { data, .. } = client;
|
||||
// let username = field_widget(&data.username, "username", ui);
|
||||
// let password = field_widget(&data.password, "password", ui);
|
||||
// let username_ = username.clone();
|
||||
// let password_ = password.clone();
|
||||
// let submit = Button::submit("login", ui);
|
||||
// submit
|
||||
// .on(move |client, _ui| {
|
||||
// let ClientState::Login(state) = &mut client.state else {
|
||||
// return;
|
||||
// };
|
||||
// let username = username_.get().content();
|
||||
// let password = password_.get().content();
|
||||
// state.handle.send(ClientMsg::Login { username, password });
|
||||
// })
|
||||
// .add(ui);
|
||||
// let username_ = username.clone();
|
||||
// let password_ = password.clone();
|
||||
// let create_button = Button::submit(
|
||||
// "create account",
|
||||
// move |client, _ui| {
|
||||
// let ClientState::Login(state) = &mut client.state else {
|
||||
// return;
|
||||
// };
|
||||
// let username = username_.get().content();
|
||||
// let password = password_.get().content();
|
||||
// state
|
||||
// .handle
|
||||
// .send(ClientMsg::CreateAccount { username, password });
|
||||
// },
|
||||
// ui,
|
||||
// );
|
||||
// create_button.on()
|
||||
// (
|
||||
// wtext("login to server").text_align(Align::CENTER).size(30),
|
||||
// field_box(
|
||||
// username
|
||||
// .on(Edited, |ctx| {
|
||||
// ctx.state.data.username = ctx.widget.get().content();
|
||||
// })
|
||||
// .add(ui),
|
||||
// ui,
|
||||
// ),
|
||||
// field_box(
|
||||
// password
|
||||
// .on(Edited, |ctx| {
|
||||
// ctx.state.data.password = ctx.widget.get().content();
|
||||
// })
|
||||
// .add(ui),
|
||||
// ui,
|
||||
// ),
|
||||
// submit,
|
||||
// create_button,
|
||||
// )
|
||||
// .span(Dir::DOWN)
|
||||
// .gap(10)
|
||||
// .pad(15)
|
||||
// .background(rect(Color::BLACK.brighter(0.2)).radius(15))
|
||||
// .width(400)
|
||||
// .align(Align::CENTER)
|
||||
// .add(ui)
|
||||
// }
|
||||
Reference in New Issue
Block a user