Gates keep the question nav
Test / test (push) Successful in 24s

The qualifies and requires_chain gates replaced the whole page,
footer nav included - a visitor hitting one had only the wordmark as
a way out.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Bendik Aagaard Lynghaug
2026-08-25 17:05:09 +02:00
co-authored by Claude Fable 5
parent b875045bbc
commit 30c2b6bea9
+4 -1
View File
@@ -200,6 +200,7 @@ fn QuestionView(
site: SiteConfig, site: SiteConfig,
) -> impl IntoView { ) -> impl IntoView {
let question_id = question.id.clone(); let question_id = question.id.clone();
let has_chain = parent_hash.is_some();
// The provenance counterpart to the qualifies gate below: a // The provenance counterpart to the qualifies gate below: a
// requires_chain page whose visitor holds no verifiable lineage to // requires_chain page whose visitor holds no verifiable lineage to
@@ -226,6 +227,8 @@ fn QuestionView(
</a> </a>
</section> </section>
</div> </div>
// A gate is never a dead end: the same nav as every page.
<QuestionNav current_id=question_id has_chain=has_chain/>
} }
.into_any(); .into_any();
} }
@@ -261,6 +264,7 @@ fn QuestionView(
}} }}
</section> </section>
</div> </div>
<QuestionNav current_id=question_id has_chain=has_chain/>
} }
.into_any(); .into_any();
} }
@@ -270,7 +274,6 @@ fn QuestionView(
// on pages where some alternative actually declares a deck. // on pages where some alternative actually declares a deck.
let needs_swiper = question.alternatives.iter().any(|a| a.images.len() > 1); let needs_swiper = question.alternatives.iter().any(|a| a.images.len() > 1);
let has_chain = parent_hash.is_some();
view! { view! {
{needs_swiper.then(|| view! { <leptos_meta::Script src="/swiper-element-bundle.min.js"/> })} {needs_swiper.then(|| view! { <leptos_meta::Script src="/swiper-element-bundle.min.js"/> })}