Initial commit: JDE Scoping Tool migration project
Set up repository with legacy .NET Framework 4.8 source (OLD/), new .NET 10 Blazor solution (NEW/), OpenSpec specifications, documentation, and project configuration.
This commit is contained in:
@@ -0,0 +1,107 @@
|
||||
# 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 `RadzenSidebar` and `RadzenPanelMenu`
|
||||
- Add horizontal nav links using Blazor `NavLink` components
|
||||
- Simplify body structure (remove horizontal stack wrapping sidebar)
|
||||
- Add CSS class for fixed-top navbar behavior
|
||||
|
||||
### 2. `app.css`
|
||||
- Change header background from `#1b6ec2` to `#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:**
|
||||
- `RadzenSidebar`
|
||||
- `RadzenPanelMenu`, `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.
|
||||
Reference in New Issue
Block a user