55cc3ae10d
This PR introduces a major optimization of graph dynamics, immersive reading experience, and architectural stabilization. ### 🚀 Key Improvements - **Knowledge Graph (Fix #16)**: - Implemented smooth D3.js transitions using the General Update Pattern. - Added "Neon Flash" entry animations and dynamic node dimming for better focus. - **Immersive Reader (Fix #12)**: - Standardized centered layout (`max-width: 800px`) with **Merriweather** typography. - Optimized line-height and letter-spacing for premium readability. - **Technical Code Blocks (Fix #20)**: - High-contrast dark containers for code snippets. - **JetBrains Mono** integration and neon-accented scrollbars. - **Architectural Stabilization**: - Enforced a strict **'no async void'** policy in UI services using `Func<Task>`. - Resolved WASM runtime DI errors by implementing dummy service proxies for server-side dependencies. - Replaced generic 'Not Found' message with a branded Nexus preloader. Fixes #7, Fixes #12, Fixes #16, Fixes #20. Reviewed-on: #19 Co-authored-by: Marek Jasiński <jasins.marek@gmail.com> Co-committed-by: Marek Jasiński <jasins.marek@gmail.com>
2.2 KiB
2.2 KiB
name, description
| name | description |
|---|---|
| nexus-ui-engine | Design System & Component rules for Blazor |
UI Standards
-
Atomic Design:
- Build reusable components in
NexusReader.UI.Shared/Components. Atoms: Base elements (NexusButton,NexusIcon,NexusTypography).Molecules: Small groups (AiAssistantBubble,KnowledgeCheck).Organisms: High-level sections (KnowledgeGraph,ReaderCanvas).
- Build reusable components in
-
Styling & Isolation:
- Mandatory use of scoped CSS (
.razor.css). - No global CSS except for design tokens in
app.css. - Use
::deeponly when absolutely necessary to style child components.
- Mandatory use of scoped CSS (
-
Design System (Nexus Neon):
- Color Palette:
- Primary Accent:
--nexus-neon(#00ff99) - Used for borders, highlights, and icons. - Dark Mode:
--nexus-bg(#0a0a0a),--nexus-card(#141414). - Light Mode:
--nexus-bg(#f8f9fa),--nexus-card(#ffffff).
- Primary Accent:
- Typography:
- UI Elements:
Inter(Sans-Serif) for controls, menus, and labels. - Reading Content:
Merriweather(Serif) withline-height: 1.65andletter-spacing: -0.01emfor high readability.
- UI Elements:
- Effects:
- Subtle neon glows (
box-shadow: 0 0 15px rgba(0, 255, 153, 0.3)). - Glassmorphism for overlays and modals.
- Subtle neon glows (
- Color Palette:
-
Adaptive Layouts:
- Support
.platform-mobileand.platform-desktopcontext classes. - Handle safe-area insets (
--safe-area-inset-*) for mobile devices. - Immersive Reader (Zen Mode):
- Centered content flow:
max-width: 800px,margin: 0 auto. - Paper-white background:
#F9F9F9for light mode reader canvas. - Dedicated Scrollbars: Custom styled, thin scrollbars with
--nexus-neonaccents. - Reachability: Large
padding-bottom(e.g.,15rem) to ensure comfortable reading of end-of-page content.
- Centered content flow:
- Support
-
Accessibility (A11y):
- Touch Targets: Min
44x44pxon mobile (enforced via CSS variables). - Contrast: Minimum ratio of 4.5:1.
- Semantic HTML: Use appropriate tags (
<button>,<article>,<nav>).
- Touch Targets: Min
-
Interactive Flow:
- AI Assistant interactions must be non-blocking and smoothly transition using CSS animations.
- Interactive elements must have clear
:hover,:active, and:focusstates.