Skip to content

Commit 040fba2

Browse files
committed
feed detail and map improved back navigation
1 parent 5b0a796 commit 040fba2

2 files changed

Lines changed: 24 additions & 12 deletions

File tree

src/app/screens/Feed/components/FeedNavigationControls.tsx

Lines changed: 19 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,20 +17,32 @@ export default function FeedNavigationControls({
1717
const t = useTranslations('common');
1818
const router = useRouter();
1919

20+
const handleBack = (): void => {
21+
const hasReferrer = document.referrer !== '';
22+
const hasSameOriginReferrer =
23+
hasReferrer && new URL(document.referrer).origin === window.location.origin;
24+
25+
if (!hasSameOriginReferrer) {
26+
router.push('/feeds');
27+
return;
28+
}
29+
30+
if (window.history.length > 1) {
31+
router.back();
32+
return;
33+
}
34+
35+
router.push('/feeds');
36+
};
37+
2038
return (
2139
<Grid container spacing={3} alignItems='flex-end'>
2240
<Button
2341
sx={{ py: 0 }}
2442
size='large'
2543
startIcon={<ChevronLeft />}
2644
color={'inherit'}
27-
onClick={() => {
28-
if (window.history.length > 1) {
29-
router.back();
30-
} else {
31-
router.push('/feeds');
32-
}
33-
}}
45+
onClick={handleBack}
3446
>
3547
{t('back')}
3648
</Button>

src/app/screens/Feed/components/FullMapView.tsx

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -252,10 +252,10 @@ export default function FullMapView({
252252
color={'inherit'}
253253
sx={{ pl: 0, display: { xs: 'none', md: 'inline-flex' } }}
254254
onClick={() => {
255-
if (!hasError && feedId != null) {
256-
router.push(`/feeds/gtfs/${feedId}`);
255+
if (feedId != null) {
256+
router.replace(`/feeds/gtfs/${feedId}`);
257257
} else {
258-
router.push('/');
258+
router.replace('/');
259259
}
260260
}}
261261
>
@@ -389,9 +389,9 @@ export default function FullMapView({
389389
sx={{ position: 'absolute', top: 10, right: 10, zIndex: 1000 }}
390390
onClick={() => {
391391
if (!hasError && feedId != null) {
392-
router.push(`/feeds/${feed?.data_type}/${feedId}`);
392+
router.replace(`/feeds/${feed?.data_type}/${feedId}`);
393393
} else {
394-
router.push('/');
394+
router.replace('/');
395395
}
396396
}}
397397
>

0 commit comments

Comments
 (0)