Merge branch 'master' into intigrate-collect-assets
This commit is contained in:
1 parent
ffb5de91d1
commit
f976e08f71
379 files changed
+1962
-13517
No files matched your search
@@ -6,7 +6,7 @@ edition = "2018"
|
||||
description = "WebView renderer for Dioxus"
|
||||
license = "MIT OR Apache-2.0"
|
||||
repository = "https://github.com/DioxusLabs/dioxus/"
|
||||
homepage = "https://dioxuslabs.com/docs/0.3/guide/en/getting_started/desktop.html"
|
||||
homepage = "https://dioxuslabs.com/learn/0.4/getting_started/desktop"
|
||||
keywords = ["dom", "ui", "gui", "react"]
|
||||
|
||||
[dependencies]
|
||||
@@ -18,8 +18,8 @@ dioxus-hot-reload = { workspace = true, optional = true }
|
||||
serde = "1.0.136"
|
||||
serde_json = "1.0.79"
|
||||
thiserror = { workspace = true }
|
||||
log = { workspace = true }
|
||||
wry = { version = "0.28.0" }
|
||||
wry = { version = "0.28.0", default-features = false, features = ["protocol", "file-drop"] }
|
||||
tracing = { workspace = true }
|
||||
futures-channel = { workspace = true }
|
||||
tokio = { workspace = true, features = [
|
||||
"sync",
|
||||
@@ -52,7 +52,7 @@ core-foundation = "0.9.3"
|
||||
objc = "0.2.7"
|
||||
|
||||
[features]
|
||||
default = ["tokio_runtime", "hot-reload"]
|
||||
default = ["tokio_runtime", "hot-reload", "wry/objc-exception"]
|
||||
tokio_runtime = ["tokio"]
|
||||
fullscreen = ["wry/fullscreen"]
|
||||
transparent = ["wry/transparent"]
|
||||
@@ -60,6 +60,10 @@ devtools = ["wry/devtools"]
|
||||
dox = ["wry/dox"]
|
||||
hot-reload = ["dioxus-hot-reload"]
|
||||
|
||||
[package.metadata.docs.rs]
|
||||
default-features = false
|
||||
features = [ "dox", "tokio_runtime", "hot-reload" ]
|
||||
|
||||
[dev-dependencies]
|
||||
dioxus-core-macro = { workspace = true }
|
||||
dioxus-hooks = { workspace = true }
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
# Dioxus Desktop (webview)
|
||||
|
||||
|
||||
[![Crates.io][crates-badge]][crates-url]
|
||||
[![MIT licensed][mit-badge]][mit-url]
|
||||
[![Build Status][actions-badge]][actions-url]
|
||||
@@ -8,31 +7,25 @@
|
||||
|
||||
[crates-badge]: https://img.shields.io/crates/v/dioxus-desktop.svg
|
||||
[crates-url]: https://crates.io/crates/dioxus-desktop
|
||||
|
||||
[mit-badge]: https://img.shields.io/badge/license-MIT-blue.svg
|
||||
[mit-url]: https://github.com/dioxuslabs/dioxus/blob/master/LICENSE
|
||||
|
||||
[actions-badge]: https://github.com/dioxuslabs/dioxus/actions/workflows/main.yml/badge.svg
|
||||
[actions-url]: https://github.com/dioxuslabs/dioxus/actions?query=workflow%3ACI+branch%3Amaster
|
||||
|
||||
[discord-badge]: https://img.shields.io/discord/899851952891002890.svg?logo=discord&style=flat-square
|
||||
[discord-url]: https://discord.gg/XgGxMSkvUM
|
||||
|
||||
[Website](https://dioxuslabs.com) |
|
||||
[Guides](https://dioxuslabs.com/docs/0.3/guide/en/) |
|
||||
[Guides](https://dioxuslabs.com/learn/0.4/) |
|
||||
[API Docs](https://docs.rs/dioxus-desktop/latest/dioxus_desktop) |
|
||||
[Chat](https://discord.gg/XgGxMSkvUM)
|
||||
|
||||
|
||||
## Overview
|
||||
|
||||
`dioxus-desktop` provides a webview-based desktop renderer for the Dioxus VirtualDom.
|
||||
|
||||
This requires that webview is installed on the target system. WebView is installed by default on macOS and iOS devices, but might not come preinstalled on Windows or Linux devices. To fix these issues, follow the [instructions in the guide](guide-url).
|
||||
|
||||
[guide-url]: https://dioxuslabs.com/docs/0.3/guide/en/getting_started/desktop.html
|
||||
|
||||
|
||||
[guide-url]: https://dioxuslabs.com/learn/0.4/getting_started/desktop
|
||||
|
||||
## Features
|
||||
|
||||
@@ -48,6 +41,7 @@ This requires that webview is installed on the target system. WebView is install
|
||||
- Join the discord and ask questions!
|
||||
|
||||
## License
|
||||
|
||||
This project is licensed under the [MIT license].
|
||||
|
||||
[mit license]: https://github.com/DioxusLabs/dioxus/blob/master/LICENSE-MIT
|
||||
|
||||
@@ -194,7 +194,7 @@ impl DesktopService {
|
||||
/// launch print modal
|
||||
pub fn print(&self) {
|
||||
if let Err(e) = self.webview.print() {
|
||||
log::warn!("Open print modal failed: {e}");
|
||||
tracing::warn!("Open print modal failed: {e}");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -209,7 +209,7 @@ impl DesktopService {
|
||||
self.webview.open_devtools();
|
||||
|
||||
#[cfg(not(debug_assertions))]
|
||||
log::warn!("Devtools are disabled in release builds");
|
||||
tracing::warn!("Devtools are disabled in release builds");
|
||||
}
|
||||
|
||||
/// Create a wry event handler that listens for wry events.
|
||||
|
||||
@@ -334,7 +334,7 @@ pub fn launch_with_props<P: 'static>(root: Component<P>, props: P, cfg: Config)
|
||||
if temp.contains_key("href") {
|
||||
let open = webbrowser::open(temp["href"].as_str().unwrap());
|
||||
if let Err(e) = open {
|
||||
log::error!("Open Browser error: {:?}", e);
|
||||
tracing::error!("Open Browser error: {:?}", e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -149,7 +149,7 @@ pub(super) fn desktop_handler(
|
||||
.map_err(From::from);
|
||||
}
|
||||
|
||||
log::error!(
|
||||
tracing::error!(
|
||||
"Failed to find {} (as path {})",
|
||||
request.uri().path(),
|
||||
asset.display()
|
||||
|
||||
@@ -123,7 +123,7 @@ impl QueryEngine {
|
||||
}})
|
||||
}})();"#
|
||||
)) {
|
||||
log::warn!("Query error: {err}");
|
||||
tracing::warn!("Query error: {err}");
|
||||
}
|
||||
|
||||
Query {
|
||||
|
||||
@@ -8,7 +8,6 @@ One of Dioxus' flagship features is the ability to quickly build a native deskto
|
||||
|
||||
Dioxus Desktop is built off Tauri. Right now there aren't any Dioxus abstractions over the menubar, handling, etc, so you'll want to leverage Tauri - mostly [Wry](http://github.com/tauri-apps/wry/) and [Tao](http://github.com/tauri-apps/tao) directly. An upcoming release of Dioxus-Desktop will include components and hooks for notifications, global shortcuts, menubar, etc.
|
||||
|
||||
|
||||
## Getting Set up
|
||||
|
||||
Getting Set up with Dioxus-Desktop is quite easy. Make sure you have Rust and Cargo installed, and then create a new project:
|
||||
@@ -44,9 +43,8 @@ fn app(cx: Scope) -> Element {
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
To configure the webview, menubar, and other important desktop-specific features, checkout out some of the launch configuration in the [API reference](https://docs.rs/dioxus-desktop/).
|
||||
|
||||
## Future Steps
|
||||
|
||||
Make sure to read the [Dioxus Guide](https://dioxuslabs.com/docs/0.3/guide/en) if you already haven't!
|
||||
Make sure to read the [Dioxus Guide](https://dioxuslabs.com/learn/0.4/) if you already haven't!
|
||||
Reference in new issue
Block a user