[package]
name = "easyremote-client"
version.workspace = true
edition.workspace = true

[build-dependencies]
tauri-build = { version = "1.5", features = [] }

[dependencies]
easyremote-common = { path = "../common" }
easyremote-client-core = { path = "../client-core" }

# Tauri
tauri = { version = "1.5", features = ["shell-open", "dialog-all", "clipboard-all", "window-all", "global-shortcut-all", "process-all", "system-tray"] }

# Windows single instance
[target.'cfg(windows)'.dependencies]
windows = { version = "0.58", features = [
    "Win32_Foundation",
    "Win32_System_Threading",
    "Win32_Security",
    "Win32_UI_WindowsAndMessaging"
] }
winreg = "0.52"

# Async
tokio = { workspace = true }
futures = { workspace = true }

# HTTP Client
reqwest = { version = "0.11", features = ["json"] }

# Serialization
serde = { workspace = true }
serde_json = { workspace = true }
uuid = { workspace = true }

# Logging
tracing = { workspace = true }
tracing-subscriber = { workspace = true }

# Utils
chrono = { workspace = true }
anyhow = { workspace = true }
thiserror = { workspace = true }
dirs = "5.0"
image = { workspace = true }
once_cell = "1.19"

[features]
default = ["custom-protocol"]
custom-protocol = ["tauri/custom-protocol"]
