web: upgrade to seed-0.10.0
This commit is contained in:
parent
f2347345b4
commit
c31f9d581f
105
Cargo.lock
generated
105
Cargo.lock
generated
@ -477,17 +477,6 @@ dependencies = [
|
|||||||
"time 0.1.45",
|
"time 0.1.45",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "cookie"
|
|
||||||
version = "0.16.2"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "e859cd57d0710d9e06c381b550c06e76992472a8c6d527aecd2fc673dcc231fb"
|
|
||||||
dependencies = [
|
|
||||||
"percent-encoding 2.3.1",
|
|
||||||
"time 0.3.30",
|
|
||||||
"version_check 0.9.4",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "cookie"
|
name = "cookie"
|
||||||
version = "0.18.0"
|
version = "0.18.0"
|
||||||
@ -633,15 +622,6 @@ version = "2.5.0"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "7e962a19be5cfc3f3bf6dd8f61eb50107f356ad6270fbb3ed41476571db78be5"
|
checksum = "7e962a19be5cfc3f3bf6dd8f61eb50107f356ad6270fbb3ed41476571db78be5"
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "dbg"
|
|
||||||
version = "1.0.4"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "4677188513e0e9d7adced5997cf9a1e7a3c996c994f90093325c5332c1a8b221"
|
|
||||||
dependencies = [
|
|
||||||
"version_check 0.1.5",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "deranged"
|
name = "deranged"
|
||||||
version = "0.3.10"
|
version = "0.3.10"
|
||||||
@ -1092,6 +1072,27 @@ dependencies = [
|
|||||||
"web-sys",
|
"web-sys",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "gloo-net"
|
||||||
|
version = "0.4.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "8ac9e8288ae2c632fa9f8657ac70bfe38a1530f345282d7ba66a1f70b72b7dc4"
|
||||||
|
dependencies = [
|
||||||
|
"futures-channel",
|
||||||
|
"futures-core",
|
||||||
|
"futures-sink",
|
||||||
|
"gloo-utils 0.2.0",
|
||||||
|
"http",
|
||||||
|
"js-sys",
|
||||||
|
"pin-project",
|
||||||
|
"serde",
|
||||||
|
"serde_json",
|
||||||
|
"thiserror",
|
||||||
|
"wasm-bindgen",
|
||||||
|
"wasm-bindgen-futures",
|
||||||
|
"web-sys",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "gloo-timers"
|
name = "gloo-timers"
|
||||||
version = "0.2.6"
|
version = "0.2.6"
|
||||||
@ -1117,6 +1118,19 @@ dependencies = [
|
|||||||
"web-sys",
|
"web-sys",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "gloo-utils"
|
||||||
|
version = "0.2.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "0b5555354113b18c547c1d3a98fbf7fb32a9ff4f6fa112ce823a21641a0ba3aa"
|
||||||
|
dependencies = [
|
||||||
|
"js-sys",
|
||||||
|
"serde",
|
||||||
|
"serde_json",
|
||||||
|
"wasm-bindgen",
|
||||||
|
"web-sys",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "graphql-introspection-query"
|
name = "graphql-introspection-query"
|
||||||
version = "0.2.0"
|
version = "0.2.0"
|
||||||
@ -1563,11 +1577,12 @@ dependencies = [
|
|||||||
"chrono",
|
"chrono",
|
||||||
"console_error_panic_hook",
|
"console_error_panic_hook",
|
||||||
"console_log",
|
"console_log",
|
||||||
|
"gloo-net",
|
||||||
"graphql_client",
|
"graphql_client",
|
||||||
"itertools",
|
"itertools",
|
||||||
"log 0.4.20",
|
"log 0.4.20",
|
||||||
"notmuch",
|
"notmuch",
|
||||||
"seed 0.9.2",
|
"seed 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"seed_hooks",
|
"seed_hooks",
|
||||||
"serde",
|
"serde",
|
||||||
"serde_json",
|
"serde_json",
|
||||||
@ -2112,6 +2127,26 @@ dependencies = [
|
|||||||
"siphasher",
|
"siphasher",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "pin-project"
|
||||||
|
version = "1.1.3"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "fda4ed1c6c173e3fc7a83629421152e01d7b1f9b7f65fb301e490e8cfc656422"
|
||||||
|
dependencies = [
|
||||||
|
"pin-project-internal",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "pin-project-internal"
|
||||||
|
version = "1.1.3"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405"
|
||||||
|
dependencies = [
|
||||||
|
"proc-macro2 1.0.70",
|
||||||
|
"quote 1.0.33",
|
||||||
|
"syn 2.0.39",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "pin-project-lite"
|
name = "pin-project-lite"
|
||||||
version = "0.2.13"
|
version = "0.2.13"
|
||||||
@ -2614,24 +2649,21 @@ checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "seed"
|
name = "seed"
|
||||||
version = "0.9.2"
|
version = "0.10.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "9352d75dd253803ce05722fe3acaafffc461d4faeaf0ebe0d8bf831059482e21"
|
checksum = "9c0e296ea0569d20467e9a1df3cb6ed66ce3b791a7eaf1e1110ae231f75e2b46"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"console_error_panic_hook",
|
|
||||||
"cookie 0.16.2",
|
|
||||||
"dbg",
|
|
||||||
"enclose",
|
"enclose",
|
||||||
"futures",
|
"futures",
|
||||||
"getrandom",
|
"getrandom",
|
||||||
"gloo-file",
|
"gloo-file",
|
||||||
"gloo-timers",
|
"gloo-timers",
|
||||||
"gloo-utils",
|
"gloo-utils 0.1.7",
|
||||||
"indexmap 1.9.3",
|
"indexmap 1.9.3",
|
||||||
"js-sys",
|
"js-sys",
|
||||||
"rand",
|
"rand",
|
||||||
"serde",
|
"serde",
|
||||||
"serde_json",
|
"serde-wasm-bindgen",
|
||||||
"uuid",
|
"uuid",
|
||||||
"version_check 0.9.4",
|
"version_check 0.9.4",
|
||||||
"wasm-bindgen",
|
"wasm-bindgen",
|
||||||
@ -2649,7 +2681,7 @@ dependencies = [
|
|||||||
"getrandom",
|
"getrandom",
|
||||||
"gloo-file",
|
"gloo-file",
|
||||||
"gloo-timers",
|
"gloo-timers",
|
||||||
"gloo-utils",
|
"gloo-utils 0.1.7",
|
||||||
"indexmap 1.9.3",
|
"indexmap 1.9.3",
|
||||||
"js-sys",
|
"js-sys",
|
||||||
"rand",
|
"rand",
|
||||||
@ -2669,7 +2701,7 @@ dependencies = [
|
|||||||
"derive_more",
|
"derive_more",
|
||||||
"gloo-timers",
|
"gloo-timers",
|
||||||
"lazy_static",
|
"lazy_static",
|
||||||
"seed 0.10.0",
|
"seed 0.10.0 (git+https://github.com/seed-rs/seed.git?branch=master)",
|
||||||
"wasm-bindgen",
|
"wasm-bindgen",
|
||||||
"web-sys",
|
"web-sys",
|
||||||
]
|
]
|
||||||
@ -2689,6 +2721,17 @@ dependencies = [
|
|||||||
"serde_derive",
|
"serde_derive",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "serde-wasm-bindgen"
|
||||||
|
version = "0.5.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "f3b143e2833c57ab9ad3ea280d21fd34e285a42837aeb0ee301f4f41890fa00e"
|
||||||
|
dependencies = [
|
||||||
|
"js-sys",
|
||||||
|
"serde",
|
||||||
|
"wasm-bindgen",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "serde_derive"
|
name = "serde_derive"
|
||||||
version = "1.0.193"
|
version = "1.0.193"
|
||||||
@ -3535,8 +3578,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||||||
checksum = "0ed0d4f68a3015cc185aff4db9506a015f4b96f95303897bfa23f846db54064e"
|
checksum = "0ed0d4f68a3015cc185aff4db9506a015f4b96f95303897bfa23f846db54064e"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"cfg-if 1.0.0",
|
"cfg-if 1.0.0",
|
||||||
"serde",
|
|
||||||
"serde_json",
|
|
||||||
"wasm-bindgen-macro",
|
"wasm-bindgen-macro",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|||||||
@ -18,7 +18,8 @@ wasm-bindgen-test = "0.3.33"
|
|||||||
[dependencies]
|
[dependencies]
|
||||||
console_error_panic_hook = "0.1.7"
|
console_error_panic_hook = "0.1.7"
|
||||||
log = "0.4.17"
|
log = "0.4.17"
|
||||||
seed = "0.9.2"
|
seed = { version = "0.10.0", features = ["routing"] }
|
||||||
|
#seed = "0.9.2"
|
||||||
console_log = {git = "http://git-private.h.xinu.tv/wathiede/console_log.git"}
|
console_log = {git = "http://git-private.h.xinu.tv/wathiede/console_log.git"}
|
||||||
serde = { version = "1.0.147", features = ["derive"] }
|
serde = { version = "1.0.147", features = ["derive"] }
|
||||||
notmuch = {path = "../notmuch"}
|
notmuch = {path = "../notmuch"}
|
||||||
@ -30,6 +31,7 @@ chrono = "0.4.31"
|
|||||||
graphql_client = "0.13.0"
|
graphql_client = "0.13.0"
|
||||||
thiserror = "1.0.50"
|
thiserror = "1.0.50"
|
||||||
seed_hooks = { git = "https://github.com/seed-rs/styles_hooks", package = "seed_hooks", branch = "main" }
|
seed_hooks = { git = "https://github.com/seed-rs/styles_hooks", package = "seed_hooks", branch = "main" }
|
||||||
|
gloo-net = { version = "0.4.0", features = ["json", "serde_json"] }
|
||||||
|
|
||||||
|
|
||||||
[package.metadata.wasm-pack.profile.release]
|
[package.metadata.wasm-pack.profile.release]
|
||||||
|
|||||||
@ -1,6 +1,7 @@
|
|||||||
|
use gloo_net::{http::Request, Error};
|
||||||
use log::info;
|
use log::info;
|
||||||
use notmuch::ThreadSet;
|
use notmuch::ThreadSet;
|
||||||
use seed::{prelude::*, Url};
|
use seed::Url;
|
||||||
|
|
||||||
const BASE_URL: &str = "/api";
|
const BASE_URL: &str = "/api";
|
||||||
pub fn refresh() -> String {
|
pub fn refresh() -> String {
|
||||||
@ -35,34 +36,20 @@ pub async fn search_request(
|
|||||||
query: &str,
|
query: &str,
|
||||||
page: usize,
|
page: usize,
|
||||||
results_per_page: usize,
|
results_per_page: usize,
|
||||||
) -> fetch::Result<shared::SearchResult> {
|
) -> Result<shared::SearchResult, Error> {
|
||||||
Request::new(search(query, page, results_per_page))
|
Request::get(&search(query, page, results_per_page))
|
||||||
.method(Method::Get)
|
.send()
|
||||||
.fetch()
|
|
||||||
.await?
|
.await?
|
||||||
.check_status()?
|
|
||||||
.json()
|
.json()
|
||||||
.await
|
.await
|
||||||
}
|
}
|
||||||
|
|
||||||
pub async fn refresh_request() -> fetch::Result<()> {
|
pub async fn refresh_request() -> Result<(), Error> {
|
||||||
let t = Request::new(refresh())
|
let t = Request::get(&refresh()).send().await?.text().await?;
|
||||||
.method(Method::Get)
|
|
||||||
.fetch()
|
|
||||||
.await?
|
|
||||||
.check_status()?
|
|
||||||
.text()
|
|
||||||
.await?;
|
|
||||||
info!("refresh {t}");
|
info!("refresh {t}");
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
pub async fn show_pretty_request(tid: &str) -> fetch::Result<ThreadSet> {
|
pub async fn show_pretty_request(tid: &str) -> Result<ThreadSet, Error> {
|
||||||
Request::new(show_pretty(tid))
|
Request::get(&show_pretty(tid)).send().await?.json().await
|
||||||
.method(Method::Get)
|
|
||||||
.fetch()
|
|
||||||
.await?
|
|
||||||
.check_status()?
|
|
||||||
.json()
|
|
||||||
.await
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,8 +1,5 @@
|
|||||||
|
use gloo_net::{http::Request, Error};
|
||||||
use graphql_client::GraphQLQuery;
|
use graphql_client::GraphQLQuery;
|
||||||
use seed::{
|
|
||||||
fetch,
|
|
||||||
fetch::{Header, Method, Request},
|
|
||||||
};
|
|
||||||
use serde::{de::DeserializeOwned, Serialize};
|
use serde::{de::DeserializeOwned, Serialize};
|
||||||
|
|
||||||
// The paths are relative to the directory where your `Cargo.toml` is located.
|
// The paths are relative to the directory where your `Cargo.toml` is located.
|
||||||
@ -23,21 +20,18 @@ pub struct FrontPageQuery;
|
|||||||
)]
|
)]
|
||||||
pub struct ShowThreadQuery;
|
pub struct ShowThreadQuery;
|
||||||
|
|
||||||
pub async fn send_graphql<Body, Resp>(body: Body) -> fetch::Result<graphql_client::Response<Resp>>
|
pub async fn send_graphql<Body, Resp>(body: Body) -> Result<graphql_client::Response<Resp>, Error>
|
||||||
where
|
where
|
||||||
Body: Serialize,
|
Body: Serialize,
|
||||||
Resp: DeserializeOwned + 'static,
|
Resp: DeserializeOwned + 'static,
|
||||||
{
|
{
|
||||||
use web_sys::RequestMode;
|
use web_sys::RequestMode;
|
||||||
|
|
||||||
Request::new("/graphql/")
|
Request::post("/graphql/")
|
||||||
.method(Method::Post)
|
|
||||||
.header(Header::content_type("application/json"))
|
|
||||||
.mode(RequestMode::Cors)
|
.mode(RequestMode::Cors)
|
||||||
.json(&body)?
|
.json(&body)?
|
||||||
.fetch()
|
.send()
|
||||||
.await?
|
.await?
|
||||||
.check_status()?
|
|
||||||
.json()
|
.json()
|
||||||
.await
|
.await
|
||||||
}
|
}
|
||||||
|
|||||||
@ -4,7 +4,7 @@
|
|||||||
#![allow(clippy::wildcard_imports)]
|
#![allow(clippy::wildcard_imports)]
|
||||||
|
|
||||||
use log::Level;
|
use log::Level;
|
||||||
use seed::prelude::*;
|
use seed::{prelude::wasm_bindgen, App};
|
||||||
|
|
||||||
mod api;
|
mod api;
|
||||||
mod consts;
|
mod consts;
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
use graphql_client::GraphQLQuery;
|
use graphql_client::GraphQLQuery;
|
||||||
use log::{debug, error, info};
|
use log::{debug, error, info};
|
||||||
use notmuch::ThreadSet;
|
use notmuch::ThreadSet;
|
||||||
use seed::{prelude::*, *};
|
use seed::{app::subs, prelude::*, *};
|
||||||
use thiserror::Error;
|
use thiserror::Error;
|
||||||
|
|
||||||
use crate::{
|
use crate::{
|
||||||
@ -321,7 +321,7 @@ pub enum UIError {
|
|||||||
#[error("No error, this should never be presented to user")]
|
#[error("No error, this should never be presented to user")]
|
||||||
NoError,
|
NoError,
|
||||||
#[error("failed to fetch {0}: {1:?}")]
|
#[error("failed to fetch {0}: {1:?}")]
|
||||||
FetchError(&'static str, FetchError),
|
FetchError(&'static str, gloo_net::Error),
|
||||||
#[error("{0} error decoding: {1:?}")]
|
#[error("{0} error decoding: {1:?}")]
|
||||||
FetchDecodeError(&'static str, Vec<graphql_client::Error>),
|
FetchDecodeError(&'static str, Vec<graphql_client::Error>),
|
||||||
#[error("no data or errors for {0}")]
|
#[error("no data or errors for {0}")]
|
||||||
@ -363,15 +363,15 @@ pub enum Msg {
|
|||||||
OnResize,
|
OnResize,
|
||||||
// Tell the server to update state
|
// Tell the server to update state
|
||||||
RefreshStart,
|
RefreshStart,
|
||||||
RefreshDone(Option<FetchError>),
|
RefreshDone(Option<gloo_net::Error>),
|
||||||
SearchRequest {
|
SearchRequest {
|
||||||
query: String,
|
query: String,
|
||||||
page: usize,
|
page: usize,
|
||||||
results_per_page: usize,
|
results_per_page: usize,
|
||||||
},
|
},
|
||||||
SearchResult(fetch::Result<shared::SearchResult>),
|
SearchResult(Result<shared::SearchResult, gloo_net::Error>),
|
||||||
ShowPrettyRequest(String),
|
ShowPrettyRequest(String),
|
||||||
ShowPrettyResult(fetch::Result<ThreadSet>),
|
ShowPrettyResult(Result<ThreadSet, gloo_net::Error>),
|
||||||
NextPage,
|
NextPage,
|
||||||
PreviousPage,
|
PreviousPage,
|
||||||
UpdateQuery(String),
|
UpdateQuery(String),
|
||||||
@ -385,12 +385,12 @@ pub enum Msg {
|
|||||||
last: Option<i64>,
|
last: Option<i64>,
|
||||||
},
|
},
|
||||||
FrontPageResult(
|
FrontPageResult(
|
||||||
fetch::Result<graphql_client::Response<graphql::front_page_query::ResponseData>>,
|
Result<graphql_client::Response<graphql::front_page_query::ResponseData>, gloo_net::Error>,
|
||||||
),
|
),
|
||||||
ShowThreadRequest {
|
ShowThreadRequest {
|
||||||
thread_id: String,
|
thread_id: String,
|
||||||
},
|
},
|
||||||
ShowThreadResult(
|
ShowThreadResult(
|
||||||
fetch::Result<graphql_client::Response<graphql::show_thread_query::ResponseData>>,
|
Result<graphql_client::Response<graphql::show_thread_query::ResponseData>, gloo_net::Error>,
|
||||||
),
|
),
|
||||||
}
|
}
|
||||||
|
|||||||
@ -5,7 +5,7 @@ use std::{
|
|||||||
|
|
||||||
use chrono::{DateTime, Datelike, Duration, Local, Utc};
|
use chrono::{DateTime, Datelike, Duration, Local, Utc};
|
||||||
use itertools::Itertools;
|
use itertools::Itertools;
|
||||||
use log::info;
|
use log::{error, info};
|
||||||
use seed::{prelude::*, *};
|
use seed::{prelude::*, *};
|
||||||
use wasm_timer::Instant;
|
use wasm_timer::Instant;
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user