diff --git a/Cargo.lock b/Cargo.lock index 5a34f9c..0b0eed4 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2948,7 +2948,7 @@ dependencies = [ [[package]] name = "portal" -version = "0.3.30" +version = "0.3.31" dependencies = [ "anyhow", "arc-swap", diff --git a/src/app.rs b/src/app.rs index a7f247c..efdb7c6 100644 --- a/src/app.rs +++ b/src/app.rs @@ -1,5 +1,5 @@ use leptos::prelude::*; -use leptos_meta::{provide_meta_context, HashedStylesheet, Html, MetaTags, Stylesheet, Title}; +use leptos_meta::{provide_meta_context, HashedStylesheet, Html, Link, MetaTags, Stylesheet, Title}; use leptos_router::{ components::{Route, Router, Routes}, hooks::{use_location, use_navigate, use_query_map}, @@ -89,10 +89,19 @@ pub fn App() -> impl IntoView { .and_then(|s| s.stylesheet) .map(|p| format!("/site/{p}")) }); + // A content-shipped favicon overrides the built-in one; injected + // into the head after the static defaults, so it wins. + let favicon = Memo::new(move |_| { + site.get() + .and_then(|r| r.ok()) + .and_then(|s| s.favicon) + .map(|p| format!("/site/{p}")) + }); view! {
{move || custom_css.get().map(|href| view! {