[package]
name = "runway"
version = "0.1.0"
edition = "2021"

# Frontend binary only

[dependencies]
calendar-models = { workspace = true, features = ["wasm"] }
yew = { version = "0.21", features = ["csr"] }
web-sys = { version = "0.3", features = [
    "console",
    "HtmlSelectElement", 
    "HtmlInputElement",
    "HtmlTextAreaElement",
    "HtmlLinkElement",
    "HtmlHeadElement",
    "Event",
    "MouseEvent",
    "InputEvent",
    "Element",
    "Document",
    "Window",
    "Location",
    "Navigator",
    "DomTokenList",
    "Headers",
    "Request",
    "RequestInit",
    "RequestMode",
    "Response",
    "CssStyleDeclaration",
    "MediaQueryList",
    "MediaQueryListEvent",
    # Notification API for browser notifications
    "Notification",
    "NotificationOptions",
    "NotificationPermission",
    # Service Worker API for background processing
    "ServiceWorkerContainer",
    "ServiceWorkerRegistration",
    "MessageEvent",
    # IndexedDB API for persistent alarm storage
    "IdbDatabase",
    "IdbObjectStore",
    "IdbTransaction",
    "IdbRequest",
    "IdbKeyRange",
    "IdbFactory",
    "IdbOpenDbRequest",
    "IdbVersionChangeEvent",
] }
wasm-bindgen = "0.2"
js-sys = "0.3"

# HTTP client for CalDAV requests
reqwest = { version = "0.11", features = ["json"] }
# Calendar and iCal parsing
ical = "0.7"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
serde-wasm-bindgen = "0.6"

# Date and time handling
chrono = { version = "0.4", features = ["serde", "wasm-bindgen"] }
chrono-tz = "0.8"

# Error handling
anyhow = "1.0"
thiserror = "1.0"

# Logging
log = "0.4"
console_log = "1.0"

# UUID generation for calendar events
uuid = { version = "1.0", features = ["v4", "wasm-bindgen", "serde"] }
getrandom = { version = "0.2", features = ["js"] }

# Environment variable handling
dotenvy = "0.15"
base64 = "0.21"

# XML/Regex parsing
regex = "1.0"

# Yew routing and local storage (WASM only)
yew-router = "0.18"
gloo-storage = "0.3"
gloo-timers = "0.3"
wasm-bindgen-futures = "0.4"

# IndexedDB for persistent alarm storage
indexed_db_futures = "0.4"

