fix: resolve 3 console errors (RenderFlex overflow, gamification 404s, CORS)

- Wrap Top Events skeleton Row in SingleChildScrollView to fix 225px
  RenderFlex overflow when 3x 200px skeletons exceed container width
- Fix gamification service using POST for GET endpoints: dashboard,
  leaderboard, and shop/items all use router.get() on the Node.js server
- CORS: add http://localhost:8080 to CORS_ALLOWED_ORIGINS (applied live
  to eventify-django container + local settings.py)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-04 18:56:40 +05:30
parent 6c2efbccc6
commit 195509abb6
2 changed files with 8 additions and 5 deletions

View File

@@ -24,7 +24,7 @@ class GamificationService {
Future<DashboardResponse> getDashboard() async {
final email = await _getUserEmail();
final url = '${ApiEndpoints.gamificationDashboard}?user_id=$email';
final res = await _api.post(url, requiresAuth: false);
final res = await _api.get(url, requiresAuth: false);
final profileJson = res['profile'] as Map<String, dynamic>? ?? {};
final rawSubs = res['submissions'] as List? ?? [];
@@ -51,7 +51,7 @@ class GamificationService {
// ---------------------------------------------------------------------------
Future<DashboardResponse> getDashboardForUser(String userId) async {
final url = '${ApiEndpoints.gamificationDashboard}?user_id=$userId';
final res = await _api.post(url, requiresAuth: false);
final res = await _api.get(url, requiresAuth: false);
final profileJson = res['profile'] as Map<String, dynamic>? ?? {};
final rawSubs = res['submissions'] as List? ?? [];
@@ -102,7 +102,7 @@ class GamificationService {
final query = Uri(queryParameters: params).query;
final url = '${ApiEndpoints.leaderboard}?$query';
final res = await _api.post(url, requiresAuth: false);
final res = await _api.get(url, requiresAuth: false);
final rawList = res['leaderboard'] as List? ?? [];
final entries = rawList
@@ -128,7 +128,7 @@ class GamificationService {
// GET /v1/shop/items
// ---------------------------------------------------------------------------
Future<List<ShopItem>> getShopItems() async {
final res = await _api.post(ApiEndpoints.shopItems, requiresAuth: false);
final res = await _api.get(ApiEndpoints.shopItems, requiresAuth: false);
final rawItems = res['items'] as List? ?? [];
return rawItems
.map((e) => ShopItem.fromJson(Map<String, dynamic>.from(e as Map)))