work
This commit is contained in:
@@ -1,3 +1,5 @@
|
||||
use openworm::net::CreateAccount;
|
||||
|
||||
use crate::net::{self, ConnectInfo};
|
||||
|
||||
use super::*;
|
||||
@@ -43,19 +45,39 @@ pub fn create_account(rsc: &mut Rsc) -> WeakWidget {
|
||||
|
||||
let create = Button::submit("create", rsc);
|
||||
rsc.events.register(create, Submit, move |ctx, rsc| {
|
||||
create.disable(rsc);
|
||||
let url = rsc[url].content();
|
||||
let user = rsc[username].content();
|
||||
let pwd = rsc[password].content();
|
||||
let key = ctx.state.data.login_key(&user);
|
||||
rsc.spawn_task(async |ctx| {
|
||||
let net = net::connect(
|
||||
let username = rsc[username].content();
|
||||
let password = rsc[password].content();
|
||||
let login_key = ctx.state.data.login_key(&username);
|
||||
rsc.spawn_task(async move |mut ctx| {
|
||||
let mut fail = move |reason| {
|
||||
ctx.update(move |ctx, rsc| {
|
||||
rsc[ctx.notif].inner = Some(werror(reason, rsc));
|
||||
create.enable(rsc);
|
||||
})
|
||||
};
|
||||
let Ok(net) = net::connect(
|
||||
async |msg| {
|
||||
println!("msg recv :joy:");
|
||||
},
|
||||
ConnectInfo { url },
|
||||
)
|
||||
.await
|
||||
.expect("failed to connect");
|
||||
else {
|
||||
return fail("failed to connect");
|
||||
};
|
||||
|
||||
let Ok(resp) = net
|
||||
.request(CreateAccount {
|
||||
username,
|
||||
password,
|
||||
login_key,
|
||||
})
|
||||
.await
|
||||
else {
|
||||
return fail("failed to create account");
|
||||
};
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user