-
Notifications
You must be signed in to change notification settings - Fork 127
Description
Is your feature request related to a problem?
- Yes, it is related to a problem
Describe the feature you'd like
🌟 Feature Description
I would like to add a "Analyze New Repo" (or "New Analysis") button to the application's sidebar menu.
Currently, the application flow starts at the LandingPage (at /), where users input a repository URL. However, once the analysis is complete and the user navigates to the Dashboard, there is no UI element to return to the LandingPage to analyze a different repository.
🔍 Problem Statement
When a user opens the website (e.g., localhost:5173), they land on the analysis input page. After successfully fetching data, the user is redirected to the /dashboard.
At this point, the Sidebar displays navigation options like Dashboard, Bot Integration, and Contributors, but it lacks an option to start over.
Users are currently "locked" into the current repository's view unless they manually modify the browser URL or refresh the application to return to the root (/) path.
🎯 Expected Outcome
- Sidebar Update: A new navigation item labeled "Analyze New Repo" (or similar) should appear in the
Sidebarcomponent. - Navigation: Clicking this button should redirect the user back to the root route (
/), which renders theLandingPage. - State Management: The app should handle the transition cleanly, allowing the user to input a new URL and overwrite the existing
repoData.
📷 Screenshots and Design Ideas
Current Sidebar (Missing Option to go back to Landing Page to analyze a repo)
Proposed Solution
We can add a new item to the navItems array in Sidebar.tsx. I suggest using a "Plus" or "Search" icon from the existing lucide-react library.
Mockup of the code change:
// In src/components/layout/Sidebar.tsx
const navItems = [
// New Item Added Here
{ icon: <Search size={20} />, label: 'Analyze New Repo', path: '/' },
// Existing Items
{ icon: <LayoutDashboard size={20} />, label: 'Dashboard', path: '/dashboard' },
{ icon: <Bot size={20} />, label: 'Bot Integration', path: '/integration' },
// ... others
];📋 Additional Context
Component to Modify
- File:
src/components/layout/Sidebar.tsx
Route Handling
- The
/route is already protected and renders<LandingPage />insideProtectedLayout. - No routing changes are needed in
App.tsx.
State Handling
- We must ensure that navigating back to
/does not crash the app ifrepoDatais already present. - The current
LandingPagelogic appears designed to handle new inputs regardless of previous state, but this should be verified during implementation.
Record
- I agree to follow this project's Code of Conduct
- I want to work on implementing this feature