antes de notificaciones

This commit is contained in:
Juan Felipe Duarte
2023-05-11 09:35:12 -05:00
parent 40ee4f2ab2
commit d5702207d2
14 changed files with 438 additions and 164 deletions
+42 -26
View File
@@ -3,13 +3,13 @@ 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:get/get.dart';
import 'package:intl/intl.dart';
import 'package:prosappco/src/authentication/authentication_repository.dart';
import 'package:prosappco/src/components/photo_view.dart';
import 'package:prosappco/src/components/pop_appbar.dart';
import 'package:prosappco/src/models/event_model.dart';
import 'package:prosappco/src/models/scores_model.dart';
import 'package:prosappco/src/models/setting_model.dart';
import 'package:prosappco/src/models/user_model.dart';
import 'package:prosappco/src/screens/chat.dart';
import 'package:prosappco/src/screens/score.dart';
@@ -29,11 +29,11 @@ class _CitaScreenState extends State<CitaScreen> {
UserModel? user;
DateTime today = DateTime.now();
String nombre = '';
String numberPhone = '';
int tarifa = 0;
Reference? ref_photo;
ScoresModel? scoresModel;
final phoneNumber = '+573022548060';
bool? ver = true;
String formatCurrency(int number) {
final formatter =
@@ -51,7 +51,7 @@ class _CitaScreenState extends State<CitaScreen> {
}
}
Future<void> _sendWhatsapp() async {
Future<void> _sendWhatsapp(String phoneNumber) async {
final whatsappUrl =
'https://wa.me/$phoneNumber?text=${Uri.parse('Hola! me contactaste por Prossapp')}';
if (!await launch(whatsappUrl)) {
@@ -59,10 +59,19 @@ class _CitaScreenState extends State<CitaScreen> {
}
}
SettingModel? settings;
@override
void initState() {
super.initState();
if (settings == null) {
SettingModel.getSettings().then(
(SettingModel value) => setState(() {
settings = value;
}),
);
}
if (scoresModel == null) {
if (uid != widget.evento.userId) {
ScoresModel.scoreTo(widget.evento.userId, false, false).then(
@@ -83,7 +92,6 @@ class _CitaScreenState extends State<CitaScreen> {
@override
Widget build(BuildContext context) {
today.difference(DateTime.parse(widget.evento.range1Hour1));
// DateTime todays = DateFormat('hh:mm a').parse(today.timeZoneName);
final eventDate = DateFormat('yyyy-MM-dd').parse(widget.evento.day);
if (nombre == '') {
@@ -91,18 +99,18 @@ class _CitaScreenState extends State<CitaScreen> {
UserModel.getUser(widget.evento.userId).then((value) {
UserModel.getUser(uid.toString()).then((me) {
setState(() {
tarifa = me.tarifa ?? 0;
nombre = value.name;
ref_photo = value.photo;
numberPhone = value.phoneNumber ?? '';
});
});
});
} else {
UserModel.getUser(widget.evento.professionalId).then((value) {
setState(() {
tarifa = value.tarifa ?? 0;
nombre = value.name;
ref_photo = value.photo;
numberPhone = value.phoneNumber ?? '';
});
});
}
@@ -211,17 +219,19 @@ class _CitaScreenState extends State<CitaScreen> {
],
),
),
Column(
children: [
Text(
formatCurrency(tarifa),
style: const TextStyle(
fontWeight: FontWeight.w600, fontSize: 25),
),
Text('Tarifa consulta ${widget.evento.tarifa}',
style: const TextStyle(fontSize: 15)),
],
),
settings?.tarifas == true && widget.evento.tarifa != 0
? Column(
children: [
Text(
formatCurrency(widget.evento.tarifa ?? 0),
style: const TextStyle(
fontWeight: FontWeight.w600, fontSize: 25),
),
const Text('Tarifa consulta',
style: TextStyle(fontSize: 15)),
],
)
: const SizedBox(),
const SizedBox(height: 15),
Text(
textAlign: TextAlign.center,
@@ -240,7 +250,7 @@ class _CitaScreenState extends State<CitaScreen> {
children: [
const Expanded(child: SizedBox()),
ElevatedButton(
onPressed: () => launch("tel:+573163225944"),
onPressed: () => launch("tel:$numberPhone"),
style: ElevatedButton.styleFrom(
foregroundColor: const Color(0xFF2BA4EC),
backgroundColor: Colors.white,
@@ -327,7 +337,7 @@ class _CitaScreenState extends State<CitaScreen> {
const SizedBox(width: 20),
ElevatedButton(
onPressed: () {
_sendWhatsapp();
_sendWhatsapp(numberPhone);
},
style: ElevatedButton.styleFrom(
foregroundColor: const Color(0xFF2BA4EC),
@@ -401,10 +411,11 @@ class _CitaScreenState extends State<CitaScreen> {
eventDate.month == today.month &&
eventDate.day == today.day
? (DateTime.now()
.difference(
DateTime.parse(widget.evento.range1Hour1))
.abs() <=
const Duration(minutes: 30))
.difference(
DateTime.parse(widget.evento.range1Hour1))
.abs() <=
const Duration(minutes: 30) &&
ver == true)
? Padding(
padding: const EdgeInsets.only(bottom: 30),
child: Column(
@@ -416,7 +427,12 @@ class _CitaScreenState extends State<CitaScreen> {
FirebaseFirestore.instance
.collection("services")
.doc('${widget.evento.id}')
.update({"status": "iniciado"});
.update({"status": "iniciado"}).then(
(value) {
setState(() {
ver = false;
});
});
},
style: ElevatedButton.styleFrom(
backgroundColor: const Color(0xFF2BA4EC),
@@ -536,7 +552,7 @@ class _CitaScreenState extends State<CitaScreen> {
),
)
: const SizedBox(),
widget.evento.status == 'iniciado'
widget.evento.status == 'iniciado' || ver == false
? Padding(
padding: const EdgeInsets.only(bottom: 30),
child: Column(