Skip to content

Redesign Footer Component#2

Open
Rahmankhattak711 wants to merge 1 commit intoAOSSIE-Org:mainfrom
Rahmankhattak711:ui/footer-redesign
Open

Redesign Footer Component#2
Rahmankhattak711 wants to merge 1 commit intoAOSSIE-Org:mainfrom
Rahmankhattak711:ui/footer-redesign

Conversation

@Rahmankhattak711
Copy link

@Rahmankhattak711 Rahmankhattak711 commented Feb 27, 2026

This PR introduces a full redesign of the Footer component for PictoPy, enhancing its visual appeal, responsiveness, and dark/light mode compatibility.

Changes Implemented

Added a soft radial glow background for subtle depth.

Implemented gradient text for the logo and Discord link with smooth hover effects.

Added large background text (“PictoPy”) as a decorative element.

Improved responsive layout for both mobile and desktop devices.

Updated divider and copyright section for better alignment and aesthetics.

Ensured dark mode support with smooth color transitions.

Benefits

Modern and clean design improves user experience.

Enhances brand identity with gradient logo and background text.

Fully responsive and accessible across devices and themes.

Summary by CodeRabbit

  • New Features
    • Enhanced footer with decorative visual elements including gradient glow effects and large background text
    • Redesigned footer layout with top-row logo and Discord link placement
    • Added divider and copyright information sections with improved visual hierarchy
    • Updated styling tokens for better overall appearance and transitions

@github-actions github-actions bot added no-issue-linked PR is not linked to any issue configuration Configuration file changes frontend Changes to frontend code javascript JavaScript/TypeScript code changes size/M Medium PR (51-200 lines changed) first-time-contributor First PR of an external contributor pending-coderabbit-review labels Feb 27, 2026
@coderabbitai
Copy link

coderabbitai bot commented Feb 27, 2026

Walkthrough

The Footer component was enhanced with decorative visual elements, including large "PictoPy" text, a radial glow effect, background text, restructured top layout with logo and Discord link, a divider, and updated copyright section with refined styling tokens.

Changes

Cohort / File(s) Summary
Footer Component Styling Enhancement
src/Pages/Footer/Footer.tsx
Added decorative "PictoPy" text with glow effect, large background text element, restructured layout with top-row logo and Discord link placement, divider, and copyright line. Updated styling tokens including min-h, border colors, and transition durations while retaining Discord link and team attribution.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Suggested labels

Typescript Lang

Poem

🐰 A footer so dainty, with letters so grand,
PictoPy glows bright 'cross the digital land,
With Discord to link and a glow soft and warm,
The footer's reborn in its most glamorous form!

🚥 Pre-merge checks | ✅ 2
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'Redesign Footer Component' directly and accurately summarizes the main change in the pull request, which is a comprehensive redesign of the Footer component with new visual elements, layout improvements, and styling updates.

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

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Tip

Try Coding Plans. Let us write the prompt for your AI agent so you can ship faster (with fewer bugs).
Share your feedback on Discord.


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

