refactor: convert course recommendations to React Query (#1967)
Replace the Redux `recommendations` slice + thunk with a `useCourseRecommendations` React Query hook, as the pattern-setter for the wider Redux -> React Query migration (#1946). - Add the app-level QueryClient/QueryClientProvider (bare, matching the frontend-base shell) and a QueryClientProvider wrapper in the test render. - Add a colocated data layer: data/queryKeys.ts (rooted at a new `appId` constant) + data/apiHooks.ts (useQuery over the existing getCourseRecommendations). - Delete data/slice.js and data/thunks.js; CourseExit now calls postUnsubscribeFromGoalReminders directly from data/api.js. - Remove the `recommendations` reducer from the store and the test store. - CourseRecommendations branches on React Query flags (isPending/isError/ isSuccess) instead of a status string; the tracking event moves to a colocated track.js. Behavior is unchanged. Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
B
Brian Smith committed
49b102afc05e6d312a28276e8a4ea203de77c99b
Parent: db2134c
Committed by GitHub <noreply@github.com>
on 8/7/2026, 6:16:26 AM