From ca327c03119cd548dfabaec832dcb1387c39aa58 Mon Sep 17 00:00:00 2001 From: Ashish Kolhe <35160958+oasisk@users.noreply.github.com> Date: Fri, 3 Oct 2025 21:28:35 +0530 Subject: [PATCH] fix: menu item and home view changes (#8725) ### **PR Type** Enhancement ___ ### **Description** - Refine menu link hover/active behavior - Add Streams header icon - Redesign charts layout with CSS grid - Improve tiles responsiveness and spacing ___ ### Diagram Walkthrough ```mermaid flowchart LR Menu["MenuLink.vue styles"] -- "remove scale, add border" --> HoverActive["Stable hover/active states"] HomeHeader["HomeView Streams header"] -- "add icon" --> Accessibility["Improved visual affordance"] Layout["HomeView charts layout"] -- "CSS grid + wrappers" --> Responsive["Responsive, consistent tiles/charts"] ```

File Walkthrough

Relevant files
Enhancement
MenuLink.vue
Stabilize menu item hover/active states                                   

web/src/components/MenuLink.vue
  • Add transparent border to .q-item
  • Remove scale transforms on hover/active
  • Keep GPU-friendly translateZ(0)
  • Tweak hover background and icon/label colors
+5/-2     
HomeView.vue
Responsive charts grid and Streams icon addition                 

web/src/views/HomeView.vue
  • Add Streams header icon using outlinedWindow
  • Replace flex-based charts area with CSS grid
  • Introduce .functions-dashboards-column and .tile-wrapper
  • Normalize tile sizing, spacing, and hover shadow
+71/-15 
___ --- web/src/components/MenuLink.vue | 7 ++- web/src/views/HomeView.vue | 86 +++++++++++++++++++++++++++------ 2 files changed, 76 insertions(+), 17 deletions(-) diff --git a/web/src/components/MenuLink.vue b/web/src/components/MenuLink.vue index cb6ca79130..f77df47fc8 100644 --- a/web/src/components/MenuLink.vue +++ b/web/src/components/MenuLink.vue @@ -170,6 +170,9 @@ export default defineComponent({ margin: 0px; border-radius: 6px; + /* Always have a border to prevent layout shift when active */ + border: 1px solid transparent; + /* Minimal height to prevent scrollbar */ min-height: 24px; @@ -188,7 +191,7 @@ export default defineComponent({ // Phase 2: Enhanced hover state &:hover:not(.q-router-link--active) { - transform: scale(1.02) translateZ(0); + transform: translateZ(0); background-color: rgba(30, 41, 59, 0.6); .q-icon { @@ -202,7 +205,7 @@ export default defineComponent({ // Phase 2 & 3: Enhanced active state with modern UX &.q-router-link--active { - transform: scale(1.05) translateZ(0) !important; + transform: translateZ(0) !important; // Rich, vibrant multi-layer gradient background background: linear-gradient(135deg, rgba(168, 85, 247, 0.4) 0%, rgba(236, 72, 153, 0.35) 100%), diff --git a/web/src/views/HomeView.vue b/web/src/views/HomeView.vue index 4ddfc49364..34fd2c252c 100644 --- a/web/src/views/HomeView.vue +++ b/web/src/views/HomeView.vue @@ -27,7 +27,12 @@ along with this program. If not, see . aria-label="Streams overview section" >
-
Streams
+
+ +
Streams
+
@@ -198,11 +203,11 @@ along with this program. If not, see .
-
+
-
+
-
+
.
-
+
.
-
. />
-
.column > .row.justify-between { + flex-wrap: nowrap; + } +} + .first-chart-container { border-left: 3px solid var(--accent-orange); animation-delay: 350ms; @@ -1264,8 +1321,7 @@ export default defineComponent({ .chart-container, .streams-container { &:hover { - box-shadow: 0 8px 25px var(--hover-shadow); - transform: translateY(-2px); + box-shadow: 0 4px 12px var(--hover-shadow); } }