@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: 4

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@src/Pages/Footer/Footer.tsx`:
- Around line 32-33: The Footer component contains hard-coded user-visible
strings ("PictoPy", "Made with love by AOSSIE team", and the copyright line)
that must be externalized for i18n; update Footer.tsx to import and use your
app's i18n helper (for example useTranslation or t) and replace the literal
strings with translation keys (e.g., footer.title, footer.tagline,
footer.copyright) and move the actual text into the locale resource file(s);
ensure you reference the Footer component (Footer or default export) and update
both occurrences of "PictoPy" (the h1 and wherever else), the "Made with love by
AOSSIE team" line, and the copyright line to use the translation function.
- Around line 1-2: The Footer component uses dynamic client-side content (new
Date().getFullYear()) but lacks the Next.js client directive; add the "use
client" directive as the very first line of src/Pages/Footer/Footer.tsx (before
any imports) so the component renders on the client, then leave the existing
imports (e.g., React import and FaDiscord) and component code unchanged.
- Around line 46-54: The Discord anchor in Footer.tsx (the <a> element with href
"https://discord.com/..." and the FaDiscord icon) lacks an accessible label; add
an aria-label on that anchor such as aria-label="AOSSIE team on Discord (opens
in new tab)" to clearly indicate to screen readers that this is a
Discord/external link while keeping target="_blank" and rel attributes intact so
the visual text can remain unchanged.
- Around line 12-33: The large decorative "PictoPy" heading is semantic HTML but
purely visual; replace the <h1> element in the Footer component (the block
rendering "PictoPy") with a non-semantic element (e.g., <div> or <span>), keep
the existing className entirely, and add aria-hidden="true" to that element so
screen readers ignore it; ensure no other heading roles are lost in Footer and
that visible styles remain unchanged.

ℹ️ Review info

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 1496367 and 8e34675.

⛔ Files ignored due to path filters (1)
  • package-lock.json is excluded by !**/package-lock.json
📒 Files selected for processing (1)
  • src/Pages/Footer/Footer.tsx

Comment on lines +1 to +2
import type React from "react";
import { FaDiscord } from "react-icons/fa";
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Missing "use client" directive for NextJS.

This component uses dynamic content (new Date().getFullYear()) which requires client-side rendering. Per NextJS guidelines, add the "use client" directive at the top of the file.

Proposed fix
+"use client";
+
 import type React from "react";
 import { FaDiscord } from "react-icons/fa";
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
import type React from "react";
import { FaDiscord } from "react-icons/fa";
"use client";
import type React from "react";
import { FaDiscord } from "react-icons/fa";
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@src/Pages/Footer/Footer.tsx` around lines 1 - 2, The Footer component uses
dynamic client-side content (new Date().getFullYear()) but lacks the Next.js
client directive; add the "use client" directive as the very first line of
src/Pages/Footer/Footer.tsx (before any imports) so the component renders on the
client, then leave the existing imports (e.g., React import and FaDiscord) and
component code unchanged.

Comment on lines +12 to +33
<h1
className="
absolute
bottom-[-80px]
left-1/2
-translate-x-1/2
text-[260px]
font-extrabold
tracking-tight
bg-gradient-to-t
from-black/10
dark:from-white/10
to-transparent
bg-clip-text
text-transparent
select-none
pointer-events-none
whitespace-nowrap
"
>
PictoPy
</h1>
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Semantic issue: <h1> used for decorative element.

Using an <h1> tag for purely decorative background text is semantically incorrect and can confuse screen readers/accessibility tools. Replace with a non-semantic element and add aria-hidden="true".

Proposed fix
-      <h1
+      <div
+        aria-hidden="true"
         className="
         absolute
         bottom-[-80px]
         ...
       "
       >
         PictoPy
-      </h1>
+      </div>
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
<h1
className="
absolute
bottom-[-80px]
left-1/2
-translate-x-1/2
text-[260px]
font-extrabold
tracking-tight
bg-gradient-to-t
from-black/10
dark:from-white/10
to-transparent
bg-clip-text
text-transparent
select-none
pointer-events-none
whitespace-nowrap
"
>
PictoPy
</h1>
<div
aria-hidden="true"
className="
absolute
bottom-[-80px]
left-1/2
-translate-x-1/2
text-[260px]
font-extrabold
tracking-tight
bg-gradient-to-t
from-black/10
dark:from-white/10
to-transparent
bg-clip-text
text-transparent
select-none
pointer-events-none
whitespace-nowrap
"
>
PictoPy
</div>
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@src/Pages/Footer/Footer.tsx` around lines 12 - 33, The large decorative
"PictoPy" heading is semantic HTML but purely visual; replace the <h1> element
in the Footer component (the block rendering "PictoPy") with a non-semantic
element (e.g., <div> or <span>), keep the existing className entirely, and add
aria-hidden="true" to that element so screen readers ignore it; ensure no other
heading roles are lost in Footer and that visible styles remain unchanged.

Comment on lines +32 to +33
PictoPy
</h1>
Copy link

Choose a reason for hiding this comment

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

🧹 Nitpick | 🔵 Trivial

User-visible strings should be externalized for internationalization (i18n).

Per coding guidelines, user-visible strings should be externalized to resource files. The following hardcoded strings should be moved to an i18n solution:

  • "PictoPy" (lines 32, 42)
  • "Made with love by AOSSIE team" (line 53)
  • "© ... PictoPy. All rights reserved." (line 62)

Also applies to: 42-43, 53-53, 62-62

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@src/Pages/Footer/Footer.tsx` around lines 32 - 33, The Footer component
contains hard-coded user-visible strings ("PictoPy", "Made with love by AOSSIE
team", and the copyright line) that must be externalized for i18n; update
Footer.tsx to import and use your app's i18n helper (for example useTranslation
or t) and replace the literal strings with translation keys (e.g., footer.title,
footer.tagline, footer.copyright) and move the actual text into the locale
resource file(s); ensure you reference the Footer component (Footer or default
export) and update both occurrences of "PictoPy" (the h1 and wherever else), the
"Made with love by AOSSIE team" line, and the copyright line to use the
translation function.

