37 lines
930 B
JavaScript
37 lines
930 B
JavaScript
import { createContext, useContext, useState } from 'react';
|
|
|
|
const ReturnContext = createContext(null);
|
|
|
|
export function ReturnProvider({ children }) {
|
|
const [returns, setReturns] = useState(() => {
|
|
const saved = localStorage.getItem('returns');
|
|
return saved ? JSON.parse(saved) : [];
|
|
});
|
|
|
|
function addReturn(bookId, bookTitle, customerPhone, reason) {
|
|
const bookReturn = {
|
|
returnId: crypto.randomUUID(),
|
|
bookId,
|
|
bookTitle,
|
|
customerPhone,
|
|
reason,
|
|
status: 'PROCESSED',
|
|
returnedAt: new Date().toISOString(),
|
|
};
|
|
const updated = [...returns, bookReturn];
|
|
setReturns(updated);
|
|
localStorage.setItem('returns', JSON.stringify(updated));
|
|
return bookReturn;
|
|
}
|
|
|
|
return (
|
|
<ReturnContext.Provider value={{ returns, addReturn }}>
|
|
{children}
|
|
</ReturnContext.Provider>
|
|
);
|
|
}
|
|
|
|
export function useReturns() {
|
|
return useContext(ReturnContext);
|
|
}
|