feat: add missing AOSSIE, StabilityNexus, and DjedAlliance projects#641
feat: add missing AOSSIE, StabilityNexus, and DjedAlliance projects#641Muneerali199 wants to merge 7 commits intoAOSSIE-Org:mainfrom
Conversation
📝 WalkthroughWalkthroughThe projects dataset in Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
📝 Coding Plan for PR comments
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. Comment |
|
sir @Zahnentferner ,please review it when you are free |
projects-screenshot.png
Outdated
screenshot.js
Outdated
| @@ -0,0 +1,31 @@ | |||
| const puppeteer = require('puppeteer') | |||
There was a problem hiding this comment.
This file seems unnecessary. If so, remove it.
Co-authored-by: Muneerali199 <186174121+Muneerali199@users.noreply.github.com>
…-file Remove stray screenshot PNG from repository root
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (1)
src/app/projects/page.jsx (1)
113-126: Wire the action icons to the project-specific URLs.This component now ignores the
githubLink/discordLinkdata already present on each project and sends every Discord click to the same invite. IfCardsis used again, the actions will not match the selected project.Proposed fix
<Link - href={project.link.href} + href={project.githubLink ?? project.link.href} aria-label="GitHub" className="text-zinc-500 transition hover:text-black dark:text-zinc-400 dark:hover:text-white" > <FontAwesomeIcon icon={faGithub} className="h-6 w-6" /> </Link> - <Link - href="https://discord.gg/hjUhu33uAn" - aria-label="Discord" - className="text-zinc-500 transition hover:text-[`#5865F2`] dark:text-zinc-400 dark:hover:text-[`#5865F2`]" - > - <FontAwesomeIcon icon={faDiscord} className="h-6 w-6" /> - </Link> + {project.discordLink && ( + <Link + href={project.discordLink} + aria-label="Discord" + className="text-zinc-500 transition hover:text-[`#5865F2`] dark:text-zinc-400 dark:hover:text-[`#5865F2`]" + > + <FontAwesomeIcon icon={faDiscord} className="h-6 w-6" /> + </Link> + )}🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@src/app/projects/page.jsx` around lines 113 - 126, The action icons are wired to static URLs instead of the per-project links; update the Link elements in the Cards rendering so they use each project's githubLink and discordLink props rather than the hard-coded Discord invite (and ensure the GitHub Link uses project.githubLink consistently instead of project.link.href if that's the project field). Locate the Link elements rendering the FontAwesomeIcon (the GitHub and Discord anchors) and replace the href values with the project-specific fields (project.githubLink and project.discordLink), keep the aria-labels and classNames as-is, and guard against missing values (optional: only render the Link if the corresponding project.githubLink or project.discordLink exists).
🤖 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/app/projects/page.jsx`:
- Around line 184-188: The list uses product.slug as the React key but some
entries lack slugs, producing duplicate/undefined keys; update the map rendering
of CardProduct to use a guaranteed unique identifier (prefer a stable unique
field like product.id or product._id), and if that field may be missing add a
deterministic fallback (e.g. derived from product.name combined with an index)
so the key for each CardProduct in the products.map callback is always unique
and stable.
---
Nitpick comments:
In `@src/app/projects/page.jsx`:
- Around line 113-126: The action icons are wired to static URLs instead of the
per-project links; update the Link elements in the Cards rendering so they use
each project's githubLink and discordLink props rather than the hard-coded
Discord invite (and ensure the GitHub Link uses project.githubLink consistently
instead of project.link.href if that's the project field). Locate the Link
elements rendering the FontAwesomeIcon (the GitHub and Discord anchors) and
replace the href values with the project-specific fields (project.githubLink and
project.discordLink), keep the aria-labels and classNames as-is, and guard
against missing values (optional: only render the Link if the corresponding
project.githubLink or project.discordLink exists).
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: 046e87ca-09ac-45aa-981d-9971b5616300
⛔ Files ignored due to path filters (1)
projects-screenshot.pngis excluded by!**/*.png
📒 Files selected for processing (1)
src/app/projects/page.jsx
| {projects | ||
| .slice() | ||
| .sort((a, b) => a.name.localeCompare(b.name)) | ||
| .map((product) => ( | ||
| <CardProduct key={product.slug} product={product} /> |
There was a problem hiding this comment.
Use a guaranteed unique key for CardProduct.
src/helper/projects.js still contains entries without a slug, so key={product.slug} will produce repeated undefined keys for part of this list. That can cause React to reuse the wrong card instance during reconciliation.
Proposed fix
- .map((product) => (
- <CardProduct key={product.slug} product={product} />
+ .map((product) => (
+ <CardProduct
+ key={product.slug ?? product.name}
+ product={product}
+ />
))}📝 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.
| {projects | |
| .slice() | |
| .sort((a, b) => a.name.localeCompare(b.name)) | |
| .map((product) => ( | |
| <CardProduct key={product.slug} product={product} /> | |
| {projects | |
| .slice() | |
| .sort((a, b) => a.name.localeCompare(b.name)) | |
| .map((product) => ( | |
| <CardProduct | |
| key={product.slug ?? product.name} | |
| product={product} | |
| /> | |
| ))} |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@src/app/projects/page.jsx` around lines 184 - 188, The list uses product.slug
as the React key but some entries lack slugs, producing duplicate/undefined
keys; update the map rendering of CardProduct to use a guaranteed unique
identifier (prefer a stable unique field like product.id or product._id), and if
that field may be missing add a deterministic fallback (e.g. derived from
product.name combined with an index) so the key for each CardProduct in the
products.map callback is always unique and stable.
|
Done sir @Zahnentferner I removed both file |
Closes #638
Summary
The projects page at https://aossie.org/projects was missing many projects from the three AOSSIE-related GitHub organizations. This PR adds all missing projects to
src/helper/projects.jsand includes logos where available.Screenshot
Changes
New logos added to
src/images/StabilityNexus.png— downloaded from GitHub org avatarDjedAlliance.png— downloaded from GitHub org avatarCarbon.pngandscholar.png(already in the repo but unused) are now imported and applied to their matching projectsNew projects added to
src/helper/projects.jsAOSSIE-Org (10 projects):
StabilityNexus (19 projects):
DjedAlliance (6 projects):
How missing projects were identified
All repositories were fetched from the GitHub API for each of the three organizations. Non-fork, non-archived repositories were then compared against the existing entries in
projects.js. Only genuinely missing projects were added.Summary by CodeRabbit
Release Notes
New Features
Style