switch to a Document trait and introduce Script/Head/Style/Meta components (#2635)
* switch to a Document trait and introduce Script/Head/Style/Meta components * Fix desktop title * Insert special elements into the head during the inital SSR render * Make all head component attributes optional * hydrate head elements * improve the server streaming head warning * Document fullstack head hydration approach * deduplicate head elements by href * move Link into head::Link * document head components * add meta and title examples * Fix a few doc examples * fix formatting * Add title to playwright tests * serde is optional on web, but it is enabled by hydrate * remove leftover console log
This commit is contained in:
1 parent
a490a94ae5
commit
176e67e5b7
65 files changed
+1703
-495
No files matched your search
@@ -198,6 +198,7 @@ impl Debug for LinkProps {
|
||||
/// # r#"<a href="/" dioxus-prevent-default="" class="link_class active" rel="link_rel" target="_blank" aria-current="page" id="link_id">A fully configured link</a>"#
|
||||
/// # );
|
||||
/// ```
|
||||
#[doc(alias = "<a>")]
|
||||
#[allow(non_snake_case)]
|
||||
pub fn Link(props: LinkProps) -> Element {
|
||||
let LinkProps {
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
use super::HistoryProvider;
|
||||
use crate::routable::Routable;
|
||||
use dioxus_lib::prelude::*;
|
||||
use document::UseEval;
|
||||
use serde::{Deserialize, Serialize};
|
||||
use std::sync::{Mutex, RwLock};
|
||||
use std::{collections::BTreeMap, rc::Rc, str::FromStr, sync::Arc};
|
||||
@@ -38,11 +39,6 @@ where
|
||||
last_visited: usize,
|
||||
}
|
||||
|
||||
#[derive(Serialize, Deserialize)]
|
||||
struct SessionStorage {
|
||||
liveview: Option<String>,
|
||||
}
|
||||
|
||||
enum Action<R: Routable> {
|
||||
GoBack,
|
||||
GoForward,
|
||||
@@ -172,7 +168,7 @@ where
|
||||
let updater_callback: Arc<RwLock<Arc<dyn Fn() + Send + Sync>>> =
|
||||
Arc::new(RwLock::new(Arc::new(|| {})));
|
||||
|
||||
let eval_provider = consume_context::<Rc<dyn EvalProvider>>();
|
||||
let eval_provider = document();
|
||||
|
||||
let create_eval = Rc::new(move |script: &str| {
|
||||
UseEval::new(eval_provider.new_evaluator(script.to_string()))
|
||||
|
||||
Reference in new issue
Block a user