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.vueStabilize 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.vueResponsive 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"
>
-
+
-
+
-
.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);
}
}