puntaje pro y cliente

This commit is contained in:
Juan Felipe Duarte
2023-04-26 17:26:31 -05:00
parent c1747a45b9
commit ad40b16933
7 changed files with 41 additions and 101 deletions
+10 -7
View File
@@ -5,6 +5,7 @@ import 'package:flutter/material.dart';
import 'package:flutter_rating_bar/flutter_rating_bar.dart';
import 'package:prosappco/src/authentication/authentication_repository.dart';
import 'package:prosappco/src/components/photo_view.dart';
import 'package:prosappco/src/models/score_model2.dart';
import 'package:prosappco/src/models/user_model.dart';
import 'package:prosappco/src/screens/profile.dart';
import 'package:prosappco/src/screens/prueba.dart';
@@ -17,6 +18,7 @@ class DrawerMenu extends StatefulWidget {
class _DrawerMenuState extends State<DrawerMenu> {
final uid = AuthenticationRepository.instance.getCurrentUserUid();
UserModel? user;
ScoresModel? scoresModel;
@override
void initState() {
@@ -27,6 +29,12 @@ class _DrawerMenuState extends State<DrawerMenu> {
(UserModel s) => setState(() => user = s),
);
}
if (scoresModel == null) {
ScoresModel.scoreFrom(uid.toString(), false).then(
(ScoresModel s) => setState(() => scoresModel = s),
);
}
}
@override
@@ -50,11 +58,6 @@ class _DrawerMenuState extends State<DrawerMenu> {
},
),
);
// if (ModalRoute.of(context)?.settings.name != '/profile') {
// Navigator.pushNamed(context, '/profile');
// } else {
// Scaffold.of(context).openEndDrawer();
// }
},
title: Text(user?.name ?? '',
style: const TextStyle(fontWeight: FontWeight.bold)),
@@ -219,7 +222,7 @@ class _DrawerMenuState extends State<DrawerMenu> {
subtitle: Row(
children: [
RatingBar.builder(
initialRating: user?.score?.average ?? 0,
initialRating: scoresModel?.average ?? 0,
minRating: 1,
direction: Axis.horizontal,
allowHalfRating: true,
@@ -237,7 +240,7 @@ class _DrawerMenuState extends State<DrawerMenu> {
),
const SizedBox(width: 5),
Text(
'(${user?.score?.total.toString()}) ${user?.score?.average.toString()}'),
'(${scoresModel?.total.toString()}) ${scoresModel?.average.toString()}'),
],
),
),
+11 -6
View File
@@ -1,20 +1,18 @@
import 'package:cloud_firestore/cloud_firestore.dart';
import 'package:firebase_auth/firebase_auth.dart';
import 'package:firebase_storage/firebase_storage.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter_rating_bar/flutter_rating_bar.dart';
import 'package:prosappco/src/authentication/authentication_repository.dart';
import 'package:prosappco/src/components/photo_view.dart';
import 'package:prosappco/src/models/score_model.dart';
import 'package:prosappco/src/models/user_model.dart';
import 'package:prosappco/src/screens/calendar.dart';
import 'package:prosappco/src/screens/professional.dart';
import 'package:prosappco/src/screens/professional_profile.dart';
import 'package:prosappco/src/screens/profile.dart';
import 'package:prosappco/src/screens/profile_pro.dart';
import 'package:prosappco/src/screens/reputation.dart';
import '../models/score_model2.dart';
class DrawerProfessional extends StatefulWidget {
@override
State<DrawerProfessional> createState() => _DrawerProfessionalState();
@@ -23,6 +21,7 @@ class DrawerProfessional extends StatefulWidget {
class _DrawerProfessionalState extends State<DrawerProfessional> {
final uid = AuthenticationRepository.instance.getCurrentUserUid();
UserModel? user;
ScoresModel? scoresModel;
@override
void initState() {
@@ -33,6 +32,12 @@ class _DrawerProfessionalState extends State<DrawerProfessional> {
(UserModel s) => setState(() => user = s),
);
}
if (scoresModel == null) {
ScoresModel.scoreTo(uid.toString(), false).then(
(ScoresModel s) => setState(() => scoresModel = s),
);
}
}
@override
@@ -249,7 +254,7 @@ class _DrawerProfessionalState extends State<DrawerProfessional> {
subtitle: Row(
children: [
RatingBar.builder(
initialRating: user?.score?.average ?? 0,
initialRating: scoresModel?.average ?? 0,
minRating: 1,
direction: Axis.horizontal,
allowHalfRating: true,
@@ -267,7 +272,7 @@ class _DrawerProfessionalState extends State<DrawerProfessional> {
),
const SizedBox(width: 5),
Text(
'(${user?.score?.total.toString()}) ${user?.score?.average.toString()}'),
'(${scoresModel?.total.toString()}) ${scoresModel?.average.toString()}'),
],
),
),