import React, { useState, useContext } from 'react'; import { pb } from '../../lib/pocketbase'; import { LanguageContext } from '../../contexts/LanguageContext'; const RedeemForm = ({ onRedeem }) => { const { t } = useContext(LanguageContext); const [amount, setAmount] = useState(''); const [date, setDate] = useState(new Date().toISOString().split('T')[0]); const [loading, setLoading] = useState(false); const handleRedeem = async (e) => { e.preventDefault(); setLoading(true); const hoursToDeduct = parseFloat(amount); if (hoursToDeduct <= 0) return; const data = { user: pb.authStore.model.id, date, duration: hoursToDeduct, type: 'regular', // or 'leave' day_type: 'workday', multiplier: -1, // Negative multiplier or just negative calculated hours? // Let's set calculated_hours directly to negative is_banked: true, calculated_hours: -hoursToDeduct, notes: 'Time Off Redeemed', manual_override: true }; try { await pb.collection('time_entries').create(data); setAmount(''); onRedeem(); } catch (error) { console.error("Error redeeming:", error); alert("Failed to redeem hours"); } finally { setLoading(false); } }; return (

{t('redeem.title')}

setDate(e.target.value)} />
setAmount(e.target.value)} />
); }; export default RedeemForm;