import React, { useState, useEffect } from 'react'; import { db } from '../../firebase/config'; import { ref, onValue, set } from 'firebase/database'; import { Clock, Save, User as UserIcon } from 'lucide-react'; export default function EmployeeSchedules() { const [employees, setEmployees] = useState([]); const [schedules, setSchedules] = useState({}); useEffect(() => { // Fetch Employees (Users with role 'mesero' or 'admin') onValue(ref(db, 'users'), (snapshot) => { const data = snapshot.val(); if (data) { setEmployees(Object.keys(data).map(k => ({ email: k.replace(',', '.'), ...data[k] }))); } }); // Fetch Schedules onValue(ref(db, 'schedules'), (snapshot) => { if (snapshot.exists()) setSchedules(snapshot.val()); }); }, []); const handleUpdateSchedule = async (email, field, value) => { const safeEmail = email.replace(/\./g, ','); await set(ref(db, `schedules/${safeEmail}/${field}`), value); }; return (
Asignación de turnos y disponibilidad de personal
| Empleado | Rol | Entrada | Salida | Estado |
|---|---|---|---|---|
|
|
{emp.role} | handleUpdateSchedule(emp.email, 'start', e.target.value)} style={inputStyle} /> | handleUpdateSchedule(emp.email, 'end', e.target.value)} style={inputStyle} /> | Activo |