on master help sign in
residents: fix broken crumb navigation
d9057f7Liam Fitzgerald
src/lib/useRouter.js+3−2
@@ -1,5 +1,5 @@
1import { useCallback, useMemo, useState, useRef, useEffect } from 'react';
1import { useCallback, useMemo, useState, useRef, useEffect } from 'react';
2−import { last, includes as _includes, findIndex } from 'lodash';
2+import { last, includes as _includes, findIndex, get } from 'lodash';
3
3
4const NULL_DATA = {};
4const NULL_DATA = {};
5
5
@@ -89,7 +89,8 @@ export default function useRouter({
89 routes,
89 routes,
90 ]);
90 ]);
91 const data = useMemo(() => {
91 const data = useMemo(() => {
92+ return get(last(routes), 'data', {});
92− return last(routes).data || NULL_DATA;
93+ // return last(routes).data || NULL_DATA;
93 }, [routes]);
94 }, [routes]);
94 const Route = useMemo(() => views[peek().key], [views, peek]);
95 const Route = useMemo(() => views[peek().key], [views, peek]);
95
96
src/views/Residents.js+4−1
@@ -158,6 +158,7 @@ export default function Residents() {
158 const point = need.point(pointCursor);
158 const point = need.point(pointCursor);
159 const { getResidents, syncResidents } = usePointCache();
159 const { getResidents, syncResidents } = usePointCache();
160
160
161+ const goBack = useCallback(() => pop(), [pop]);
161 useEffect(() => {
162 useEffect(() => {
162 syncResidents(point);
163 syncResidents(point);
163 }, [syncResidents, point]);
164 }, [syncResidents, point]);
@@ -202,7 +203,9 @@ export default function Residents() {
202 return (
203 return (
203 <View pop={pop} inset>
204 <View pop={pop} inset>
204 <NavHeader>
205 <NavHeader>
206+ <Crumbs
205− <Crumbs routes={[{ text: name, action: pop }, { text: 'Residents' }]} />
207+ routes={[{ text: name, action: goBack }, { text: 'Residents' }]}
208+ />
206 </NavHeader>
209 </NavHeader>
207 <Grid>
210 <Grid>
208 <Grid.Item full as={H4} className="mt4">
211 <Grid.Item full as={H4} className="mt4">