import { motion, AnimatePresence } from "framer-motion"; import AdminDatePicker from "./AdminDatePicker"; import useModalLock from "../hooks/useModalLock"; interface BulkAttendanceForm { month: string; user_ids: string[]; arrival_time: string; departure_time: string; break_start_time: string; break_end_time: string; } interface BulkAttendanceUser { id: number | string; name: string; } interface BulkAttendanceModalProps { isOpen: boolean; onClose: () => void; form: BulkAttendanceForm; setForm: (form: BulkAttendanceForm) => void; users: BulkAttendanceUser[]; onSubmit: () => void; submitting: boolean; toggleUser: (userId: number | string) => void; toggleAllUsers: () => void; } export default function BulkAttendanceModal({ isOpen, onClose, form, setForm, users, onSubmit, submitting, toggleUser, toggleAllUsers, }: BulkAttendanceModalProps) { useModalLock(isOpen); return ( {isOpen && (
!submitting && onClose()} />

Vyplnit docházku za měsíc

Vytvoří záznamy pro všechny pracovní dny. Svátky se automaticky označí. Existující záznamy se přeskočí.

setForm({ ...form, month: val })} />
{users.map((user) => ( ))}
Vybráno: {form.user_ids.length} z {users.length}
setForm({ ...form, arrival_time: val }) } />
setForm({ ...form, departure_time: val }) } />
setForm({ ...form, break_start_time: val }) } />
setForm({ ...form, break_end_time: val }) } />
)} ); }