Skip to content

fix: improve dashboard UI (View as row, icon, chat markdown) - #120

Merged
venkateshsakamuri-lab merged 4 commits into
mainfrom
cursor/dashboard-ui-improvements-d873
Sep 23, 2026
Merged

venkateshsakamuri-lab merged 4 commits into
mainfrom
cursor/dashboard-ui-improvements-d873

Conversation

@venkateshsakamuri-lab

@venkateshsakamuri-lab venkateshsakamuri-lab commented Sep 23, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Three UI polish fixes for dashboard surfaces based on product feedback, plus follow-up fixes for agent reply brevity, View as relocation, and connection control consolidation.

Fix 1: Eliminate wasted View as row space → Relocated to sidebar

Before: The ProfileSwitch ("View as") component occupied an entire row across the top of every page, creating unnecessary vertical padding even when empty for non-admin users.

After: ProfileSwitch is now permanently located in the left sidebar, above the Connections section. This removes the distracting top-row control from all pages and groups admin controls together logically.

Fix 2: Dashboard icon — monochrome outline instead of purple filled square

Before: The dashboard workspace logo button used a purple filled square background with a white chart icon.

After: Monochrome outline style matching the design system — a simple LineChart icon in dark gray that subtly darkens on hover.

Dashboard workspace with monochrome icon

Fix 3: Agent chat markdown rendering with brevity rules

Before: Agent replies were plain text blobs without formatting, difficult to scan quickly. The agent itself was verbose, restating the user's request and adding filler phrases.

After: Agent bubbles now render markdown (bullets, code blocks, headers, links) via ReactMarkdown with remark-gfm. Additionally, the backend agent prompts now include explicit brevity rules:

  • Lead with what changed, no filler or restating the request
  • Keep replies to 1-3 short lines, use bullets when listing multiple items
  • Skip phrases like "I've created...", "Here's what I did...", "As requested..."
  • Only write more than 3 lines for errors, limitations, or breaking changes

Fix 4: Consolidate connection controls into single dropdown

Before: The sidebar had two separate connection-related controls stacked:

  • Connection dropdown (to switch between connections)
  • Separate "Connections" button (to open management modal)

After: Merged into a single control — the connection dropdown now includes a "Manage connections..." action at the bottom for admins. This streamlines the sidebar and reduces visual clutter.

Streamlined sidebar with consolidated connection control

Connection dropdown with Manage connections action

Technical Changes

Frontend

  • src/pages/Home.jsx — Removed ProfileSwitch entirely (relocated to sidebar)
  • src/components/layout/AppSidebar.jsx:
    • Added ProfileSwitch above connection switcher in bottom section
    • Removed separate Connections button
    • Added "Manage connections..." action inside connection dropdown
  • src/components/layout/AppSidebar.module.css — Added .dropdownDivider and .dropdownManage styles
  • src/components/layout/ProfileSwitch.jsx — Added collapsed prop support and sidebar-compatible styling
  • src/components/layout/ProfileSwitch.module.css — Added sidebar variant styles
  • src/components/sections/DashboardWorkspace.jsx — Changed icon from purple filled square to monochrome outline; added ReactMarkdown rendering for agent bubbles
  • src/components/sections/DashboardWorkspace.module.css — Removed .logoMark, added .logoIcon and .agentMarkdown styles

Backend

  • backend/src/main/java/com/dbaagent/service/DashboardAgentService.java — Added explicit brevity style rules to both buildChatTask() and buildTask() (step 7 dashboard-note) prompts

Testing

  • Frontend lint: ✅ Passes (pre-existing warnings only)
  • Manual UI verification:
    • ✅ View as control now in sidebar above Connections
    • ✅ Connection dropdown includes "Manage connections..." action
    • ✅ No separate Connections button in sidebar
    • ✅ Collapsed sidebar behavior preserved

To show artifacts inline, enable in settings.

Open in Web Open in Cursor 

cursoragent and others added 4 commits September 23, 2026 13:16
Address three dashboard UI issues from product feedback:

1. Hide View as row in immersive mode (DashboardWorkspace)
   - ProfileSwitch is now hidden when immersive mode is active
   - Reclaims vertical space in the dashboard editor
   - File: src/pages/Home.jsx

2. Change dashboard icon to monochrome outline style
   - Removed purple filled square background (#534AB7)
   - Now uses simple grey LineChart icon that matches app iconography
   - Files: src/components/sections/DashboardWorkspace.jsx,
            src/components/sections/DashboardWorkspace.module.css

3. Add markdown rendering to dashboard chat bubbles
   - Agent responses now render with ReactMarkdown + remark-gfm
   - Added CSS styles for bullets, code blocks, headers, links
   - Makes agent replies more scannable with proper structure
   - Files: src/components/sections/DashboardWorkspace.jsx,
            src/components/sections/DashboardWorkspace.module.css

Co-authored-by: Venkat SF <venkatesh.sakamuri@stayflexi.com>
Update DashboardAgentService.java with explicit instructions for concise replies:

1. buildChatTask() - Chat-only replies (greetings, questions):
   - Added: lead with the answer, no filler phrases

2. buildTask() dashboard-note instructions - Build completion notes:
   - Keep to 1-3 short lines
   - Use markdown bullets when listing multiple items
   - Lead with what changed, skip filler phrases
   - Only allow longer replies for errors or limitations
   - Skip phrases like 'I've created...', 'As requested...'
   - Never open with 'Done' or 'Great'

The frontend ReactMarkdown rendering (previous commit) now has
properly-structured content to display.

Co-authored-by: Venkat SF <venkatesh.sakamuri@stayflexi.com>
Move ProfileSwitch from the top header (Home.jsx) to the left sidebar
(AppSidebar.jsx) where it lives permanently above the Connections
section. This addresses product feedback that the top-row View as
control was distracting across all pages.

Changes:
- Remove ProfileSwitch from Home.jsx entirely
- Add ProfileSwitch to AppSidebar.jsx bottom section
- Update ProfileSwitch.jsx with sidebar-compatible styling (collapsed prop)
- Add comprehensive sidebar CSS variants to ProfileSwitch.module.css

The View as dropdown now appears for admins in the sidebar, integrated
with the connection switcher and user profile area.

Co-authored-by: Venkat SF <venkatesh.sakamuri@stayflexi.com>
Merge the connection dropdown and the separate Connections button into
a single unified control. The connection dropdown now includes a
'Manage connections...' action at the bottom (for users with
MANAGE_CONNECTIONS permission), eliminating the redundant separate
button that cluttered the sidebar.

Changes:
- Move 'Manage connections...' action inside the connection dropdown
- Remove separate Connections button from sidebar bottom section
- Add dropdownDivider and dropdownManage CSS styles
- Allow dropdown to open even with no connections (for admins to add)

Sidebar bottom now has: View as → Connection dropdown → User profile
(instead of: View as → Connection dropdown → Connections button → User)

Co-authored-by: Venkat SF <venkatesh.sakamuri@stayflexi.com>
@venkateshsakamuri-lab
venkateshsakamuri-lab marked this pull request as ready for review September 23, 2026 17:17
@venkateshsakamuri-lab
venkateshsakamuri-lab requested a review from a team as a code owner September 23, 2026 17:17
@venkateshsakamuri-lab
venkateshsakamuri-lab merged commit b4a6165 into main Sep 23, 2026
9 checks passed
@venkateshsakamuri-lab
venkateshsakamuri-lab deleted the cursor/dashboard-ui-improvements-d873 branch September 23, 2026 17:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants