resolving gemini errors and removing dupe code

This commit is contained in:
trueheads
2025-12-16 01:09:22 -06:00
parent ff4887773e
commit 9eb9c070cd
5 changed files with 85 additions and 104 deletions

3
.gitignore vendored
View File

@@ -15,4 +15,5 @@ dist/
/.automaker/* /.automaker/*
/.automaker/ /.automaker/
/logs /logs
.claude/settings.local.json

View File

@@ -33,6 +33,7 @@ import {
ThinkingLevelSelector, ThinkingLevelSelector,
ProfileQuickSelect, ProfileQuickSelect,
TestingTabContent, TestingTabContent,
PrioritySelector,
} from "../shared"; } from "../shared";
interface AddFeatureDialogProps { interface AddFeatureDialogProps {
@@ -243,53 +244,13 @@ export function AddFeatureDialog({
</div> </div>
{/* Priority Selector */} {/* Priority Selector */}
<div className="space-y-2"> <PrioritySelector
<Label>Priority</Label> selectedPriority={newFeature.priority}
<div className="flex gap-2"> onPrioritySelect={(priority) =>
<button setNewFeature({ ...newFeature, priority })
type="button" }
onClick={() => testIdPrefix="priority"
setNewFeature({ ...newFeature, priority: 1 }) />
}
className={`flex-1 px-3 py-2 rounded-md text-sm font-medium transition-colors ${
newFeature.priority === 1
? "bg-red-500/20 text-red-500 border-2 border-red-500/50"
: "bg-muted/50 text-muted-foreground border border-border hover:bg-muted"
}`}
data-testid="priority-high-button"
>
High
</button>
<button
type="button"
onClick={() =>
setNewFeature({ ...newFeature, priority: 2 })
}
className={`flex-1 px-3 py-2 rounded-md text-sm font-medium transition-colors ${
newFeature.priority === 2
? "bg-yellow-500/20 text-yellow-500 border-2 border-yellow-500/50"
: "bg-muted/50 text-muted-foreground border border-border hover:bg-muted"
}`}
data-testid="priority-medium-button"
>
Medium
</button>
<button
type="button"
onClick={() =>
setNewFeature({ ...newFeature, priority: 3 })
}
className={`flex-1 px-3 py-2 rounded-md text-sm font-medium transition-colors ${
newFeature.priority === 3
? "bg-blue-500/20 text-blue-500 border-2 border-blue-500/50"
: "bg-muted/50 text-muted-foreground border border-border hover:bg-muted"
}`}
data-testid="priority-low-button"
>
Low
</button>
</div>
</div>
</TabsContent> </TabsContent>
{/* Model Tab */} {/* Model Tab */}

View File

@@ -32,6 +32,7 @@ import {
ThinkingLevelSelector, ThinkingLevelSelector,
ProfileQuickSelect, ProfileQuickSelect,
TestingTabContent, TestingTabContent,
PrioritySelector,
} from "../shared"; } from "../shared";
import { DependencyTreeDialog } from "./dependency-tree-dialog"; import { DependencyTreeDialog } from "./dependency-tree-dialog";
@@ -222,62 +223,16 @@ export function EditFeatureDialog({
</div> </div>
{/* Priority Selector */} {/* Priority Selector */}
<div className="space-y-2"> <PrioritySelector
<Label>Priority</Label> selectedPriority={editingFeature.priority ?? 2}
<div className="flex gap-2"> onPrioritySelect={(priority) =>
<button setEditingFeature({
type="button" ...editingFeature,
onClick={() => priority,
setEditingFeature({ })
...editingFeature, }
priority: 1, testIdPrefix="edit-priority"
}) />
}
className={`flex-1 px-3 py-2 rounded-md text-sm font-medium transition-colors ${
(editingFeature.priority ?? 2) === 1
? "bg-red-500/20 text-red-500 border-2 border-red-500/50"
: "bg-muted/50 text-muted-foreground border border-border hover:bg-muted"
}`}
data-testid="edit-priority-high-button"
>
High
</button>
<button
type="button"
onClick={() =>
setEditingFeature({
...editingFeature,
priority: 2,
})
}
className={`flex-1 px-3 py-2 rounded-md text-sm font-medium transition-colors ${
(editingFeature.priority ?? 2) === 2
? "bg-yellow-500/20 text-yellow-500 border-2 border-yellow-500/50"
: "bg-muted/50 text-muted-foreground border border-border hover:bg-muted"
}`}
data-testid="edit-priority-medium-button"
>
Medium
</button>
<button
type="button"
onClick={() =>
setEditingFeature({
...editingFeature,
priority: 3,
})
}
className={`flex-1 px-3 py-2 rounded-md text-sm font-medium transition-colors ${
(editingFeature.priority ?? 2) === 3
? "bg-blue-500/20 text-blue-500 border-2 border-blue-500/50"
: "bg-muted/50 text-muted-foreground border border-border hover:bg-muted"
}`}
data-testid="edit-priority-low-button"
>
Low
</button>
</div>
</div>
</TabsContent> </TabsContent>
{/* Model Tab */} {/* Model Tab */}

View File

@@ -3,3 +3,4 @@ export * from "./model-selector";
export * from "./thinking-level-selector"; export * from "./thinking-level-selector";
export * from "./profile-quick-select"; export * from "./profile-quick-select";
export * from "./testing-tab-content"; export * from "./testing-tab-content";
export * from "./priority-selector";

View File

@@ -0,0 +1,63 @@
"use client";
import { Label } from "@/components/ui/label";
import { cn } from "@/lib/utils";
interface PrioritySelectorProps {
selectedPriority: number;
onPrioritySelect: (priority: number) => void;
testIdPrefix?: string;
}
export function PrioritySelector({
selectedPriority,
onPrioritySelect,
testIdPrefix = "priority",
}: PrioritySelectorProps) {
return (
<div className="space-y-2">
<Label>Priority</Label>
<div className="flex gap-2">
<button
type="button"
onClick={() => onPrioritySelect(1)}
className={cn(
"flex-1 px-3 py-2 rounded-md text-sm font-medium transition-colors",
selectedPriority === 1
? "bg-red-500/20 text-red-500 border-2 border-red-500/50"
: "bg-muted/50 text-muted-foreground border border-border hover:bg-muted"
)}
data-testid={`${testIdPrefix}-high-button`}
>
High
</button>
<button
type="button"
onClick={() => onPrioritySelect(2)}
className={cn(
"flex-1 px-3 py-2 rounded-md text-sm font-medium transition-colors",
selectedPriority === 2
? "bg-yellow-500/20 text-yellow-500 border-2 border-yellow-500/50"
: "bg-muted/50 text-muted-foreground border border-border hover:bg-muted"
)}
data-testid={`${testIdPrefix}-medium-button`}
>
Medium
</button>
<button
type="button"
onClick={() => onPrioritySelect(3)}
className={cn(
"flex-1 px-3 py-2 rounded-md text-sm font-medium transition-colors",
selectedPriority === 3
? "bg-blue-500/20 text-blue-500 border-2 border-blue-500/50"
: "bg-muted/50 text-muted-foreground border border-border hover:bg-muted"
)}
data-testid={`${testIdPrefix}-low-button`}
>
Low
</button>
</div>
</div>
);
}