Files
flyer-crawler.projectium.com/src/providers/MasterItemsProvider.tsx
Torben Sorensen d356d9dfb6
Some checks failed
Deploy to Test Environment / deploy-to-test (push) Failing after 43s
claude 1
2026-01-08 07:47:29 -08:00

32 lines
996 B
TypeScript

// src/providers/MasterItemsProvider.tsx
import React, { ReactNode, useMemo } from 'react';
import { MasterItemsContext } from '../contexts/MasterItemsContext';
import { useMasterItemsQuery } from '../hooks/queries/useMasterItemsQuery';
/**
* Provider for master grocery items using TanStack Query (ADR-0005).
*
* This replaces the previous custom useApiOnMount implementation with
* TanStack Query for better caching, automatic refetching, and state management.
*
* Master items are cached longer (10 minutes) since they change infrequently.
*/
export const MasterItemsProvider: React.FC<{ children: ReactNode }> = ({ children }) => {
const {
data: masterItems = [],
isLoading,
error,
} = useMasterItemsQuery();
const value = useMemo(
() => ({
masterItems,
isLoading,
error: error?.message || null,
}),
[masterItems, isLoading, error]
);
return <MasterItemsContext.Provider value={value}>{children}</MasterItemsContext.Provider>;
};