Skip to content

updated footer with better ui/ux#295

Open
ArshiBansal wants to merge 2 commits into
GitMetricsLab:mainfrom
ArshiBansal:Update_footer
Open

updated footer with better ui/ux#295
ArshiBansal wants to merge 2 commits into
GitMetricsLab:mainfrom
ArshiBansal:Update_footer

Conversation

@ArshiBansal
Copy link
Copy Markdown

@ArshiBansal ArshiBansal commented May 17, 2026

Related Issue


Description

The current footer could use a design refresh to make it more attractive, modern, and professional. A well-crafted footer not only improves the overall look of the site but also ensures that important links and information are easy to find, enhancing the overall user experience.


How Has This Been Tested?

Through Comparing initial deployed link with updated locally hosted one


Screenshots (if applicable)


Type of Change

  • Bug fix
  • [yes] New feature
  • Code style update
  • Breaking change
  • Documentation update

Summary by CodeRabbit

  • Style
    • Simplified footer with a cleaner, single-column layout and compact bottom copyright bar
    • Replaced multi-column content with a concise tagline, external GitHub link, and Quick Links to Contact and About
    • Removed subscription form, extra social icons, and extended lower tray for a more minimal appearance

Review Change Stack

@netlify
Copy link
Copy Markdown

netlify Bot commented May 17, 2026

Deploy Preview for github-spy ready!

Name Link
🔨 Latest commit 0c9b844
🔍 Latest deploy log https://app.netlify.com/projects/github-spy/deploys/6a0a8176c09a150008e78fed
😎 Deploy Preview https://deploy-preview-295--github-spy.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 17, 2026

📝 Walkthrough

Walkthrough

Footer.tsx was simplified: imports trimmed to FaGithub, the JSX now renders an external GitHub Tracker link, a short tagline, quick links to /contact and /about (icon+label and plain text), and a single bordered copyright line.

Changes

Footer simplification

Layer / File(s) Summary
Import surface reduced
src/components/Footer.tsx
Narrowed imports to only FaGithub (removed prior multi-icon and explicit React, useState on the shown import line).
Main footer JSX replaced
src/components/Footer.tsx
Replaced previous multi-column footer with a compact layout: external GitHub Tracker link, descriptive tagline, and quick links to /contact and /about using Link components. Subscription UI removed from rendered JSX despite leftover state/handler.
Bottom copyright block
src/components/Footer.tsx
Removed previous divider/tray, social icons, and "Made with" line; added a single centered, bordered copyright text with responsive sizing.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related issues

  • #284: Touches Footer.tsx; both PRs modify footer layout and copyright/links.
  • #188: Requests footer design improvements and added social icons; this PR modifies footer layout but removes several social/subscription elements referenced by the issue.

Possibly related PRs

Poem

🐰
I hopped through code with nimble paws,
Trimmed icons down and shortened clause,
A GitHub link, two quick-path springs,
A tidy footer—simple things.
Hop, hop, the layout softly sings.

🚥 Pre-merge checks | ✅ 3 | ❌ 2

❌ Failed checks (2 warnings)

