AOSSIE-Org / AOSSIE-Org/Devr.AI

FEATURE REQUEST: Add an Analyze Repo menu to Sidebar for easier navigation

Open
#209 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
102
Forks
137
PR merge metrics
No merged PRs in 30d

Description

### Is your feature request related to a problem?

- [x] 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
1. **Sidebar Update:** A new navigation item labeled **"Analyze New Repo"** (or similar) should appear in the `Sidebar` component.
2. **Navigation:** Clicking this button should redirect the user back to the root route (`/`), which renders the `LandingPage`.
3. **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)

Image

### 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:**
```tsx
// In src/components/layout/Sidebar.tsx

const navItems = [
// New Item Added Here
{ icon: , label: 'Analyze New Repo', path: '/' },

// Existing Items
{ icon: , label: 'Dashboard', path: '/dashboard' },
{ icon: , 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 `` inside `ProtectedLayout`.
- **No routing changes are needed** in `App.tsx`.

### State Handling
- We must ensure that navigating back to `/` **does not crash the app** if `repoData` is already present.
- The current `LandingPage` logic **appears** designed to handle new inputs regardless of previous state, but this should be **verified during implementation**.

### Record

- [x] I agree to follow this project's Code of Conduct
- [x] I want to work on implementing this feature

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.