feat: move "Report Bug / Feature Request" button to header

- Relocated the "Report Bug / Feature Request" button from the bottom of the sidebar to the header, next to the AutoMaker logo for improved accessibility.
- Updated the button to be a compact icon-only version with a tooltip on hover.
- Adjusted the header layout to accommodate the new button placement.
- Removed the old button from the sidebar to streamline the interface.
This commit is contained in:
Cody Seibert
2025-12-10 23:28:29 -05:00
parent 9dc3124738
commit f2a443afad
8 changed files with 709 additions and 53 deletions

View File

@@ -742,7 +742,7 @@ export function Sidebar() {
{/* Logo */}
<div
className={cn(
"h-20 pt-8 flex items-center justify-center border-b border-sidebar-border shrink-0 titlebar-drag-region",
"h-20 pt-8 flex items-center justify-between border-b border-sidebar-border shrink-0 titlebar-drag-region",
sidebarOpen ? "px-3 lg:px-6" : "px-3"
)}
>
@@ -767,6 +767,18 @@ export function Sidebar() {
Auto<span className="text-brand-500">maker</span>
</span>
</div>
{/* Bug Report Button */}
<button
onClick={() => {
const api = getElectronAPI();
api.openExternalLink("https://github.com/AutoMaker-Org/automaker/issues");
}}
className="titlebar-no-drag p-1.5 rounded-md text-muted-foreground hover:text-foreground hover:bg-sidebar-accent/50 transition-all"
title="Report Bug / Feature Request"
data-testid="bug-report-link"
>
<Bug className="w-4 h-4" />
</button>
</div>
{/* Project Actions - Moved above project selector */}
@@ -1147,37 +1159,6 @@ export function Sidebar() {
)}
</button>
</div>
{/* Bug Report Link */}
<div className="p-2 pb-0 pt-0">
<button
onClick={() => {
const api = getElectronAPI();
api.openExternalLink("https://github.com/AutoMaker-Org/automaker/issues");
}}
className={cn(
"group flex items-center w-full px-2 lg:px-3 py-2.5 rounded-lg relative overflow-hidden transition-all titlebar-no-drag",
"text-muted-foreground hover:text-foreground hover:bg-sidebar-accent/50",
sidebarOpen ? "justify-start" : "justify-center"
)}
title={!sidebarOpen ? "Report Bug / Feature Request" : undefined}
data-testid="bug-report-link"
>
<Bug className="w-4 h-4 shrink-0 transition-colors group-hover:text-brand-400" />
<span
className={cn(
"ml-2.5 font-medium text-sm flex-1 text-left",
sidebarOpen ? "hidden lg:block" : "hidden"
)}
>
Report Bug / Feature Request
</span>
{!sidebarOpen && (
<span className="absolute left-full ml-2 px-2 py-1 bg-popover text-popover-foreground text-xs rounded opacity-0 group-hover:opacity-100 transition-opacity whitespace-nowrap z-50 border border-border">
Report Bug / Feature Request
</span>
)}
</button>
</div>
{/* Settings Link */}
<div className="p-2">
<button

View File

@@ -771,9 +771,7 @@ ${Object.entries(projectAnalysis.filesByExtension)
// Convert DetectedFeature to Feature by adding required id and status
for (const detectedFeature of detectedFeatures) {
const feature: Feature = {
id: `feature-${Date.now()}-${Math.random()
.toString(36)
.substr(2, 9)}`,
id: crypto.randomUUID(),
category: detectedFeature.category,
description: detectedFeature.description,
steps: detectedFeature.steps,

View File

@@ -314,7 +314,7 @@ export function InterviewView() {
// Create initial feature in the features folder
const initialFeature: Feature = {
id: `feature-${Date.now()}-0`,
id: crypto.randomUUID(),
category: "Core",
description: "Initial project setup",
status: "backlog" as const,