Skip to content

feat: make footer global across authenticated pages#79

Open
dnyaneshwari44 wants to merge 4 commits into
Venkat-Kolasani:mainfrom
dnyaneshwari44:feat/global-footer-layout-68
Open

feat: make footer global across authenticated pages#79
dnyaneshwari44 wants to merge 4 commits into
Venkat-Kolasani:mainfrom
dnyaneshwari44:feat/global-footer-layout-68

Conversation

@dnyaneshwari44

@dnyaneshwari44 dnyaneshwari44 commented Jun 27, 2026

Copy link
Copy Markdown

Summary

Adds the existing Footer component to the shared application layout so it is displayed consistently across all authenticated pages while preserving the existing footer on the landing page. The layout was also updated to keep the footer positioned correctly on pages with varying content heights.

Fixes #68


Type of change

  • Bug fix
  • New feature
  • Refactor (no behavior change)
  • Documentation

Changes made

  • Imported the reusable Footer component into the shared application layout (src/App.js).
  • Rendered the footer globally across authenticated pages.
  • Preserved the existing footer on the landing page by excluding the Home route from the shared layout.
  • Excluded the public share page from rendering the global footer to maintain the existing page behavior.
  • Updated the root layout to use a flex-column structure so the footer remains at the bottom of the viewport.
  • Added flex-1 to the main content container to ensure proper page layout with both short and long content.

Test plan

  • npm run test:ci passes (frontend)
  • cd backend && npm test passes (if API/backend changed)
  • Backend tests added/updated (if API changed)
  • npm run check:architecture passes locally
  • Tested locally with backend running (cd backend && npm run dev)
  • Signed in and smoke-tested affected page(s)
  • Checked mobile / responsive layout (UI verified on authenticated pages)
  • No secrets or .env files committed

Screenshots / recording

Before

image

After

Screenshot 2026-06-27 132818 Screenshot 2026-06-27 132755

Checklist

  • PR addresses one assigned issue only
  • Acceptance criteria from the issue are met
  • Follows existing code style and patterns in this repo
  • Database migrations added under docs/ if schema changed (Not applicable)
  • No console.log debug noise left behind
  • Read docs/TESTING.md if unsure what CI expects

Summary by CodeRabbit

  • New Features
    • Added footer support across most pages, excluding the home page and public share pages.
  • UI Improvements
    • Refined the main page layout to improve vertical spacing.
    • Updated footer “Features” and “FAQ” links to use consistent hash URLs.
    • Enhanced the home page to automatically smooth-scroll to the matching section when a hash is present, accounting for a fixed header offset.

@vercel

vercel Bot commented Jun 27, 2026

Copy link
Copy Markdown

@dnyaneshwari44 is attempting to deploy a commit to the venkat-kolasani's projects Team on Vercel.

A member of the Team first needs to authorize it.

@qodo-code-review

Copy link
Copy Markdown

Qodo reviews are paused for this user.

Troubleshooting steps vary by plan Learn more →

On a Teams plan?
Reviews resume once this user has a paid seat and their Git account is linked in Qodo.
Link Git account →

Using GitHub Enterprise Server, GitLab Self-Managed, or Bitbucket Data Center?
These require an Enterprise plan - Contact us
Contact us →

@coderabbitai

coderabbitai Bot commented Jun 27, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: b536d7f4-6007-489f-8081-4166944396d9

📥 Commits

Reviewing files that changed from the base of the PR and between 63db03f and a418cd5.

📒 Files selected for processing (1)
  • src/pages/Home.jsx
🚧 Files skipped from review as they are similar to previous changes (1)
  • src/pages/Home.jsx

📝 Walkthrough

Walkthrough

src/App.js adds a shared footer and adjusts page spacing, src/components/common/Footer.jsx updates product hash links, and src/pages/Home.jsx scrolls to hashed sections after route changes.

Changes

Global footer and hash navigation

Layer / File(s) Summary
Layout and footer placement
src/App.js
Imports Footer, changes the top-level wrapper to a column flex layout, makes <main> grow with flex-1, and conditionally renders the footer except on home and /share/* routes.
Footer links and hash scroll
src/components/common/Footer.jsx, src/pages/Home.jsx
Updates the footer’s Features and FAQ links to root hash URLs, and makes Home scroll to the element referenced by location.hash when present.

Estimated review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Poem

૮₍˶ᵔ ᵕ ᵔ˶₎ა
A footer hopped in, neat and bright,
With hash links whisking left to right.
The home page twitched and found its place,
Then scrolled to sections with smooth grace.

🚥 Pre-merge checks | ✅ 3 | ❌ 2

❌ Failed checks (2 warnings)

Check name Status Explanation Resolution
Linked Issues check ⚠️ Warning The PR adds the shared footer and layout updates, but it excludes the home and public share pages, so it does not fully meet #68's global scope. Render the footer on all pages covered by #68, or document and justify any intended route exclusions if they are part of the accepted scope.
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly summarizes the main change: adding a global footer, though it narrows scope to authenticated pages.
Description check ✅ Passed The description follows the template with Summary, Type of change, Changes made, Test plan, Screenshots, and Checklist.
Out of Scope Changes check ✅ Passed The Home hash-scroll handling and footer link updates support the new footer behavior, so no clear out-of-scope changes are present.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@src/App.js`:
- Line 156: The global Footer rendered from App.js is using fragment-only links
that break on authenticated routes because they stay on the current page. Update
src/components/common/Footer.jsx so the navigation items that currently point to
`#features` and `#faq` use landing-page-safe destinations instead, and make sure the
Footer component still works correctly when rendered from routes like /dashboard
and /calendar.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 5692ee4a-f829-44a8-8499-a0f7198e08bd

📥 Commits

Reviewing files that changed from the base of the PR and between 069b43d and 66e8b00.

📒 Files selected for processing (1)
  • src/App.js

Comment thread src/App.js

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@src/pages/Home.jsx`:
- Around line 22-24: The hash-link scrolling in Home.jsx currently uses
scrollIntoView with start alignment, which leaves targets hidden behind the
fixed navbar. Update the hash navigation logic in the Home component to account
for the header offset, either by adjusting the scroll position in the existing
scrollIntoView flow or by adding scroll-margin-top to the target sections like
`#features` and `#faq` so their headings remain visible after navigation.
- Around line 21-26: The delayed scroll in Home.jsx can still run after unmount
or a route change. Update the effect that contains the scroll logic to store the
timer id from setTimeout and return a cleanup function that clears it, using the
existing Home component/effect and the scrollIntoView callback as the reference
points.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 10953cfc-fd6d-4304-98be-07fa1829b611

📥 Commits

Reviewing files that changed from the base of the PR and between 66e8b00 and 9bc371e.

📒 Files selected for processing (2)
  • src/components/common/Footer.jsx
  • src/pages/Home.jsx
✅ Files skipped from review due to trivial changes (1)
  • src/components/common/Footer.jsx

Comment thread src/pages/Home.jsx Outdated
Comment thread src/pages/Home.jsx Outdated
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Enhancement: Add a Global Footer Across the Application

1 participant