SPA: 404 page renders without navbar/layout #58

Closed
opened 2026-04-01 20:15:53 +00:00 by mik-tf · 1 comment
Member

Bug

The NotFound catch-all route in the SPA router is defined outside all layout wrappers. When a user hits an invalid URL, they see a blank white page with just a centered 404 message — no navbar, no footer, no way to navigate back except the "Go Home" button.

Expected

404 page should render inside MainLayout so the navbar and footer are visible, consistent with all other pages.

Root cause

In projectmycelium_marketplace_frontend/src/router.rs, the NotFound route is placed after all #[end_layout] directives, so it has no layout wrapper.

Fix

Move the NotFound route inside the MainLayout block.

Found by

Layer 5b content regression tests (mycelium_code/home#57) and Hero Browser MCP visual audit.

## Bug The `NotFound` catch-all route in the SPA router is defined outside all layout wrappers. When a user hits an invalid URL, they see a blank white page with just a centered 404 message — no navbar, no footer, no way to navigate back except the "Go Home" button. ## Expected 404 page should render inside `MainLayout` so the navbar and footer are visible, consistent with all other pages. ## Root cause In `projectmycelium_marketplace_frontend/src/router.rs`, the `NotFound` route is placed after all `#[end_layout]` directives, so it has no layout wrapper. ## Fix Move the `NotFound` route inside the `MainLayout` block. ## Found by Layer 5b content regression tests (https://forge.ourworld.tf/mycelium_code/home/issues/57) and Hero Browser MCP visual audit.
Author
Member

Fixed in projectmycelium_marketplace_frontend commit 16e9149.

Moved NotFound catch-all route inside #[layout(MainLayout)] block so the navbar and footer render on 404 pages.

Verified: cargo check passes.

Fixed in projectmycelium_marketplace_frontend commit 16e9149. Moved `NotFound` catch-all route inside `#[layout(MainLayout)]` block so the navbar and footer render on 404 pages. Verified: `cargo check` passes.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
coopcloud_code/home#58
No description provided.