/**
 * When true, the search domain is served by the in-memory mock (`apis/mockApi.ts`) behind the
 * `SearchApi` seam. **Mock is primary this phase:** b7's search-index row and the b5/b6 reads do not
 * yet expose the display name, avatar, distance, bio, specialties, full services list, or latest review
 * that C2/C3 render (gap filed in `dev/shared-working-context/frontend/requests/for-backend.md`). The
 * mock supplies real-shaped fixtures so C1/C2/C3 demo end-to-end. Flip to false once the backend fills
 * the gap — no hook/component changes (see `dev/shared-working-context/reports/frontend-phase-6-report.md`).
 */
export const USE_SEARCH_MOCK = false;

/**
 * Results are read-heavy and change slowly, so a revisit (or a filter **revert**) serves from cache
 * within the stale window instead of refetching — the headline caching behaviour of this phase. A
 * generous `gcTime` keeps prior filter sets warm so back/forward navigation is instant.
 */
export const SEARCH_RESULTS_STALE_TIME = 5 * 60 * 1000; // 5m
export const SEARCH_PROFILE_STALE_TIME = 5 * 60 * 1000; // 5m
export const SEARCH_GC_TIME = 30 * 60 * 1000; // 30m

/** api-conventions default/max page sizes (max 100 server-side); a page of result cards. */
export const SEARCH_PAGE_SIZE = 20;

/** Debounce window for the price-range inputs so keystrokes don't fan out one request per character. */
export const SEARCH_FILTER_DEBOUNCE_MS = 400;