Check name Status Explanation Resolution
Linked Issues check ⚠️ Warning The PR partially addresses Issue #188 objectives. The footer was restructured with simplified layout and navigation links, but lacks complete implementation of key requirements: responsive design details, color palette application, typography refinement, social media icons, and section dividers. Verify that responsive design is properly implemented across devices, apply modern color palette consistent with site theme, and ensure social media icons and visual dividers are included per issue requirements.
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 'updated footer with better ui/ux' is directly related to the main change: redesigning the footer component for improved user interface and experience.
Description check ✅ Passed The PR description follows the template with all major sections populated: Related Issue (#188), Description, Testing approach, Type of Change (marked as New feature). All required information is present.
Out of Scope Changes check ✅ Passed The changes are focused on the Footer component redesign as specified in Issue #188. No unrelated code modifications or scope creep detected. The code restructuring aligns with the footer improvement objectives.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

🧹 Nitpick comments (1)
src/components/Footer.tsx (1)

13-13: ⚡ Quick win

Extract duplicated GitHub URL to a constant.

The GitHub repository URL https://github.com/GitMetricsLab/github_tracker is hardcoded in two locations (brand link and social link). Extracting it to a constant will prevent inconsistencies and make future updates easier.

♻️ Proposed refactor
 import { FaGithub, FaEnvelope, FaInfoCircle, FaHeart } from 'react-icons/fa';
 import { Link } from 'react-router-dom';

+const GITHUB_REPO_URL = "https://github.com/GitMetricsLab/github_tracker";
+
 function Footer() {
   return (
     <footer className="bg-gradient-to-br from-white to-gray-50 dark:from-gray-900 dark:to-gray-950 border-t border-gray-200/70 dark:border-gray-800/70 text-gray-700 dark:text-gray-300 transition-colors duration-300">
       <div className="max-w-7xl mx-auto px-6 py-10">
         {/* Top Section */}
         <div className="grid grid-cols-1 md:grid-cols-3 gap-8 items-start">
           {/* Brand Section */}
           <div className="space-y-3">
             <a
-              href="https://github.com/GitMetricsLab/github_tracker"
+              href={GITHUB_REPO_URL}
               target="_blank"
               rel="noopener noreferrer"
           {/* Social Section */}
           <div className="space-y-3 md:text-right">
             <h3 className="text-sm font-semibold uppercase tracking-wider text-gray-900 dark:text-white">
               Connect
             </h3>

             <div className="flex md:justify-end">
               <a
-                href="https://github.com/GitMetricsLab/github_tracker"
+                href={GITHUB_REPO_URL}
                 target="_blank"
                 rel="noopener noreferrer"

Also applies to: 63-63

🤖 Prompt for 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.

In `@src/components/Footer.tsx` at line 13, The hardcoded GitHub URL appears twice
in the Footer component; create a single exported/locally-scoped constant (e.g.,
GITHUB_URL) at the top of src/components/Footer.tsx and replace both occurrences
(the brand link and the social link JSX) with that constant (use GITHUB_URL in
the href props) so updates remain consistent and reduce duplication.
🤖 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.

Nitpick comments:
In `@src/components/Footer.tsx`:
- Line 13: The hardcoded GitHub URL appears twice in the Footer component;
create a single exported/locally-scoped constant (e.g., GITHUB_URL) at the top
of src/components/Footer.tsx and replace both occurrences (the brand link and
the social link JSX) with that constant (use GITHUB_URL in the href props) so
updates remain consistent and reduce duplication.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 5b6bcec0-601a-4696-8103-f9d6010593ec

📥 Commits

Reviewing files that changed from the base of the PR and between a2452b3 and b2fce9e.

📒 Files selected for processing (1)
  • src/components/Footer.tsx

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

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/components/Footer.tsx`:
- Around line 1-2: The file is missing imports for React, useState, and two icon
symbols causing unresolved references; add an import for React and useState (so
React.FormEvent and useState are available) and include FaEnvelope and
FaInfoCircle with the existing FaGithub import from 'react-icons/fa' (ensure the
import statement now provides FaGithub, FaEnvelope, FaInfoCircle), leaving the
existing Link import intact.
🪄 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

Run ID: eb25a8a3-70b2-4bc3-9f0d-2b3c8cce847b

📥 Commits

Reviewing files that changed from the base of the PR and between b2fce9e and 0c9b844.

📒 Files selected for processing (1)
  • src/components/Footer.tsx

Comment thread src/components/Footer.tsx
Comment on lines +1 to 2
import { FaGithub } from 'react-icons/fa';
import { Link } from 'react-router-dom';
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🔴 Critical | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

FILE="$(fd -i 'Footer.tsx' | head -n 1)"
echo "Inspecting: $FILE"

echo "== Imports =="
rg -n '^\s*import\s' "$FILE"

echo "== Referenced symbols that require imports =="
rg -n '\buseState\b|React\.FormEvent|<FaEnvelope\b|<FaInfoCircle\b' "$FILE"

Repository: GitMetricsLab/github_tracker

Length of output: 474


Add missing React and icon symbol imports to fix unresolved references.

Lines 5 (useState), 7 (React.FormEvent), 46 (FaEnvelope), and 54 (FaInfoCircle) reference symbols without corresponding imports.

Proposed fix
+import { type FormEvent, useState } from 'react';
-import { FaGithub } from 'react-icons/fa';
+import { FaEnvelope, FaGithub, FaInfoCircle } from 'react-icons/fa';
 import { Link } from 'react-router-dom';
@@
-  const handleSubscribe = (e: React.FormEvent) => {
+  const handleSubscribe = (e: FormEvent) => {
🤖 Prompt for 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.

In `@src/components/Footer.tsx` around lines 1 - 2, The file is missing imports
for React, useState, and two icon symbols causing unresolved references; add an
import for React and useState (so React.FormEvent and useState are available)
and include FaEnvelope and FaInfoCircle with the existing FaGithub import from
'react-icons/fa' (ensure the import statement now provides FaGithub, FaEnvelope,
FaInfoCircle), leaving the existing Link import intact.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Improve Footer Component Design for a More Attractive and Professional Look

1 participant