fix builds without a platform selected
This commit is contained in:
1 parent
b165d707c4
commit
259dcd4ebe
1 file changed
+7
-7
@@ -4,13 +4,13 @@ use std::any::Any;
|
|||||||
|
|
||||||
use crate::prelude::*;
|
use crate::prelude::*;
|
||||||
use dioxus_core::VProps;
|
use dioxus_core::VProps;
|
||||||
use dioxus_core::{prelude::*, AnyProps};
|
use dioxus_core::{ AnyProps};
|
||||||
|
|
||||||
/// A builder for a fullstack app.
|
/// A builder for a fullstack app.
|
||||||
pub struct LaunchBuilder {
|
pub struct LaunchBuilder {
|
||||||
cross_platform_config: fn() -> Element,
|
cross_platform_config: fn() -> Element,
|
||||||
#[cfg(feature = "fullstack")]
|
#[cfg(feature = "fullstack")]
|
||||||
contexts: Vec<Box<dyn Fn() -> Box<dyn Any> + Send>>,
|
contexts: Vec<Box<dyn Fn() -> Box<dyn Any> + Send + Sync>>,
|
||||||
#[cfg(not(feature = "fullstack"))]
|
#[cfg(not(feature = "fullstack"))]
|
||||||
contexts: Vec<Box<dyn Fn() -> Box<dyn Any>>>,
|
contexts: Vec<Box<dyn Fn() -> Box<dyn Any>>>,
|
||||||
platform_config: Option<current_platform::Config>,
|
platform_config: Option<current_platform::Config>,
|
||||||
@@ -29,7 +29,7 @@ impl LaunchBuilder {
|
|||||||
|
|
||||||
#[cfg(feature = "fullstack")]
|
#[cfg(feature = "fullstack")]
|
||||||
/// Inject state into the root component's context that is created on the thread that the app is launched on.
|
/// Inject state into the root component's context that is created on the thread that the app is launched on.
|
||||||
pub fn context_provider(mut self, state: impl Fn() -> Box<dyn Any> + Send + 'static) -> Self {
|
pub fn context_provider(mut self, state: impl Fn() -> Box<dyn Any> + Send + Sync + 'static) -> Self {
|
||||||
self.contexts
|
self.contexts
|
||||||
.push(Box::new(state) as Box<dyn Fn() -> Box<dyn Any> + Send>);
|
.push(Box::new(state) as Box<dyn Fn() -> Box<dyn Any> + Send>);
|
||||||
self
|
self
|
||||||
@@ -45,7 +45,7 @@ impl LaunchBuilder {
|
|||||||
|
|
||||||
#[cfg(feature = "fullstack")]
|
#[cfg(feature = "fullstack")]
|
||||||
/// Inject state into the root component's context.
|
/// Inject state into the root component's context.
|
||||||
pub fn context(mut self, state: impl Any + Clone + Send + 'static) -> Self {
|
pub fn context(mut self, state: impl Any + Clone + Send + Sync + 'static) -> Self {
|
||||||
self.contexts
|
self.contexts
|
||||||
.push(Box::new(move || Box::new(state.clone())));
|
.push(Box::new(move || Box::new(state.clone())));
|
||||||
self
|
self
|
||||||
@@ -116,11 +116,11 @@ mod current_platform {
|
|||||||
#[cfg(all(feature = "web", not(any(feature = "desktop", feature = "fullstack"))))]
|
#[cfg(all(feature = "web", not(any(feature = "desktop", feature = "fullstack"))))]
|
||||||
pub use dioxus_web::launch::*;
|
pub use dioxus_web::launch::*;
|
||||||
#[cfg(not(any(feature = "desktop", feature = "web", feature = "fullstack")))]
|
#[cfg(not(any(feature = "desktop", feature = "web", feature = "fullstack")))]
|
||||||
type Config = ();
|
pub type Config = ();
|
||||||
#[cfg(not(any(feature = "desktop", feature = "web", feature = "fullstack")))]
|
#[cfg(not(any(feature = "desktop", feature = "web", feature = "fullstack")))]
|
||||||
pub fn launch(
|
pub fn launch(
|
||||||
root: fn() -> Element,
|
root: fn() -> dioxus_core::Element,
|
||||||
contexts: Vec<Box<dyn CloneAny + Send + Sync>>,
|
contexts: Vec<Box<dyn Fn() -> Box<dyn std::any::Any> + Send + Sync>>,
|
||||||
platform_config: Config,
|
platform_config: Config,
|
||||||
) {
|
) {
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in new issue
Block a user