Skip to content

Conversation

@0105-sunny
Copy link

@0105-sunny 0105-sunny commented Jan 22, 2026

Fixes #519
@akshitamodi
@AOSSIE-Org/maintainer

Dear mam/sir i have updated the Twitter icon

  • Updated Twitter icon to X on homepage and footer
  • Updated links from twitter.com to x.com
  • Updated aria-labels for accessibility

kindly please review this pr thanks !

Summary by CodeRabbit

  • New Features
    • Redesigned homepage hero with desktop background, logo placement, a "Learn More" CTA, Projects grid with "View All Projects", and a simplified statistics band.
  • Style
    • Refined banner responsive layout and decorative pattern visibility to show only on large screens.
  • Bug Fixes / Polishing
    • Minor whitespace and formatting cleanup.
  • Documentation
    • Added a JSDoc-style description for the Home page noting branding.
  • Updates
    • Replaced Twitter branding with X across links, labels, and icons.

✏️ Tip: You can customize this high-level summary in your review settings.

@vercel
Copy link

vercel bot commented Jan 22, 2026

@0105-sunny is attempting to deploy a commit to the AOSSIE Team on Vercel.

A member of the Team first needs to authorize it.

@coderabbitai
Copy link

coderabbitai bot commented Jan 22, 2026

📝 Walkthrough

Walkthrough

Rebrands Twitter to X across Footer and Home (icon, URL, and accessible label), updates Home hero and project/statistics layout and adds a JSDoc block, adjusts Banner pattern visibility and Tailwind class ordering for large-screen rendering, and normalizes a trailing newline in IdeaLayout. No exported APIs or component signatures changed.

Changes

Cohort / File(s) Summary
Branding & social links
src/components/Footer.jsx, src/pages/index.jsx
Replace FontAwesome faTwitter with faXTwitter; update social URL from twitter.com to x.com; change accessible label from "Follow on Twitter" → "Follow on X"; update displayed icon usage; add a JSDoc header in index.jsx.
Home content & layout
src/pages/index.jsx
Add explicit desktop background container, organization logo element, reorganize hero content, add "Learn More About Us" CTA, replace green-band stats with simplified statistics band, rework Projects section to grid rendering randomProjects via CardEffect and add "View All Projects" CTA; content reflow and structural changes.
Banner layout
src/components/Banner.jsx
Reorder Tailwind classes to relative overflow-hidden; change two Pattern elements from always-visible to hidden lg:block; adjust positioning offsets and add max-w-full; remove prior sm: visibility toggles.
Formatting-only
src/components/IdeaLayout.jsx
Trailing newline normalization only; no functional change.

Sequence Diagram(s)

(Skipped — changes are UI/layout and branding edits without new multi-component control flow.)

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Poem

🐰
I hopped through markup, soft and quick,
Swapped the bird for X with one neat flick.
Patterns now peek on screens wide and bright,
A newline nudged, the layout feels just right,
Hop, code, hop — the site looks spry tonight!

🚥 Pre-merge checks | ✅ 3 | ❌ 2
❌ Failed checks (2 warnings)
Check name Status Explanation Resolution
Out of Scope Changes check ⚠️ Warning Changes to Banner.jsx (layout reordering) and IdeaLayout.jsx (trailing newline) are unrelated to issue #519 requirements. Additionally, src/pages/index.jsx includes extensive layout restructuring beyond the X branding update. Revert out-of-scope changes: remove Banner layout reordering, IdeaLayout newline modification, and hero/statistics/projects section restructuring from this PR. Keep only Twitter-to-X branding updates.
Docstring Coverage ⚠️ Warning Docstring coverage is 40.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
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The PR title accurately reflects the main change: replacing Twitter icon and URL with X icon and URL on homepage and footer, which aligns with the primary objectives.
Linked Issues check ✅ Passed All requirements from issue #519 are met: Twitter icon replaced with X icon, links updated from twitter.com to x.com, and accessibility labels updated across footer and homepage.

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

✨ Finishing touches
  • 📝 Generate docstrings

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: 1

🤖 Fix all issues with AI agents
In `@package.json`:
- Around line 17-21: Update the FontAwesome dependencies in package.json so
versions are consistent: change "@fortawesome/free-regular-svg-icons",
"@fortawesome/free-solid-svg-icons", and "@fortawesome/fontawesome-svg-core" to
the same major version as "@fortawesome/free-brands-svg-icons" (e.g., "^7.1.0"),
and bump "@fortawesome/react-fontawesome" from "^0.2.0" to a current compatible
release (e.g., "^3.1.1"); then run npm/yarn install and verify the app builds
and icons render to ensure no breaking API changes.
🧹 Nitpick comments (1)
src/components/Footer.jsx (1)

48-50: LGTM with minor nit.

Branding updates correctly implemented with proper aria-label, URL, and icon changes.

Minor nit: There's an extra space in <Link aria-label (two spaces instead of one). Consider fixing for consistency with other Link elements in this file.

🧹 Optional formatting fix
-                <Link  aria-label="Follow on X" className=' text-zinc-400 hover:text-[`#00843D`] dark:text-zinc-400 dark:hover:text-yellow-400 transition' href='https://x.com/aossie_org'>
+                <Link aria-label="Follow on X" className=' text-zinc-400 hover:text-[`#00843D`] dark:text-zinc-400 dark:hover:text-yellow-400 transition' href='https://x.com/aossie_org'>

