Skip to content

feat(frontend): multi-language support (i18n) & real-time funding progress bar#477

Merged
gabito1451 merged 5 commits into
GalactiGuild:mainfrom
teethaking:main
Apr 28, 2026
Merged

feat(frontend): multi-language support (i18n) & real-time funding progress bar#477
gabito1451 merged 5 commits into
GalactiGuild:mainfrom
teethaking:main

Conversation

@teethaking
Copy link
Copy Markdown
Contributor


Summary

This PR addresses two frontend improvements for NovaFund's global audience and engagement experience — full i18n support for English, Spanish, and French, and a live-updating funding progress bar powered by WebSockets and framer-motion.

Closes #307, Closes #302


#307 — Multi-Language Support (i18n)

What changed

  • Set up react-i18next and configured the provider in frontend/src/app/layout.tsx
  • Extracted all hardcoded English strings from the landing page and dashboard into locale files under public/locales/:
    public/locales/en/translation.json
    public/locales/es/translation.json
    public/locales/fr/translation.json
    
  • Replaced all hardcoded strings across landing and dashboard views with t() calls — 100% string coverage
  • Added a language selector component in the footer allowing users to switch between English, Spanish, and French; selection is persisted to localStorage

How to verify

  • Open the app and use the footer language selector to switch to Spanish or French
  • Assert all visible text on the landing page and dashboard updates without a page reload
  • Assert the selected language persists across page refreshes

#302 — Real-time Funding Progress Bar

What changed

  • Integrated a WebSocket connection to the backend investment event stream inside frontend/src/components/ProjectCard.tsx
  • Progress bar width now updates instantly whenever a new investment event is received over the socket — no page reload required
  • Animated the progress bar transition using framer-motion for a smooth interpolation between old and new percentages
  • WebSocket connection cleans up on component unmount to prevent memory leaks

How to verify

  • Open a project card and trigger an investment event from the backend
  • Assert the progress bar advances in real-time without a reload
  • Assert the animation transitions smoothly between the previous and updated percentage values
  • Assert no WebSocket connection warnings appear in the console after navigating away from the page

Checklist

  • react-i18next configured in layout.tsx
  • 100% string coverage on landing and dashboard
  • All three locale files populated (en, es, fr)
  • Language selector visible in footer, persists on reload
  • WebSocket connection established and cleaned up correctly
  • Progress bar animates smoothly via framer-motion
  • No hardcoded English strings remaining in covered pages
  • Closes Add Multi-Language Support (i18n) #307, Closes Implement Real-time Funding Progress Bar #302

teethaking and others added 2 commits April 25, 2026 11:48
Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
@drips-wave
Copy link
Copy Markdown

drips-wave Bot commented Apr 25, 2026

@teethaking Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

@teethaking
Copy link
Copy Markdown
Contributor Author

awaiting merge

teethaking and others added 2 commits April 27, 2026 21:10
…er. (#3)

Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
@gabito1451 gabito1451 merged commit 45dfe72 into GalactiGuild:main Apr 28, 2026
1 check passed
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.

Add Multi-Language Support (i18n) Implement Real-time Funding Progress Bar

2 participants