Files
QuantEngineByItz/src/dotnet/QuantEngine.Web/Client/Layout/MainLayout.razor.css
T
kjh2064 736addef70
WBS-9.3 - NULL Policy CI Gate / NULL Policy Validation (push) Failing after 4s
Phase 1.1-1.2: Enhance MainLayout & AuthLayout with MudBlazor
Phase 1.1: MainLayout Improvements
 Responsive sidebar with mobile toggle (MudDrawer)
 Enhanced top navigation (AppBar with icons)
 Dark mode toggle with persistence
 User profile menu (MudMenu with logout)
 Improved theme switching

Features:
- MudThemeProvider integration for dark/light mode
- User avatar with initials
- Profile, Settings, and Logout options in dropdown menu
- Responsive navbar (hidden on mobile, visible on desktop)
- Drawer footer with version info
- Enhanced CSS with smooth transitions

Phase 1.2: AuthLayout Complete Redesign
 Two-panel layout (branding + auth content)
 Left panel with QuantEngine branding and features
 Right panel for login/register/password recovery
 Mobile responsive design
 Dark mode support with smooth transitions

Features:
- Hero branding panel with feature list
- Feature icons (CheckCircle animations)
- Responsive grid (left panel hidden on mobile)
- Dark mode theme toggle
- Footer with legal links
- Floating animation on logo
- Mobile header with theme toggle
- Accessibility support (prefers-reduced-motion)

Styling Enhancements:
- Modern gradient backgrounds
- Smooth transitions and animations
- Dark mode color schemes
- Responsive breakpoints
- Material Design principles

Files Modified:
- src/dotnet/QuantEngine.Web/Client/Layout/MainLayout.razor
- src/dotnet/QuantEngine.Web/Client/Layout/MainLayout.razor.css
- src/dotnet/QuantEngine.Web/Client/Layout/AuthLayout.razor
- src/dotnet/QuantEngine.Web/Client/Layout/AuthLayout.razor.css (new)

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-05 16:13:22 +09:00

106 lines
2.0 KiB
CSS

/* QuantEngine MainLayout Styles */
/* AppBar Enhancements */
.mud-appbar-dense {
padding: 0 1rem;
}
.mud-appbar-dense ::deep .mud-appbar-section-center {
flex: 1;
}
/* Avatar Styling */
::deep .mud-avatar {
cursor: pointer;
transition: transform 0.2s ease;
}
::deep .mud-avatar:hover {
transform: scale(1.05);
}
/* Drawer Footer */
.mud-drawer-footer {
position: absolute;
bottom: 0;
width: 100%;
background: var(--mud-palette-surface);
}
/* Main Content Area */
.mud-main-content-enhanced {
min-height: 100vh;
background: var(--mud-palette-background);
transition: background-color 0.3s ease;
}
/* Navigation Menu Styles */
.mud-navmenu {
padding: 1rem 0;
}
.mud-navmenu ::deep .mud-nav-item {
padding: 0.5rem 0;
margin: 0.25rem 0;
}
.mud-navmenu ::deep .mud-nav-link {
border-radius: 0.4rem;
margin: 0 0.5rem;
transition: all 0.2s ease;
}
.mud-navmenu ::deep .mud-nav-link:hover {
background-color: var(--mud-palette-action-default-hover);
}
.mud-navmenu ::deep .mud-nav-link.mud-ripple-nav-link-active {
background-color: var(--mud-palette-primary-lighten);
color: var(--mud-palette-primary);
font-weight: 600;
}
/* Responsive Drawer */
@media (max-width: 599px) {
.mud-drawer-content {
width: 100% !important;
}
.mud-drawer-footer {
position: relative;
}
}
@media (min-width: 600px) {
.mud-drawer-footer {
position: absolute;
}
}
/* Error UI */
#blazor-error-ui {
color-scheme: light only;
background: lightyellow;
bottom: 0;
box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
box-sizing: border-box;
display: none;
left: 0;
padding: 0.6rem 1.25rem 0.7rem 1.25rem;
position: fixed;
width: 100%;
z-index: 1000;
}
#blazor-error-ui .dismiss {
cursor: pointer;
position: absolute;
right: 0.75rem;
top: 0.5rem;
}
/* Dark Mode Transitions */
* {
transition: background-color 0.3s ease, color 0.3s ease;
}