scanapi / scanapi/community-dashboard

[UX/UI Request]: Dynamically Render Sidebar Filters Based on the Active Tab

Open
#13 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
4
Forks
2
PR merge metrics
No merged PRs in 30d

Description

Is your feature request related to a problem?

Yes. Currently, all sidebar filter controls (Onboarding Filters and Historical Scope) remain permanently visible regardless of which dashboard tab is active.

This creates a cluttered user experience. For example, when a user navigates to the "Marketing" or "Leaderboard" tabs, the issue-specific selectors still occupy the sidebar, which can cause confusion.

Describe the solution you'd like

We should dynamically show or hide sidebar sections based on the currently active tab.

To achieve this in Streamlit, we can capture the active tab state and wrap the sidebar components in conditional blocks.

Proposed Logic Structure

Instead of creating tabs implicitly using st.tabs(), we can track the active tab selection and render sidebar components conditionally:

# Contextual sidebar rendering layout
if active_tab == "📥 Onboarding Portal":
    st.sidebar.header("🎯 Onboarding Filters")
    # ... render onboarding dropdowns ...

elif active_tab == "📈 Trends":
    st.sidebar.header("📈 Historical Scope")
    # ... render time-series filters ...
Advantages of this approach
  • Clean User Experience: Users only see controls that directly impact the graphs and data tables on their current screen.
  • Reduces Cognitive Load: Eliminates irrelevant input fields when browsing non-filterable tabs like Marketing assets.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Locate the Streamlit dashboard entry point and inspect how tabs and sidebar controls are currently rendered. Use the proposed active-tab logic as the implementation target, then verify that each tab shows only its relevant sidebar sections and that unrelated controls are hidden.

Written by the indexing model from the issue text.

Assessment

Tech stack
python, streamlit
Domain
frontend
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.