Files
prosappco/lib/components/general_reputation.dart
T
Lizandro GuarnizoandClaude Sonnet 4.6 733384091c feat: migrate prosappco from Firebase to NestJS REST API (Fase 2)
- Replace all Firebase* repositories with Api* repositories using HTTP + SharedPreferences JWT
- Remove Firebase.initializeApp() and firebase_messaging background handler from main.dart
- Update DI (app_di.dart) to inject Api* repositories instead of Firebase* ones
- Replace all Timestamp/cloud_firestore usage with ISO 8601 String dates
- Stub PhoneVerificationService (Firebase phone OTP → backend OTP when implemented)
- Add ApiService singleton with JWT management in lib/services/
- Legacy firebase_*_repository.dart files preserved for Fase 4 cleanup

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-17 16:53:11 -05:00

46 lines
1.3 KiB
Dart

import 'package:flutter/material.dart';
import 'package:injector/injector.dart';
import 'package:score_repository/score_repository.dart';
class GeneralReputation extends StatefulWidget {
final String userId;
final Widget Function(BuildContext, ReputationEntity) builder;
const GeneralReputation({
super.key,
required this.userId,
required this.builder,
});
@override
State<GeneralReputation> createState() => _GeneralReputationState();
}
class _GeneralReputationState extends State<GeneralReputation> {
late Future<ReputationEntity> reputation;
@override
void initState() {
super.initState();
final repository = Injector.appInstance.get<ApiScoreRepository>();
reputation = repository.getReputationByUserId(widget.userId);
}
@override
Widget build(BuildContext context) {
return FutureBuilder(
future: reputation,
builder: (context, snapshot) {
if (snapshot.connectionState == ConnectionState.waiting) {
return const Center(child: CircularProgressIndicator());
} else if (snapshot.hasError) {
return Text('Error: ${snapshot.error}');
} else {
final reputation = snapshot.data!;
return widget.builder(context, reputation);
}
});
}
}