26ff8d9b4f
Set up repository with legacy .NET Framework 4.8 source (OLD/), new .NET 10 Blazor solution (NEW/), OpenSpec specifications, documentation, and project configuration.
3.6 KiB
3.6 KiB
Top Navbar Layout Design
Date: 2026-01-02 Goal: Adjust the NEW Client project UI to match the legacy app's top navbar layout instead of sidebar navigation.
Summary
Replace the current Radzen sidebar navigation with a fixed-top Bootstrap-style navbar containing horizontal navigation links. This matches the legacy JDE Scoping Tool's look and feel as documented in webui_lf.md.
Layout Structure
+------------------------------------------------------------------+
| [Navbar - Fixed Top, Dark Theme] |
| +--------------------------------------------------------------+ |
| | JDE Scoping Tool | Searches | New Search | Queue | Status | [User] [Logout] |
| +--------------------------------------------------------------+ |
+------------------------------------------------------------------+
| |
| [Main Content - Full Width Container] |
| +--------------------------------------------------------------+ |
| | | |
| | @Body | |
| | | |
| +--------------------------------------------------------------+ |
| |
| -------------------------------------------------------------- |
| [Footer: JDE Scoping Tool - Manufacturing Data Analysis] |
+------------------------------------------------------------------+
Color Scheme
| Element | Color | CSS Value |
|---|---|---|
| Navbar background | Dark gray | #222 |
| Brand text | White | #fff |
| Nav links (normal) | Light gray | #9d9d9d |
| Nav links (hover/active) | White | #fff |
| Username text | Light gray | #9d9d9d |
| Login button | Primary blue | #337ab7 |
| Logout button | Light variant | - |
| Navbar height | ~56px | - |
Content Area Changes
| Aspect | Current (Sidebar) | New (Top Nav) |
|---|---|---|
| Width | ~calc(100% - 220px) | Full width (100%) |
| Top padding | 0 | 56px (navbar height) |
| Side padding | 1rem | 15px (Bootstrap container) |
Files to Modify
1. MainLayout.razor
- Remove
RadzenSidebarandRadzenPanelMenu - Add horizontal nav links using Blazor
NavLinkcomponents - Simplify body structure (remove horizontal stack wrapping sidebar)
- Add CSS class for fixed-top navbar behavior
2. app.css
- Change header background from
#1b6ec2to#222 - Add fixed-top navbar positioning
- Add body padding-top: 56px for navbar clearance
- Add nav link styling (normal, hover, active states)
- Remove sidebar-related styles (
.rz-sidebar,.rz-panel-menu)
Navigation Links
Using Blazor's NavLink for automatic active state detection:
| Link Text | Route | Match |
|---|---|---|
| Searches | / |
NavLinkMatch.All |
| New Search | /search |
Default |
| Search Queue | /search/queue |
Default |
| Refresh Status | /refresh-status |
Default |
Components
Keep:
RadzenLayout,RadzenHeader,RadzenBody,RadzenFooter- Dialog, Notification, ContextMenu, Tooltip services
Remove:
RadzenSidebarRadzenPanelMenu,RadzenPanelMenuItem
Mobile Considerations
Keep horizontal layout for now (legacy app wasn't mobile-first). The navbar will handle basic responsive behavior through Radzen's built-in styling.