[package]
name = "frontend"
version = "0.1.0"
authors = ["Greg Burri <greg.burri@gmail.com>"]
edition = "2024"

[lib]
crate-type = ["cdylib"]

[features]
default = ["console_error_panic_hook"]

[dependencies]
common = { path = "../common" }

chrono = { version = "0.4", features = ["serde", "unstable-locales"] }

ron = "0.9"
serde = { version = "1.0", features = ["derive"] }
serde_html_form = "0.2"
thiserror = "2"

futures = "0.3"

scanf = "1.2"

web-sys = { version = "0.3", features = [
    "console",
    "Document",
    "Node",
    "NodeList",
    "Window",
    "Location",
    "EventTarget",
    "DragEvent",
    "DataTransfer",
    "DomRect",
    "KeyboardEvent",
    "Element",
    "DomStringMap",
    "HtmlDocument",
    "HtmlElement",
    "MediaQueryList",
    "HtmlDivElement",
    "HtmlLabelElement",
    "HtmlInputElement",
    "HtmlTextAreaElement",
    "HtmlSelectElement",
    "HtmlDialogElement",
] }

gloo = { version = "0.11", features = ["futures"] }

wasm-cookies = "0.2"

# The `console_error_panic_hook` crate provides better debugging of panics by
# logging them with `console.error`. This is great for development, but requires
# all the `std::fmt` and `std::panicking` infrastructure, so isn't great for
# code size when deploying.
console_error_panic_hook = { version = "0.1", optional = true }
wasm-bindgen = "0.2"
wasm-bindgen-futures = "0.4"
