This commit is contained in:
2026-01-26 13:53:51 -05:00
parent e1eff49be9
commit 53ed4775ae
19 changed files with 565 additions and 350 deletions

View File

@@ -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");
};
});
});