import { useDailyRecord } from '../hooks/useDailyRecord';
import { useContext, useEffect, useState } from 'react';
import UserContext from '../contexts/UserContext';
function DailyRecordManager() {
const {
getDailyRecord,
createDailyRecord,
deleteDailyRecord,
updateDailyRecord
} = useDailyRecord();
const { user } = useContext(UserContext);
const [records, setRecords] = useState([]);
const [loading, setLoading] = useState(true);
// Load user's daily records
useEffect(() => {
const loadRecords = async () => {
setLoading(true);
const data = await getDailyRecord(user.id);
if (Array.isArray(data)) {
setRecords(data);
}
setLoading(false);
};
loadRecords();
}, [user.id, getDailyRecord]);
// Create new record
const handleCreate = async (formData) => {
const recordData = {
userId: user.id,
date: new Date().toISOString(),
...formData
};
const result = await createDailyRecord(recordData);
if (result.ok) {
setRecords([...records, result.data]);
alert('Record created successfully');
} else {
alert(result.messageError);
}
};
// Update existing record
const handleUpdate = async (recordId, updatedData) => {
const result = await updateDailyRecord(recordId, updatedData);
if (result.ok) {
setRecords(records.map(r =>
r.id === recordId ? result.data : r
));
alert('Record updated successfully');
} else {
alert(result.messageError);
}
};
// Delete record
const handleDelete = async (recordId) => {
const result = await deleteDailyRecord(recordId);
if (typeof result === 'object') {
setRecords(records.filter(r => r.id !== recordId));
alert('Record deleted successfully');
} else {
alert(result);
}
};
if (loading) return <div>Loading...</div>;
return (
<div>
<h2>Daily Records</h2>
{/* Record list and forms */}
</div>
);
}