'use client'; import { useActionState } from 'react'; import { Button } from '@/components/ui/Button'; import { cancelTimeOffAction, decideTimeOffAction, type AbsenceActionState, } from '@/server/absences/actions'; const empty: AbsenceActionState = {}; /** Accepter ou refuser une demande en attente. */ export function DecisionButtons({ timeOffId }: { timeOffId: string }) { const [state, formAction, pending] = useActionState( decideTimeOffAction, empty, ); return (
{state.error ? ( {state.error} ) : null}
); } /** * Annulation d'une absence. * * Sur une absence acceptée, la prise est contre-passée et non effacée : le * solde revient au même chiffre, et l'histoire reste lisible. */ export function CancelButton({ timeOffId }: { timeOffId: string }) { const [state, formAction, pending] = useActionState( cancelTimeOffAction, empty, ); return (
{state.error ? ( {state.error} ) : null}
); }