fix pov user y profesional

This commit is contained in:
Felipe
2024-04-18 10:23:43 -05:00
parent 2facd1b1d8
commit 142c09d389
8 changed files with 619 additions and 173 deletions
+30 -29
View File
@@ -228,36 +228,37 @@ class GeneralDrawer extends StatelessWidget {
: reputation.average;
return ListTile(
onTap: () {},
trailing: const Icon(Icons.keyboard_arrow_right,
color: Colors.black),
title: const Text(
'Reputación',
style: TextStyle(color: Colors.black),
),
subtitle: Row(
children: [
RatingBar.builder(
initialRating: calculoRating(average),
minRating: 1,
direction: Axis.horizontal,
allowHalfRating: true,
itemCount: 5,
itemSize: 25,
maxRating: 5,
itemBuilder: (context, _) => const Icon(
Icons.star,
color: Color(0xFF2BA4EC),
),
onRatingUpdate: (rating) {},
ignoreGestures: true,
onTap: () {},
trailing: const Icon(Icons.keyboard_arrow_right,
color: Colors.black),
title: const Text(
'Reputación',
style: TextStyle(color: Colors.black),
),
subtitle: Row(
children: [
RatingBar.builder(
initialRating: calculoRating(average),
minRating: 1,
direction: Axis.horizontal,
allowHalfRating: true,
itemCount: 5,
itemSize: 25,
maxRating: 5,
itemBuilder: (context, _) => const Icon(
Icons.star,
color: Color(0xFF2BA4EC),
),
const SizedBox(width: 5),
Text(
'${average.toStringAsFixed(1)} (${total.toString()})',
),
],
));
onRatingUpdate: (rating) {},
ignoreGestures: true,
),
const SizedBox(width: 5),
Text(
'${average.toStringAsFixed(1)} (${total.toString()})',
),
],
),
);
}),
Padding(
padding: const EdgeInsets.only(top: 10),
+18 -4
View File
@@ -2,7 +2,7 @@ import 'package:flutter/material.dart';
import 'package:injector/injector.dart';
import 'package:score_repository/score_repository.dart';
class GeneralReputation extends StatelessWidget {
class GeneralReputation extends StatefulWidget {
final String userId;
final Widget Function(BuildContext, ReputationEntity) builder;
@@ -13,10 +13,24 @@ class GeneralReputation extends StatelessWidget {
});
@override
Widget build(BuildContext context) {
State<GeneralReputation> createState() => _GeneralReputationState();
}
class _GeneralReputationState extends State<GeneralReputation> {
late Future<ReputationEntity> reputation;
@override
void initState() {
super.initState();
final repository = Injector.appInstance.get<FirebaseScoreRepository>();
reputation = repository.getReputationByUserId(widget.userId);
}
@override
Widget build(BuildContext context) {
return FutureBuilder(
future: repository.getReputationByUserId(userId),
future: reputation,
builder: (context, snapshot) {
if (snapshot.connectionState == ConnectionState.waiting) {
return const Center(child: CircularProgressIndicator());
@@ -24,7 +38,7 @@ class GeneralReputation extends StatelessWidget {
return Text('Error: ${snapshot.error}');
} else {
final reputation = snapshot.data!;
return builder(context, reputation);
return widget.builder(context, reputation);
}
});
}