@@ -20,6 +20,7 @@ import type { Action } from '../../../types/entries';
2020import { CheckCircle2 , XCircle } from 'lucide-react' ;
2121import GratitudeModal from '../../../components/modals/GratitudeModal' ;
2222import { markGratitudeSent } from '../../../features/email/api/gratitudeApi' ;
23+ import { useEntries } from '../hooks/useEntries' ;
2324import {
2425 Tooltip ,
2526 TooltipTrigger ,
@@ -60,6 +61,10 @@ const ActionLine: React.FC<ActionLineProps> = ({
6061 isOpen : boolean ;
6162 action : Action | null ;
6263 } > ( { isOpen : false , action : null } ) ;
64+
65+ // Get entries data to check for manager email
66+ const { data } = useEntries ( ) ;
67+ const hasManagerEmail = data . managerEmail && data . managerEmail . trim ( ) !== '' ;
6368
6469 // --- Handlers for Editing ---
6570 const handleStartEdit = ( action : Action ) => {
@@ -215,15 +220,30 @@ const ActionLine: React.FC<ActionLineProps> = ({
215220 { ! action . gratitudeSent && (
216221 < >
217222 < DropdownMenuSeparator />
218- < DropdownMenuItem
219- onClick = { ( ) =>
220- setGratitudeModal ( { isOpen : true , action } )
221- }
222- className = 'text-pink-600'
223- >
224- < Heart className = 'mr-2 h-4 w-4' />
225- Send gratitude
226- </ DropdownMenuItem >
223+ { /* Determine if manager email is set */ }
224+ < Tooltip >
225+ < TooltipTrigger asChild >
226+ < div className = "w-full" >
227+ < DropdownMenuItem
228+ onClick = { ( ) => {
229+ if ( hasManagerEmail ) {
230+ setGratitudeModal ( { isOpen : true , action } ) ;
231+ }
232+ } }
233+ className = { `${ hasManagerEmail ? 'text-pink-600' : 'text-pink-300 cursor-not-allowed' } ` }
234+ disabled = { ! hasManagerEmail }
235+ >
236+ < Heart className = 'mr-2 h-4 w-4' />
237+ Send gratitude
238+ </ DropdownMenuItem >
239+ </ div >
240+ </ TooltipTrigger >
241+ { ! hasManagerEmail && (
242+ < TooltipContent className = 'p-2 bg-black text-white rounded' >
243+ Manager's email is required to send gratitude
244+ </ TooltipContent >
245+ ) }
246+ </ Tooltip >
227247 </ >
228248 ) }
229249 </ DropdownMenuContent >
0 commit comments