@@ -82,7 +82,10 @@ import { themeOptions } from "@/config/theme-options";
8282import type { SpecRegenerationEvent } from "@/types/electron" ;
8383import { DeleteProjectDialog } from "@/components/views/settings-view/components/delete-project-dialog" ;
8484import { NewProjectModal } from "@/components/new-project-modal" ;
85- import { ProjectSetupDialog } from "@/components/layout/project-setup-dialog" ;
85+ import {
86+ ProjectSetupDialog ,
87+ type FeatureCount ,
88+ } from "@/components/layout/project-setup-dialog" ;
8689import {
8790 DndContext ,
8891 DragEndEvent ,
@@ -261,6 +264,7 @@ export function Sidebar() {
261264 const [ setupProjectPath , setSetupProjectPath ] = useState ( "" ) ;
262265 const [ projectOverview , setProjectOverview ] = useState ( "" ) ;
263266 const [ generateFeatures , setGenerateFeatures ] = useState ( true ) ;
267+ const [ featureCount , setFeatureCount ] = useState < FeatureCount > ( 50 ) ;
264268 const [ showSpecIndicator , setShowSpecIndicator ] = useState ( true ) ;
265269
266270 // Derive isCreatingSpec from store state
@@ -466,7 +470,9 @@ export function Sidebar() {
466470 const result = await api . specRegeneration . create (
467471 setupProjectPath ,
468472 projectOverview . trim ( ) ,
469- generateFeatures
473+ generateFeatures ,
474+ undefined , // analyzeProject - use default
475+ generateFeatures ? featureCount : undefined // only pass maxFeatures if generating features
470476 ) ;
471477
472478 if ( ! result . success ) {
@@ -490,7 +496,13 @@ export function Sidebar() {
490496 description : error instanceof Error ? error . message : "Unknown error" ,
491497 } ) ;
492498 }
493- } , [ setupProjectPath , projectOverview , setSpecCreatingForProject ] ) ;
499+ } , [
500+ setupProjectPath ,
501+ projectOverview ,
502+ generateFeatures ,
503+ featureCount ,
504+ setSpecCreatingForProject ,
505+ ] ) ;
494506
495507 // Handle skipping setup
496508 const handleSkipSetup = useCallback ( ( ) => {
@@ -1453,7 +1465,7 @@ export function Sidebar() {
14531465 onClick = { ( ) => setShowTrashDialog ( true ) }
14541466 className = { cn (
14551467 "group flex items-center justify-center px-3 h-[42px] rounded-xl" ,
1456- "relative overflow-hidden " ,
1468+ "relative" ,
14571469 "text-muted-foreground hover:text-destructive" ,
14581470 // Subtle background that turns red on hover
14591471 "bg-accent/20 hover:bg-destructive/15" ,
@@ -1467,7 +1479,7 @@ export function Sidebar() {
14671479 >
14681480 < Recycle className = "size-4 shrink-0 transition-transform duration-200 group-hover:rotate-12" />
14691481 { trashedProjects . length > 0 && (
1470- < span className = "absolute -top-1.5 -right-1.5 flex items-center justify-center min-w-4 h-4 px-1 text-[9px] font-bold rounded-full bg-destructive text-destructive-foreground shadow-sm " >
1482+ < span className = "absolute -top-1.5 -right-1.5 z-10 flex items-center justify-center min-w-4 h-4 px-1 text-[9px] font-bold rounded-full bg-red-500 text-white shadow-md ring-1 ring-red-600/50 " >
14711483 { trashedProjects . length > 9 ? "9+" : trashedProjects . length }
14721484 </ span >
14731485 ) }
@@ -2248,6 +2260,8 @@ export function Sidebar() {
22482260 onProjectOverviewChange = { setProjectOverview }
22492261 generateFeatures = { generateFeatures }
22502262 onGenerateFeaturesChange = { setGenerateFeatures }
2263+ featureCount = { featureCount }
2264+ onFeatureCountChange = { setFeatureCount }
22512265 onCreateSpec = { handleCreateInitialSpec }
22522266 onSkip = { handleSkipSetup }
22532267 isCreatingSpec = { isCreatingSpec }
0 commit comments