Comment on lines 17 to 21
"@fortawesome/fontawesome-svg-core": "^6.2.1",
"@fortawesome/free-brands-svg-icons": "^6.2.1",
"@fortawesome/free-brands-svg-icons": "^7.1.0",
"@fortawesome/free-regular-svg-icons": "^6.2.1",
"@fortawesome/free-solid-svg-icons": "^6.2.1",
"@fortawesome/react-fontawesome": "^0.2.0",
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash

echo "=== Checking `@fortawesome/free-brands-svg-icons` 7.1.0 ==="
curl -s https://registry.npmjs.org/@fortawesome/free-brands-svg-icons/7.1.0 2>/dev/null | jq '{version: .version, peerDependencies: .peerDependencies}' || echo "Failed to fetch version info"

echo ""
echo "=== Checking `@fortawesome/fontawesome-svg-core` versions ==="
curl -s https://registry.npmjs.org/@fortawesome/fontawesome-svg-core 2>/dev/null | jq '.versions | keys[-5:]' || echo "Failed to fetch versions"

echo ""
echo "=== Latest versions in NPM registry ==="
echo "free-brands-svg-icons latest:"
curl -s https://registry.npmjs.org/@fortawesome/free-brands-svg-icons/latest 2>/dev/null | jq '.version' || echo "Failed"

echo "fontawesome-svg-core latest:"
curl -s https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/latest 2>/dev/null | jq '.version' || echo "Failed"

echo "free-regular-svg-icons latest:"
curl -s https://registry.npmjs.org/@fortawesome/free-regular-svg-icons/latest 2>/dev/null | jq '.version' || echo "Failed"

echo "free-solid-svg-icons latest:"
curl -s https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/latest 2>/dev/null | jq '.version' || echo "Failed"

echo "react-fontawesome latest:"
curl -s https://registry.npmjs.org/@fortawesome/react-fontawesome/latest 2>/dev/null | jq '.version' || echo "Failed"

Repository: AOSSIE-Org/website

Length of output: 517


Align FontAwesome icon package versions.

The @fortawesome/free-brands-svg-icons is at ^7.1.0 while other icon packages (@fortawesome/free-regular-svg-icons, @fortawesome/free-solid-svg-icons) remain at ^6.2.1. This inconsistency across icon packages should be resolved by upgrading all icon packages to the same version (e.g., ^7.1.0), or documenting why free-brands-svg-icons requires a newer major version.

Additionally, @fortawesome/react-fontawesome at ^0.2.0 is significantly outdated (latest is 3.1.1); consider updating it as well to ensure compatibility with the FontAwesome icon packages.

🤖 Prompt for AI Agents
In `@package.json` around lines 17 - 21, Update the FontAwesome dependencies in
package.json so versions are consistent: change
"@fortawesome/free-regular-svg-icons", "@fortawesome/free-solid-svg-icons", and
"@fortawesome/fontawesome-svg-core" to the same major version as
"@fortawesome/free-brands-svg-icons" (e.g., "^7.1.0"), and bump
"@fortawesome/react-fontawesome" from "^0.2.0" to a current compatible release
(e.g., "^3.1.1"); then run npm/yarn install and verify the app builds and icons
render to ensure no breaking API changes.

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: 1

🤖 Fix all issues with AI agents
In `@src/pages/index.jsx`:
- Around line 79-83: The effect is mutating the imported projects array by
calling sort() directly; update the useEffect that calls setRandomProjects so it
first creates a shallow copy of projects (e.g., via spread or slice) and then
sorts that copy before slicing to pick 3 items—modify the code around useEffect,
setRandomProjects, and projects to sort a copy instead of mutating the original.

Comment on lines 79 to 83
useEffect(() => {
setRandomProjects(projects.sort(() => 0.5 - Math.random()).slice(0, 3))
setRandomProjects(
projects.sort(() => 0.5 - Math.random()).slice(0, 3)
)
}, [])
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

Avoid mutating the imported projects array.

Array.prototype.sort() mutates the original array in-place. Since projects is imported from a shared module, this mutation persists across renders and could cause unexpected behavior if the array is used elsewhere in the application.

🛠️ Proposed fix
  useEffect(() => {
    setRandomProjects(
-      projects.sort(() => 0.5 - Math.random()).slice(0, 3)
+      [...projects].sort(() => 0.5 - Math.random()).slice(0, 3)
    )
  }, [])
📝 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
useEffect(() => {
setRandomProjects(projects.sort(() => 0.5 - Math.random()).slice(0, 3))
setRandomProjects(
projects.sort(() => 0.5 - Math.random()).slice(0, 3)
)
}, [])
useEffect(() => {
setRandomProjects(
[...projects].sort(() => 0.5 - Math.random()).slice(0, 3)
)
}, [])
🤖 Prompt for AI Agents
In `@src/pages/index.jsx` around lines 79 - 83, The effect is mutating the
imported projects array by calling sort() directly; update the useEffect that
calls setRandomProjects so it first creates a shallow copy of projects (e.g.,
via spread or slice) and then sorts that copy before slicing to pick 3
items—modify the code around useEffect, setRandomProjects, and projects to sort
a copy instead of mutating the original.

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.

Update Twitter logo to 'X' in the website

2 participants