88 DropdownMenuTrigger ,
99} from '@/components/ui/dropdown-menu' ;
1010import { CheckIcon , ClockIcon , PriorityIcon } from '../icons' ;
11+ import { cn } from '@/lib/utils' ;
1112
1213interface TodoCardProp {
1314 todo : Todo ;
@@ -24,10 +25,27 @@ function TodoCard({ todo, onDelete, onEdit, onChangeState }: TodoCardProp) {
2425 medium : 'bg-yellow-100 text-yellow-800' ,
2526 low : 'bg-green-100 text-green-800' ,
2627 } ;
28+
2729 return (
28- < div className = "bg-white shadow-md p-5 border border-gray-200 rounded-lg space-y-2 hover:shadow-lg transition-shadow duration-300" >
30+ < div
31+ className = { cn (
32+ 'shadow-md p-5 borde rounded-lg space-y-2 hover:shadow-lg transition-shadow duration-300' ,
33+ todo . completed
34+ ? 'bg-gray-50 dark:bg-gray-800/50 border-gray-200 dark:border-gray-700'
35+ : 'bg-white dark:bg-gray-800 border-gray-200 dark:border-gray-700' ,
36+ ) }
37+ >
2938 < div className = "flex justify-between items-start" >
30- < span className = "truncate text-lg font-bold" > { todo . title } </ span >
39+ < h3
40+ className = { cn (
41+ 'truncate text-lg font-medium' ,
42+ todo . completed
43+ ? 'text-gray-500 dark:text-gray-400 line-through'
44+ : 'text-gray-900 dark:text-white' ,
45+ ) }
46+ >
47+ { todo . title }
48+ </ h3 >
3149 < div className = "flex items-center" >
3250 < DropdownMenu >
3351 < DropdownMenuTrigger className = "cursor-pointer" >
@@ -82,7 +100,16 @@ function TodoCard({ todo, onDelete, onEdit, onChangeState }: TodoCardProp) {
82100 </ div >
83101 </ div >
84102
85- < p className = "text-gray-600 mb-4 line-clamp-2" > { todo . description } </ p >
103+ < p
104+ className = { cn (
105+ 'mb-4 line-clamp-2' ,
106+ todo . completed
107+ ? 'text-gray-400 dark:text-gray-500'
108+ : 'text-gray-600 dark:text-gray-300' ,
109+ ) }
110+ >
111+ { todo . description }
112+ </ p >
86113
87114 < div className = "flex justify-between items-center" >
88115 < div className = "flex items-center text-sm text-gray-500 space-x-0.5" >
@@ -92,10 +119,18 @@ function TodoCard({ todo, onDelete, onEdit, onChangeState }: TodoCardProp) {
92119 ) : null }
93120 </ div >
94121
95- < Badge className = { `${ colorClasses [ todo . priority ] } ` } >
96- < PriorityIcon priority = { todo . priority } />
97- < span className = "ml-1 capitalize" > { todo . priority } </ span >
98- </ Badge >
122+ < div className = "flex space-x-2" >
123+ < Badge >
124+ < span className = "ml-1 capitalize" >
125+ { todo . completed ? t ( 'completedTab' ) : t ( 'activeTab' ) }
126+ </ span >
127+ </ Badge >
128+
129+ < Badge className = { `${ colorClasses [ todo . priority ] } ` } >
130+ < PriorityIcon priority = { todo . priority } />
131+ < span className = "ml-1 capitalize" > { todo . priority } </ span >
132+ </ Badge >
133+ </ div >
99134 </ div >
100135 </ div >
101136 ) ;
0 commit comments