[package]
name = "gunnar-ui-web"
description = "The gunnar console: a Leptos/WASM single-page app served by gunnar-ui-server"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
repository.workspace = true
license.workspace = true
authors.workspace = true
publish.workspace = true
[features]
default = []
# The paid half of the console. gunnar's own feature name, and
# gunnar-ui-server's: one word turns the appliance's metered build on
# everywhere, and a second spelling would let the console and the server
# disagree about whether this box sells anything.
metered = []
[dependencies]
leptos = { version = "0.8", features = ["csr"] }
leptos_router = "0.8"
serde.workspace = true
serde_json.workspace = true
console_error_panic_hook = "0.1"
gloo-net = { version = "0.7", features = ["http"] }
gloo-timers = { version = "0.4", features = ["futures"] }
wasm-bindgen = "0.2"
wasm-bindgen-futures = "0.4"
js-sys = "0.3"
send_wrapper = "0.6"
# Encrypted repositories: open and diff in this tab, with the SAME crate the
# gunnar CLI runs natively (format, open, diff), and `user-key`: the person's
# encryption key, opened in this tab with their security key (WebAuthn PRF) or
# a printed recovery code (age X25519 and scrypt; no SSH, no PQ).
gunnar-crypt = { version = "1.4", path = "../../../gunnar/crates/gunnar-crypt", default-features = false, features = ["cipher", "diff", "user-key"] }
# `EventSource`/`MessageEvent`/`ErrorEvent` carry the live event feed. Neither
# garmr's nor holger's console enables them — both poll — so this list cannot be
# copied from either.
web-sys = { version = "0.3", features = [
"Window",
"Location",
"Document",
"Element",
"HtmlElement",
"HtmlInputElement",
"Storage",
"Navigator",
"Event",
"EventTarget",
"EventSource",
"MessageEvent",
"ErrorEvent",
"MediaQueryList",
"Crypto",
] }
[dev-dependencies]
# The suite's one estate renderer, so the Machine card's guard is held to the
# drawings it really gets (the BFF draws with it; the page never does).
nordisk-estate-svg = { version = "0.1", path = "../../../monetize/crates/estate-svg" }