fix: Use AuthContext instead of Redux for user/familyId in trackers

Root cause: Trackers were using Redux state.auth.user (mock data) while
insights page was using useAuth() hook (real backend data from /me).

Since the user is logged in as andrei@cloudz.ro, AuthContext fetches
the real user with Alice child, but trackers were looking for mock
familyId 'fam_test123' which doesn't exist.

Fix: Changed all tracker pages and home page to use:
  user?.families?.[0]?.familyId (from useAuth hook)
instead of:
  state.auth.user?.familyId (from Redux mock)

This makes all pages consistent with the insights page approach.

Files updated:
- app/page.tsx (home)
- app/track/sleep/page.tsx
- app/track/feeding/page.tsx
- app/track/diaper/page.tsx
- app/track/activity/page.tsx
- app/track/growth/page.tsx
- app/track/medicine/page.tsx

Now all pages fetch children using the real logged-in user's familyId.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-10-05 07:00:19 +00:00
parent 52144ca4a9
commit de45dbddba
8 changed files with 8 additions and 8 deletions

View File

@@ -40,7 +40,7 @@ export default function HomePage() {
const router = useRouter();
const dispatch = useDispatch<AppDispatch>();
const selectedChild = useSelector(selectSelectedChild);
const familyId = useSelector((state: RootState) => state.auth.user?.familyId);
const familyId = user?.families?.[0]?.familyId;
const [selectedChildId, setSelectedChildId] = useState<string | null>(null);
const [predictions, setPredictions] = useState<any>(null);
const [predictionsLoading, setPredictionsLoading] = useState(false);

View File

@@ -68,7 +68,7 @@ function ActivityTrackPage() {
// Redux state
const children = useSelector((state: RootState) => childrenSelectors.selectAll(state));
const selectedChild = useSelector(selectSelectedChild);
const familyId = useSelector((state: RootState) => state.auth.user?.familyId);
const familyId = user?.families?.[0]?.familyId;
// Local state
const [selectedChildIds, setSelectedChildIds] = useState<string[]>([]);

View File

@@ -71,7 +71,7 @@ export default function DiaperTrackPage() {
// Redux state
const children = useSelector((state: RootState) => childrenSelectors.selectAll(state));
const selectedChild = useSelector(selectSelectedChild);
const familyId = useSelector((state: RootState) => state.auth.user?.familyId);
const familyId = user?.families?.[0]?.familyId;
// Local state
const [selectedChildIds, setSelectedChildIds] = useState<string[]>([]);

View File

@@ -81,7 +81,7 @@ function FeedingTrackPage() {
// Redux state
const children = useSelector((state: RootState) => childrenSelectors.selectAll(state));
const selectedChild = useSelector(selectSelectedChild);
const familyId = useSelector((state: RootState) => state.auth.user?.familyId);
const familyId = user?.families?.[0]?.familyId;
// Local state
const [selectedChildIds, setSelectedChildIds] = useState<string[]>([]);

View File

@@ -68,7 +68,7 @@ function GrowthTrackPage() {
// Redux state
const children = useSelector((state: RootState) => childrenSelectors.selectAll(state));
const selectedChild = useSelector(selectSelectedChild);
const familyId = useSelector((state: RootState) => state.auth.user?.familyId);
const familyId = user?.families?.[0]?.familyId;
// Local state
const [selectedChildIds, setSelectedChildIds] = useState<string[]>([]);

View File

@@ -91,7 +91,7 @@ function MedicalTrackPage() {
// Redux state
const children = useSelector((state: RootState) => childrenSelectors.selectAll(state));
const selectedChild = useSelector(selectSelectedChild);
const familyId = useSelector((state: RootState) => state.auth.user?.familyId);
const familyId = user?.families?.[0]?.familyId;
// Local state
const [selectedChildIds, setSelectedChildIds] = useState<string[]>([]);

View File

@@ -70,7 +70,7 @@ export default function SleepTrackPage() {
// Redux state
const children = useSelector((state: RootState) => childrenSelectors.selectAll(state));
const selectedChild = useSelector(selectSelectedChild);
const familyId = useSelector((state: RootState) => state.auth.user?.familyId);
const familyId = user?.families?.[0]?.familyId;
// Local state
const [selectedChildIds, setSelectedChildIds] = useState<string[]>([]);

File diff suppressed because one or more lines are too long