feat: add community volunteer section and polish team layouts#160
feat: add community volunteer section and polish team layouts#160Sappymukherjee214 wants to merge 2 commits intoreactplay:mainfrom
Conversation
- Created reusable VolunteerCard and VolunteerSection components. - Integrated Volunteer section on the landing page after Core Team. - Added i18n support for volunteers in English, Hindi, Bengali, and Spanish. - Upgraded Core Team section with entry animations. - Resolved hydration mismatches in LanguageSwitcher. - Updated image configs to support GitHub avatars. - Synchronized test suite and test-utils for the new layout. - Added image type declarations for TypeScript.
✅ Deploy Preview for reactkolkata ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
|
@priyankarpal I have added the Community Volunteers Section just after Core Teams Section along with the Screenshot. Please label the PR for the issue #157 |
|
@priyankarpal I have starred your repo also
|
There was a problem hiding this comment.
Pull request overview
This PR adds a new “Community Volunteers” section to the React Kolkata landing page and refactors team/section layout to improve presentation, animations, and i18n support, alongside related config and test updates.
Changes:
- Added new VolunteerSection/VolunteerCard components and integrated them into the home page flow (after Core Team).
- Updated Core Team styling and introduced shared AnimatedSection animations (now backed by
framer-motion). - Extended i18n content, adjusted events tests/messages, and updated image/testing configuration.
Reviewed changes
Copilot reviewed 18 out of 20 changed files in this pull request and generated 12 comments.
Show a summary per file
| File | Description |
|---|---|
| vitest.config.mts | Excludes root e2e tests from Vitest runs. |
| src/types/images.d.ts | Adds TS module declarations for common image extensions. |
| src/test-utils.tsx | Updates mock i18n messages to match new events/home copy. |
| src/modules/home/index.tsx | Reorders/extends landing sections to include Core Team + Volunteers. |
| src/modules/home/(sections)/volunteers/volunteer-card.tsx | Introduces volunteer card UI with avatars + social links. |
| src/modules/home/(sections)/volunteers/index.tsx | Introduces volunteer section UI + CTA and renders JSON-driven list. |
| src/modules/home/(sections)/event/tests/*.test.tsx | Updates tests to match new events layout/copy/link targets. |
| src/modules/home/(sections)/blogs/index.tsx | Removes Core Team rendering from blog section. |
| src/modules/home/(sections)/about/core-team/index.tsx | Refactors Core Team layout and wraps in AnimatedSection. |
| src/config/i18n/content/{en,hi,bn,es}.json | Adds Home.Volunteers translations. |
| src/config/data/volunteers.json | Adds initial volunteer dataset. |
| src/components/custom/language-switcher/index.tsx | Adds mount gating to avoid hydration mismatch. |
| src/components/custom/animated-section/index.tsx | Switches animation import to framer-motion and supports id. |
| next.config.ts | Updates remote image patterns (adds github.com). |
| package.json | Adds @motionone/dom and bumps motion. |
| pnpm-lock.yaml | Lockfile updates for dependency changes. |
Files not reviewed (1)
- pnpm-lock.yaml: Language not supported
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
will review pr soon. Are you Apertre contributor? |
yes |
There was a problem hiding this comment.
I will send all internal volunteer details here
| }, | ||
| "Home": { | ||
| "Volunteers": { | ||
| "title": "কমিউনিটি ভলান্টিয়ার্স", |
There was a problem hiding this comment.
change ভলান্টিয়ার্স to চ্যাম্পিয়ন
| }, | ||
| "Home": { | ||
| "Volunteers": { | ||
| "title": "Community Volunteers", |
There was a problem hiding this comment.
change to Community Champion
| }, | ||
| "Home": { | ||
| "Volunteers": { | ||
| "title": "Voluntarios de la Comunidad", |
| }, | ||
| "Home": { | ||
| "Volunteers": { | ||
| "title": "कम्युनिटी वॉलंटियर्स", |
| {volunteer.socials.twitter && ( | ||
| <Link | ||
| href={volunteer.socials.twitter} | ||
| target="_blank" | ||
| rel="noopener noreferrer" | ||
| className="rounded-lg bg-white/5 p-2 text-slate-400 transition-colors hover:bg-white/10 hover:text-slate-100" | ||
| aria-label="Twitter Profile" | ||
| > | ||
| <Twitter className="h-4 w-4" /> | ||
| </Link> | ||
| )} | ||
| {volunteer.socials.website && ( | ||
| <Link | ||
| href={volunteer.socials.website} | ||
| target="_blank" | ||
| rel="noopener noreferrer" | ||
| className="rounded-lg bg-white/5 p-2 text-slate-400 transition-colors hover:bg-white/10 hover:text-slate-100" | ||
| aria-label="Personal Website" | ||
| > | ||
| <Globe className="h-4 w-4" /> | ||
| </Link> | ||
| )} |
| {/* Optional: Join as Volunteer CTA */} | ||
| <div className="mt-20 rounded-2xl border border-white/5 bg-white/5 p-8 text-center backdrop-blur-sm"> | ||
| <h3 className="mb-4 text-xl font-semibold text-slate-100">{t("join_title")}</h3> | ||
| <p className="mx-auto mb-6 max-w-2xl text-slate-400">{t("join_description")}</p> | ||
| <a | ||
| href="https://bit.ly/react-kolkata-volunteer" | ||
| target="_blank" | ||
| rel="noopener noreferrer" | ||
| className="inline-flex items-center gap-2 rounded-full bg-gradient-to-r from-sky-600 to-blue-600 px-8 py-3 text-sm font-semibold text-white shadow-lg shadow-sky-500/25 transition-all hover:scale-105 hover:shadow-sky-500/40 active:scale-95" | ||
| > | ||
| {t("join_button")} | ||
| </a> | ||
| </div> |
There was a problem hiding this comment.
blog section > core team > community champion
the order should be like this
| upcoming_events: "Upcoming Events", | ||
| past_events: "Past Events", | ||
| call_for_speakers: "Call for Speakers", | ||
| call_for_volunteers: "Call for Volunteers", |
There was a problem hiding this comment.
it should be call_for_champion
| Home: { | ||
| Volunteers: { | ||
| title: "Community Volunteers", | ||
| description: "Meet the dedicated individuals who volunteer their time.", | ||
| join_title: "Want to contribute?", | ||
| join_description: "We are always looking for passionate people.", | ||
| join_button: "Join as a Volunteer", | ||
| }, |
|
hi @Sappymukherjee214 add these details in community champion list |

Summary
This PR introduces a new Volunteer section to recognize community contributors and improve the overall structure and engagement of the React Kolkata landing page. It also includes UI improvements, i18n enhancements, test updates, and configuration fixes to ensure smooth integration.
Changes
VolunteerCardandVolunteerSectioncomponents.LanguageSwitcher.Testing
Related Issue
Closes #157
Screenshot
Added Community Volunteers Section just after Core Teams Section
Notes
Please review UI alignment and translations for accuracy before merging.