feat: add footer and legal pages with shared layout updates#172
Conversation
gulcetahtasiz
left a comment
There was a problem hiding this comment.
Everything looks good, nice work
kckagancan
left a comment
There was a problem hiding this comment.
Review notes
1. web/src/components/layout/PageTransition.tsx
key={pathname} forces the wrapped subtree to fully remount on every route change.
This is a real issue in the current setup because the transition is applied around the routed children from the root layout. As a result, navigation resets the wrapped tree instead of letting the App Router preserve it.
2. web/src/app/layout.tsx
PageTransition is applied too high in the tree by wrapping the entire routed children subtree.
Together with key={pathname} inside PageTransition, this defeats route subtree persistence and can reset local state on navigation. That goes against the persistence benefits of the Next.js App Router layout model.
3. web/src/components/layout/SiteFooter.tsx
The legal links hardcode ?from=home:
/terms-of-service?from=home/privacy-policy?from=home
Since the footer is reusable across multiple pages, these links will claim the user came from home even when they did not. That creates false navigation context and can lead to incorrect behavior if the destination pages use this query parameter for back navigation or conditional UI.
4. web/src/components/ui/navigation/BackButton.tsx
The component uses window.history.length > 1 to decide whether to call router.back().
This is not a reliable check for whether there is a valid in-app previous page. In some cases, it can send the user back to an external page or an unrelated browser history entry instead of keeping navigation inside the app and using the fallback route.
Implemented in 4b1b8ab, thanks for the review.
|
kckagancan
left a comment
There was a problem hiding this comment.
Looks fine now. Ready to merge
This PR delivers the full feature/web-footer-legal scope, including footer/legal page structure, layout integration, legal-page navigation behavior, and related homepage/content updates that were developed on this branch.
What’s Included
1. Footer and Layout Integration
2. New Pages
Added:
These pages are now accessible via footer links and follow the shared layout/styling approach.
3. Legal Pages Enhancements
4. Homepage / CTA Refinements (as included in this branch)
5. Content Linking Updates
6. Styling
Added/updated token-compatible semantic CSS classes for:
Preserved branch styling approach without broad unrelated refactors.
Dependency Note
Please merge this PR only after the Emergency Numbers PR is merged into
development.Closes #165