@@ -369,7 +370,7 @@ export function ExpandProjectChat({
diff --git a/ui/src/components/FeatureCard.tsx b/ui/src/components/FeatureCard.tsx
index c7190fb..8e54f12 100644
--- a/ui/src/components/FeatureCard.tsx
+++ b/ui/src/components/FeatureCard.tsx
@@ -7,16 +7,17 @@ interface FeatureCardProps {
isInProgress?: boolean
}
-// Generate consistent color for category
+// Generate consistent color for category using CSS variable references
+// These map to the --color-neo-category-* variables defined in globals.css
function getCategoryColor(category: string): string {
const colors = [
- '#ff006e', // pink
- '#00b4d8', // cyan
- '#70e000', // green
- '#ffd60a', // yellow
- '#ff5400', // orange
- '#8338ec', // purple
- '#3a86ff', // blue
+ 'var(--color-neo-category-pink)',
+ 'var(--color-neo-category-cyan)',
+ 'var(--color-neo-category-green)',
+ 'var(--color-neo-category-yellow)',
+ 'var(--color-neo-category-orange)',
+ 'var(--color-neo-category-purple)',
+ 'var(--color-neo-category-blue)',
]
let hash = 0
@@ -36,18 +37,18 @@ export function FeatureCard({ feature, onClick, isInProgress }: FeatureCardProps
className={`
w-full text-left neo-card p-4 cursor-pointer
${isInProgress ? 'animate-pulse-neo' : ''}
- ${feature.passes ? 'border-[var(--color-neo-done)]' : ''}
+ ${feature.passes ? 'border-neo-done' : ''}
`}
>
{/* Header */}
{feature.category}
-
+
#{feature.priority}
@@ -58,7 +59,7 @@ export function FeatureCard({ feature, onClick, isInProgress }: FeatureCardProps
{/* Description */}
-
+
{feature.description}
@@ -66,18 +67,18 @@ export function FeatureCard({ feature, onClick, isInProgress }: FeatureCardProps
{isInProgress ? (
<>
-
- Processing...
+
+ Processing...
>
) : feature.passes ? (
<>
-
- Complete
+
+ Complete
>
) : (
<>
-
- Pending
+
+ Pending
>
)}
diff --git a/ui/src/components/FeatureModal.tsx b/ui/src/components/FeatureModal.tsx
index 7e966e7..22c4116 100644
--- a/ui/src/components/FeatureModal.tsx
+++ b/ui/src/components/FeatureModal.tsx
@@ -4,6 +4,26 @@ import { useSkipFeature, useDeleteFeature } from '../hooks/useProjects'
import { EditFeatureForm } from './EditFeatureForm'
import type { Feature } from '../lib/types'
+// Generate consistent color for category (matches FeatureCard pattern)
+function getCategoryColor(category: string): string {
+ const colors = [
+ '#ff006e', // pink (accent)
+ '#00b4d8', // cyan (progress)
+ '#70e000', // green (done)
+ '#ffd60a', // yellow (pending)
+ '#ff5400', // orange (danger)
+ '#8338ec', // purple
+ '#3a86ff', // blue
+ ]
+
+ let hash = 0
+ for (let i = 0; i < category.length; i++) {
+ hash = category.charCodeAt(i) + ((hash << 5) - hash)
+ }
+
+ return colors[Math.abs(hash) % colors.length]
+}
+
interface FeatureModalProps {
feature: Feature
projectName: string
@@ -59,7 +79,10 @@ export function FeatureModal({ feature, projectName, onClose }: FeatureModalProp
{/* Header */}
-
+
{feature.category}
@@ -78,12 +101,12 @@ export function FeatureModal({ feature, projectName, onClose }: FeatureModalProp
{/* Error Message */}
{error && (
-
+
{error}
diff --git a/ui/src/components/FolderBrowser.tsx b/ui/src/components/FolderBrowser.tsx
index 1e04e3a..f302681 100644
--- a/ui/src/components/FolderBrowser.tsx
+++ b/ui/src/components/FolderBrowser.tsx
@@ -139,10 +139,10 @@ export function FolderBrowser({ onSelect, onCancel, initialPath }: FolderBrowser
return (
{/* Header with breadcrumb navigation */}
-
+
- Select Project Folder
+ Select Project Folder
{/* Breadcrumb navigation */}
@@ -159,11 +159,11 @@ export function FolderBrowser({ onSelect, onCancel, initialPath }: FolderBrowser
{breadcrumbs.map((crumb, index) => (
- {index > 0 &&
}
+ {index > 0 &&
}