scanapi / scanapi/community-dashboard
[UX/UI Request]: Dynamically Render Sidebar Filters Based on the Active Tab
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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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