This commit is contained in:
Gabriel Brown 2024-07-21 19:45:17 -05:00
parent 52320227d2
commit 0f744f861b

View File

@ -94,30 +94,18 @@ export default function Table({ employees }: { employees: Employee[] }) {
setStatus(e.target.value); setStatus(e.target.value);
}; };
const handleSubmit = async () => { const handleSubmit = async () => {
if (selectedIds.length === 0) {
if (!session) { if (!session) {
alert("You must be signed in to update status."); alert("You must be signed in to update status.");
return; return;
} else { }
const cur_user = employees.find(employee => employee.name === session?.user?.name); // If no employee is selected and status is not empty
if (selectedIds.length === 0 && employeeStatus.trim() !== '') {
const cur_user = employees.find(employee => employee.name === session.user?.name);
if (cur_user) { if (cur_user) {
await fetch('/api/v2/update_status', { setSelectedIds([cur_user.id]);
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': `Bearer ${process.env.API_KEY}`
},
body: JSON.stringify({ employeeIds: [cur_user.id], newStatus: employeeStatus }),
});
// Optionally refresh data on the client-side after update
const updatedEmployees = await fetchEmployees();
setEmployeeData(updatedEmployees);
setSelectedIds([]);
setStatus('');
} }
} } else if (employeeStatus.trim() !== '') {
} else if (employeeStatus.trim() === '') {
await fetch('/api/v2/update_status', { await fetch('/api/v2/update_status', {
method: 'POST', method: 'POST',
headers: { headers: {
@ -126,13 +114,14 @@ export default function Table({ employees }: { employees: Employee[] }) {
}, },
body: JSON.stringify({ employeeIds: selectedIds, newStatus: employeeStatus }), body: JSON.stringify({ employeeIds: selectedIds, newStatus: employeeStatus }),
}); });
// Optionally refresh data on the client-side after update // Optionally refresh data on the client-side after update
const updatedEmployees = await fetchEmployees(); const updatedEmployees = await fetchEmployees();
setEmployeeData(updatedEmployees); setEmployeeData(updatedEmployees);
setSelectedIds([]); setSelectedIds([]);
setStatus(''); setStatus('');
} }
}; };
const handleKeyPress = async (e: React.KeyboardEvent<HTMLInputElement>) => { const handleKeyPress = async (e: React.KeyboardEvent<HTMLInputElement>) => {
if (e.key === 'Enter') { if (e.key === 'Enter') {