Comment on lines +46 to +54
<a
href="https://discord.com/channels/1022871757289422898/1311271974630330388"
target="_blank"
rel="noopener noreferrer"
className="flex items-center gap-3 text-sm font-medium text-transparent bg-clip-text bg-gradient-to-r from-yellow-400 to-green-400 hover:opacity-80 transition-all duration-300"
>
<FaDiscord className="text-yellow-400 dark:text-green-400 text-lg transition-transform duration-300 hover:scale-110" />
Made with love by AOSSIE team
</a>
Copy link

Choose a reason for hiding this comment

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

🧹 Nitpick | 🔵 Trivial

Improve accessibility for Discord link.

The link text "Made with love by AOSSIE team" doesn't indicate to screen reader users that this is a Discord link. Add an aria-label to provide better context.

Proposed fix
           <a
             href="https://discord.com/channels/1022871757289422898/1311271974630330388"
             target="_blank"
             rel="noopener noreferrer"
+            aria-label="Join our Discord - Made with love by AOSSIE team"
             className="flex items-center gap-3 text-sm font-medium text-transparent bg-clip-text bg-gradient-to-r from-yellow-400 to-green-400 hover:opacity-80 transition-all duration-300"
           >
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
<a
href="https://discord.com/channels/1022871757289422898/1311271974630330388"
target="_blank"
rel="noopener noreferrer"
className="flex items-center gap-3 text-sm font-medium text-transparent bg-clip-text bg-gradient-to-r from-yellow-400 to-green-400 hover:opacity-80 transition-all duration-300"
>
<FaDiscord className="text-yellow-400 dark:text-green-400 text-lg transition-transform duration-300 hover:scale-110" />
Made with love by AOSSIE team
</a>
<a
href="https://discord.com/channels/1022871757289422898/1311271974630330388"
target="_blank"
rel="noopener noreferrer"
aria-label="Join our Discord - Made with love by AOSSIE team"
className="flex items-center gap-3 text-sm font-medium text-transparent bg-clip-text bg-gradient-to-r from-yellow-400 to-green-400 hover:opacity-80 transition-all duration-300"
>
<FaDiscord className="text-yellow-400 dark:text-green-400 text-lg transition-transform duration-300 hover:scale-110" />
Made with love by AOSSIE team
</a>
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@src/Pages/Footer/Footer.tsx` around lines 46 - 54, The Discord anchor in
Footer.tsx (the <a> element with href "https://discord.com/..." and the
FaDiscord icon) lacks an accessible label; add an aria-label on that anchor such
as aria-label="AOSSIE team on Discord (opens in new tab)" to clearly indicate to
screen readers that this is a Discord/external link while keeping
target="_blank" and rel attributes intact so the visual text can remain
unchanged.

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

Labels

configuration Configuration file changes first-time-contributor First PR of an external contributor frontend Changes to frontend code javascript JavaScript/TypeScript code changes no-issue-linked PR is not linked to any issue pending-coderabbit-review size/M Medium PR (51-200 lines changed)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant