forked from alemi/upub
feat: show post box only after login
This commit is contained in:
parent
f733d42af7
commit
5f46de0fc9
2 changed files with 18 additions and 22 deletions
|
@ -31,25 +31,23 @@ pub fn LoginBox(
|
||||||
} />
|
} />
|
||||||
</div>
|
</div>
|
||||||
<div class:hidden=move || { !rx.get().unwrap_or_default().is_empty() }>
|
<div class:hidden=move || { !rx.get().unwrap_or_default().is_empty() }>
|
||||||
<p>
|
<input class="w-100" type="text" node_ref=username_ref placeholder="username" />
|
||||||
<input type="text" node_ref=username_ref placeholder="username" />
|
<input class="w-100" type="text" node_ref=password_ref placeholder="password" />
|
||||||
<input type="text" node_ref=password_ref placeholder="password" />
|
<input class="w-100" type="submit" value="login" on:click=move |_| {
|
||||||
<input type="submit" value="login" on:click=move |_| {
|
console_log("logging in...");
|
||||||
console_log("logging in...");
|
let email = username_ref.get().map(|x| x.value()).unwrap_or("".into());
|
||||||
let email = username_ref.get().map(|x| x.value()).unwrap_or("".into());
|
let password = password_ref.get().map(|x| x.value()).unwrap_or("".into());
|
||||||
let password = password_ref.get().map(|x| x.value()).unwrap_or("".into());
|
spawn_local(async move {
|
||||||
spawn_local(async move {
|
let auth = reqwest::Client::new()
|
||||||
let auth = reqwest::Client::new()
|
.post(format!("{URL_BASE}/auth"))
|
||||||
.post(format!("{URL_BASE}/auth"))
|
.json(&LoginForm { email, password })
|
||||||
.json(&LoginForm { email, password })
|
.send()
|
||||||
.send()
|
.await.unwrap()
|
||||||
.await.unwrap()
|
.json::<String>()
|
||||||
.json::<String>()
|
.await.unwrap();
|
||||||
.await.unwrap();
|
tx.set(Some(auth));
|
||||||
tx.set(Some(auth));
|
});
|
||||||
});
|
} />
|
||||||
} />
|
|
||||||
</p>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
}
|
}
|
||||||
|
@ -60,7 +58,7 @@ pub fn PostBox(token: Signal<Option<String>>) -> impl IntoView {
|
||||||
let summary_ref: NodeRef<html::Input> = create_node_ref();
|
let summary_ref: NodeRef<html::Input> = create_node_ref();
|
||||||
let content_ref: NodeRef<html::Textarea> = create_node_ref();
|
let content_ref: NodeRef<html::Textarea> = create_node_ref();
|
||||||
view! {
|
view! {
|
||||||
<div>
|
<div class:hidden=move || { token.get().unwrap_or_default().is_empty() }>
|
||||||
<input class="w-100" type="text" node_ref=summary_ref placeholder="CW" />
|
<input class="w-100" type="text" node_ref=summary_ref placeholder="CW" />
|
||||||
<textarea class="w-100" node_ref=content_ref placeholder="hello world!" ></textarea>
|
<textarea class="w-100" node_ref=content_ref placeholder="hello world!" ></textarea>
|
||||||
<button class="w-100" type="button" on:click=move |_| {
|
<button class="w-100" type="button" on:click=move |_| {
|
||||||
|
|
|
@ -29,9 +29,7 @@ fn main() {
|
||||||
tx=set_cookie
|
tx=set_cookie
|
||||||
rx=cookie
|
rx=cookie
|
||||||
/>
|
/>
|
||||||
<hr />
|
|
||||||
<PostBox token=cookie />
|
<PostBox token=cookie />
|
||||||
<hr />
|
|
||||||
</div>
|
</div>
|
||||||
<div class="col-main">
|
<div class="col-main">
|
||||||
<Router // TODO maybe set base="/web" ?
|
<Router // TODO maybe set base="/web" ?
|
||||||
|
|
Loading…
Reference in a new issue