Commit graph

6 commits

Author SHA1 Message Date
cf69ed0477 Merge main into migrate-about-pages and resolve conflicts 2025-09-03 17:19:47 -07:00
3d67622353
Fix i18n migration to next-intl (#430)
## Summary
- Fixed translation key format compatibility with next-intl
- Fixed pluralization format from i18next to next-intl format
- Fixed dynamic translation key error handling
- Updated server components to match API response structure
- Fixed useSearchParams import location

## Changes
- Changed pluralization from `{{count}} items` to `{count} items` format
- Added proper error handling for missing translation keys
- Fixed import paths for next-intl hooks
- Fixed PartyPageClient trying to set non-existent appState.parties

## Test plan
- [x] Verified translations render correctly
- [x] Tested pluralization works with different counts
- [x] Confirmed no console errors about missing translations
- [x] Tested party page functionality

🤖 Generated with [Claude Code](https://claude.ai/code)

---------

Co-authored-by: Claude <noreply@anthropic.com>
2025-09-03 16:25:59 -07:00
72c734153d Fix profile page to correctly load and display user teams
- Add getUserProfile function to fetch user data with teams from /users/{username} endpoint
- Update profile page to use the correct API response structure (profile.parties)
- Fix UserInfo component to receive user object instead of individual props
- Update ProfilePageClient to fetch additional pages from the correct endpoint
- Fix pagination metadata extraction from the API response

The profile page now correctly displays user teams with working infinite scroll pagination.
2025-09-03 16:00:17 -07:00
59bd37e806 fix: update server components to match API response structure
- Change teamsData.parties to teamsData.results (API returns "results" not "parties")
- Change teamsData.pagination to teamsData.meta (API returns "meta" not "pagination")
- Map meta.count to record_count for pagination
- Use page parameter for current_page instead of expecting it from API
- Fix raidGroups to use direct array instead of .raid_groups property

Aligns frontend expectations with actual backend API response format

🤖 Generated with Claude Code
https://claude.ai/code

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-02 20:41:45 -07:00
8ea7c95446 fix: import useSearchParams from next/navigation instead of next-intl
- Remove useSearchParams from next-intl's createNavigation exports
- Import useSearchParams directly from next/navigation in client components
- Fixes "useSearchParams is not a function" error
- Affected components: TeamsPageClient, ProfilePageClient, SavedPageClient, PartyHeader

next-intl's createNavigation doesn't export useSearchParams, it must be
imported from Next.js directly

🤖 Generated with Claude Code
https://claude.ai/code

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-02 20:41:21 -07:00
727549db6b refactor: migrate App Router pages to locale segments
- Move all App Router pages under [locale] dynamic segment
- Update layout to handle locale params and server-side version fetch
- Remove duplicate pages from root app directory
- Add generateStaticParams for static generation of locale routes
- Update Header component for locale-aware navigation
- Update about page to use next-intl hooks

🤖 Generated with Claude Code
https://claude.ai/code

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-02 20:19:47 -07:00