import DatePicker from './DatePicker'; import DayEntries from './DayEntries'; import PDFExport from './PDFExport'; import EmailPDF from './EmailPDF'; import officeContact from './OfficeContact.vcf?url'; import ImportExport from './ImportExport'; const TimeSheet = ({ timesheetData }) => { const { selectedDate, setSelectedDate, weekDays, timeEntries, updateTimeEntry, addTimeEntry, removeTimeEntry, allHomeowners, addCustomHomeowner, customHomeowners, importTimesheet, userName, setUserName, getEntryValidation } = timesheetData; const totalHours = Object.values(timeEntries).reduce((total, dayEntries) => { const dayTotal = dayEntries.reduce((daySum, entry) => { return daySum + (parseFloat(entry.hoursWorked) || 0); }, 0); return total + dayTotal; }, 0); return (

COASTAL CONTRACTING OF FL TIME SHEET

Track your daily work hours and generate timesheets Sherry can actually read

setUserName(e.target.value)} placeholder="Enter your name" className={`w-full px-3 py-2 border rounded-md shadow-sm focus:outline-none focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-700 dark:text-white ${ userName.trim() === '' ? 'border-red-500 bg-red-50 dark:bg-red-900/20 dark:border-red-400' : 'border-gray-300 dark:border-gray-600' }`} /> {userName.trim() === '' && (

Employee name is required for timesheet submission

)}

Time Entries

Total: {totalHours.toFixed(1)} hours
{weekDays.map((day) => { const dayKey = day.toISOString().split('T')[0]; const dayEntries = timeEntries[dayKey] || [{ id: `${dayKey}-0`, workDescription: '', hoursWorked: '', homeowner: '' }]; return ( ); })}
Import Office Contact

Export: Save a JSON backup that you can import later. Download PDF: Save a printable copy. Share/Email PDF: Attach the PDF via your device share sheet or download and open email with the subject pre-filled.

If all else fails: email your timesheet to Office@CoastalContractingFL.com with subject "{userName || 'Employee'} - {weekDays && weekDays.length ? weekDays[0].toLocaleDateString() + ' - ' + weekDays[6].toLocaleDateString() : 'Timesheet'}".

Tip: You can add a contact for Office@CoastalContractingFL.com on your device so the To field is one tap away.

); }; export default TimeSheet;