update
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
buildscript {
|
buildscript {
|
||||||
ext.kotlin_version = '1.7.10'
|
ext.kotlin_version = '1.9.0'
|
||||||
repositories {
|
repositories {
|
||||||
google()
|
google()
|
||||||
mavenCentral()
|
mavenCentral()
|
||||||
|
|||||||
@@ -28,6 +28,7 @@ import 'firebase_options.dart';
|
|||||||
import 'package:firebase_messaging/firebase_messaging.dart';
|
import 'package:firebase_messaging/firebase_messaging.dart';
|
||||||
import 'package:flutter/foundation.dart' show kIsWeb;
|
import 'package:flutter/foundation.dart' show kIsWeb;
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
|
import 'package:flutter_localizations/flutter_localizations.dart';
|
||||||
|
|
||||||
Future<void> _firebaseMessagingBackgroundHandler(RemoteMessage message) async {
|
Future<void> _firebaseMessagingBackgroundHandler(RemoteMessage message) async {
|
||||||
await Firebase.initializeApp();
|
await Firebase.initializeApp();
|
||||||
@@ -91,6 +92,14 @@ class MyApp extends StatelessWidget {
|
|||||||
child: GetMaterialApp(
|
child: GetMaterialApp(
|
||||||
theme: ThemeData(fontFamily: 'Poppins'),
|
theme: ThemeData(fontFamily: 'Poppins'),
|
||||||
debugShowCheckedModeBanner: false,
|
debugShowCheckedModeBanner: false,
|
||||||
|
localizationsDelegates: const [
|
||||||
|
GlobalMaterialLocalizations.delegate,
|
||||||
|
GlobalWidgetsLocalizations.delegate,
|
||||||
|
GlobalCupertinoLocalizations.delegate,
|
||||||
|
],
|
||||||
|
supportedLocales: const [
|
||||||
|
Locale('es'), // Spanish
|
||||||
|
],
|
||||||
title: 'ProsApp',
|
title: 'ProsApp',
|
||||||
initialRoute: '/',
|
initialRoute: '/',
|
||||||
routes: {
|
routes: {
|
||||||
|
|||||||
@@ -90,7 +90,6 @@ class DrawerMenu extends StatelessWidget {
|
|||||||
),
|
),
|
||||||
ListTile(
|
ListTile(
|
||||||
onTap: () {
|
onTap: () {
|
||||||
Navigator.pop(context);
|
|
||||||
if (kIsWeb) {
|
if (kIsWeb) {
|
||||||
Navigator.push(
|
Navigator.push(
|
||||||
context,
|
context,
|
||||||
@@ -406,7 +405,6 @@ class DrawerMenu extends StatelessWidget {
|
|||||||
ListTile infoUser(BuildContext context, UserModel? user) {
|
ListTile infoUser(BuildContext context, UserModel? user) {
|
||||||
return ListTile(
|
return ListTile(
|
||||||
onTap: () {
|
onTap: () {
|
||||||
Navigator.pop(context);
|
|
||||||
if (kIsWeb) {
|
if (kIsWeb) {
|
||||||
Navigator.push(
|
Navigator.push(
|
||||||
context,
|
context,
|
||||||
|
|||||||
+17
-19
@@ -187,27 +187,25 @@ class _CitaScreenState extends State<CitaScreen> {
|
|||||||
sizeCircle: 50,
|
sizeCircle: 50,
|
||||||
sizeIcon: 35,
|
sizeIcon: 35,
|
||||||
),
|
),
|
||||||
title: RichText(
|
title: Column(
|
||||||
text: TextSpan(
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
children: [
|
children: [
|
||||||
TextSpan(
|
Text(
|
||||||
text: '$nombre, ',
|
nombre,
|
||||||
style: const TextStyle(
|
style: const TextStyle(
|
||||||
color: Colors.black,
|
color: Colors.black,
|
||||||
fontWeight: FontWeight.bold,
|
fontWeight: FontWeight.bold,
|
||||||
fontSize: 16,
|
fontSize: 16,
|
||||||
),
|
|
||||||
),
|
),
|
||||||
TextSpan(
|
),
|
||||||
text:
|
Text(
|
||||||
'${DateFormat('dd MMM', 'es').format(DateTime.parse(widget.evento.day))} ${TimeOfDay.fromDateTime(DateTime.parse(widget.evento.range1Hour1)).format(context)}',
|
'${DateFormat('dd MMMM', 'es').format(DateTime.parse(widget.evento.day))} ${DateFormat('h:mm a').format(DateTime.parse(widget.evento.range1Hour1))}',
|
||||||
style: const TextStyle(
|
style: const TextStyle(
|
||||||
color: Colors.grey,
|
color: Colors.grey,
|
||||||
fontSize: 16,
|
fontSize: 16,
|
||||||
),
|
|
||||||
),
|
),
|
||||||
],
|
)
|
||||||
),
|
],
|
||||||
),
|
),
|
||||||
subtitle: Row(
|
subtitle: Row(
|
||||||
children: [
|
children: [
|
||||||
|
|||||||
@@ -10,21 +10,12 @@ import 'package:prosappco/src/models/event_model.dart';
|
|||||||
import 'package:prosappco/src/models/scores_model.dart';
|
import 'package:prosappco/src/models/scores_model.dart';
|
||||||
import 'package:prosappco/src/screens/cita.dart';
|
import 'package:prosappco/src/screens/cita.dart';
|
||||||
|
|
||||||
class MyServicesScreen extends StatefulWidget {
|
class MyServicesScreen extends StatelessWidget {
|
||||||
MyServicesScreen({super.key});
|
MyServicesScreen({super.key});
|
||||||
|
|
||||||
@override
|
|
||||||
State<MyServicesScreen> createState() => _MyServicesScreenState();
|
|
||||||
}
|
|
||||||
|
|
||||||
class _MyServicesScreenState extends State<MyServicesScreen> {
|
|
||||||
DateTime today = DateTime.now();
|
DateTime today = DateTime.now();
|
||||||
final uid = AuthenticationRepository.instance.getCurrentUserUid();
|
|
||||||
|
|
||||||
@override
|
final uid = AuthenticationRepository.instance.getCurrentUserUid();
|
||||||
void initState() {
|
|
||||||
super.initState();
|
|
||||||
}
|
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
@@ -119,7 +110,6 @@ class _MyServicesScreenState extends State<MyServicesScreen> {
|
|||||||
if (profSnapshot.hasError) {
|
if (profSnapshot.hasError) {
|
||||||
return const Text(
|
return const Text(
|
||||||
'Error al obtener los datos del profesional',
|
'Error al obtener los datos del profesional',
|
||||||
// Aquí puedes agregar un estilo de texto apropiado
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -142,55 +132,89 @@ class _MyServicesScreenState extends State<MyServicesScreen> {
|
|||||||
);
|
);
|
||||||
},
|
},
|
||||||
leading: event.status == 'aprobado'
|
leading: event.status == 'aprobado'
|
||||||
? const Icon(
|
? const Column(
|
||||||
Icons.check,
|
mainAxisAlignment: MainAxisAlignment.center,
|
||||||
color: Colors.blue,
|
children: [
|
||||||
size: 40,
|
Icon(
|
||||||
|
Icons.check,
|
||||||
|
color: Colors.blue,
|
||||||
|
size: 30,
|
||||||
|
),
|
||||||
|
Text('Aceptado',
|
||||||
|
style: TextStyle(fontSize: 12)),
|
||||||
|
],
|
||||||
)
|
)
|
||||||
: event.status == 'iniciado'
|
: event.status == 'iniciado'
|
||||||
? const Icon(
|
? const Column(
|
||||||
Icons.access_time,
|
mainAxisAlignment: MainAxisAlignment.center,
|
||||||
color: Colors.blue,
|
children: [
|
||||||
size: 40,
|
Icon(
|
||||||
|
Icons.access_time,
|
||||||
|
color: Colors.blue,
|
||||||
|
size: 30,
|
||||||
|
),
|
||||||
|
Text('Iniciado',
|
||||||
|
style: TextStyle(fontSize: 12)),
|
||||||
|
],
|
||||||
)
|
)
|
||||||
: event.status == 'pendiente'
|
: event.status == 'pendiente'
|
||||||
? const Icon(
|
? const Column(
|
||||||
Icons.access_time_outlined,
|
children: [
|
||||||
color: Colors.blue,
|
Icon(
|
||||||
size: 40,
|
Icons.access_time_outlined,
|
||||||
|
color: Colors.blue,
|
||||||
|
size: 30,
|
||||||
|
),
|
||||||
|
Text('Pendiente',
|
||||||
|
style: TextStyle(fontSize: 12)),
|
||||||
|
],
|
||||||
)
|
)
|
||||||
: event.status == 'terminado'
|
: event.status == 'terminado'
|
||||||
? const Icon(
|
? const Column(
|
||||||
Icons.rocket_launch,
|
children: [
|
||||||
color: Colors.blue,
|
Icon(
|
||||||
size: 40,
|
Icons.rocket_launch,
|
||||||
|
color: Colors.blue,
|
||||||
|
size: 30,
|
||||||
|
),
|
||||||
|
Text('Finalizado',
|
||||||
|
style:
|
||||||
|
TextStyle(fontSize: 12)),
|
||||||
|
],
|
||||||
)
|
)
|
||||||
: const Icon(
|
: const Column(
|
||||||
Icons.close,
|
mainAxisAlignment:
|
||||||
color: Colors.red,
|
MainAxisAlignment.center,
|
||||||
size: 40,
|
children: [
|
||||||
|
Icon(
|
||||||
|
Icons.close,
|
||||||
|
color: Colors.red,
|
||||||
|
size: 30,
|
||||||
|
),
|
||||||
|
Text('Cancelado',
|
||||||
|
style:
|
||||||
|
TextStyle(fontSize: 12)),
|
||||||
|
],
|
||||||
),
|
),
|
||||||
title: RichText(
|
title: Column(
|
||||||
text: TextSpan(
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
children: [
|
children: [
|
||||||
TextSpan(
|
Text(
|
||||||
text: '${professionalName}, ',
|
'$professionalName',
|
||||||
style: const TextStyle(
|
style: const TextStyle(
|
||||||
color: Colors.black,
|
color: Colors.black,
|
||||||
fontWeight: FontWeight.bold,
|
fontWeight: FontWeight.bold,
|
||||||
fontSize: 16,
|
fontSize: 16,
|
||||||
),
|
|
||||||
),
|
),
|
||||||
TextSpan(
|
),
|
||||||
text:
|
Text(
|
||||||
'${DateFormat('dd MMM', 'es').format(DateTime.parse(event.day))} - ${TimeOfDay.fromDateTime(DateTime.parse(event.range1Hour1)).format(context)}',
|
'${DateFormat('dd MMMM', 'es').format(DateTime.parse(event.day))} - ${DateFormat('h:mm a').format(DateTime.parse(event.range1Hour1))}',
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
color: Colors.grey[600],
|
color: Colors.grey[600],
|
||||||
fontSize: 16,
|
fontSize: 16,
|
||||||
),
|
|
||||||
),
|
),
|
||||||
],
|
),
|
||||||
),
|
],
|
||||||
),
|
),
|
||||||
subtitle: Column(
|
subtitle: Column(
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
@@ -221,13 +245,18 @@ class _MyServicesScreenState extends State<MyServicesScreen> {
|
|||||||
],
|
],
|
||||||
),
|
),
|
||||||
Text(
|
Text(
|
||||||
'" ${event.description}"',
|
'"${event.description}"',
|
||||||
style:
|
style:
|
||||||
const TextStyle(fontStyle: FontStyle.italic),
|
const TextStyle(fontStyle: FontStyle.italic),
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
trailing: const Icon(Icons.keyboard_arrow_right),
|
trailing: const Column(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.end,
|
||||||
|
children: [
|
||||||
|
Icon(Icons.keyboard_arrow_right),
|
||||||
|
],
|
||||||
|
),
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
|
|||||||
@@ -44,8 +44,12 @@ class MyServicesProScreen extends StatelessWidget {
|
|||||||
stream: FirebaseFirestore.instance
|
stream: FirebaseFirestore.instance
|
||||||
.collection('services')
|
.collection('services')
|
||||||
.where('professional_id', isEqualTo: uid)
|
.where('professional_id', isEqualTo: uid)
|
||||||
.where('status',
|
.where('status', whereIn: [
|
||||||
whereIn: ['aprobado', 'denegado', 'iniciado', 'terminado'])
|
'aprobado',
|
||||||
|
'denegado',
|
||||||
|
'iniciado',
|
||||||
|
'terminado',
|
||||||
|
])
|
||||||
.snapshots()
|
.snapshots()
|
||||||
.asyncMap((snapshot) async {
|
.asyncMap((snapshot) async {
|
||||||
try {
|
try {
|
||||||
@@ -116,43 +120,61 @@ class MyServicesProScreen extends StatelessWidget {
|
|||||||
],
|
],
|
||||||
)
|
)
|
||||||
: event.status == 'iniciado'
|
: event.status == 'iniciado'
|
||||||
? const Icon(
|
? const Column(
|
||||||
Icons.access_time,
|
mainAxisAlignment: MainAxisAlignment.center,
|
||||||
color: Colors.blue,
|
children: [
|
||||||
size: 40,
|
Icon(
|
||||||
|
Icons.access_time,
|
||||||
|
color: Colors.blue,
|
||||||
|
size: 30,
|
||||||
|
),
|
||||||
|
Text('Iniciado', style: TextStyle(fontSize: 12)),
|
||||||
|
],
|
||||||
)
|
)
|
||||||
: event.status == 'terminado'
|
: event.status == 'terminado'
|
||||||
? const Icon(
|
? const Column(
|
||||||
Icons.rocket_launch,
|
mainAxisAlignment: MainAxisAlignment.center,
|
||||||
color: Colors.blue,
|
children: [
|
||||||
size: 40,
|
Icon(
|
||||||
|
Icons.rocket_launch,
|
||||||
|
color: Colors.blue,
|
||||||
|
size: 30,
|
||||||
|
),
|
||||||
|
Text('Finalizado',
|
||||||
|
style: TextStyle(fontSize: 12)),
|
||||||
|
],
|
||||||
)
|
)
|
||||||
: const Icon(
|
: const Column(
|
||||||
Icons.close,
|
mainAxisAlignment: MainAxisAlignment.center,
|
||||||
color: Colors.red,
|
children: [
|
||||||
size: 40,
|
Icon(
|
||||||
|
Icons.close,
|
||||||
|
color: Colors.red,
|
||||||
|
size: 30,
|
||||||
|
),
|
||||||
|
Text('Cancelado',
|
||||||
|
style: TextStyle(fontSize: 12)),
|
||||||
|
],
|
||||||
),
|
),
|
||||||
title: RichText(
|
title: Column(
|
||||||
text: TextSpan(
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
children: [
|
children: [
|
||||||
TextSpan(
|
Text(
|
||||||
text: '${event.title}, ',
|
event.title,
|
||||||
style: const TextStyle(
|
style: const TextStyle(
|
||||||
color: Colors.black,
|
color: Colors.black,
|
||||||
fontWeight: FontWeight.bold,
|
fontWeight: FontWeight.bold,
|
||||||
fontSize: 16,
|
fontSize: 16,
|
||||||
),
|
|
||||||
),
|
),
|
||||||
TextSpan(
|
),
|
||||||
text:
|
Text(
|
||||||
'${DateFormat('dd MMM', 'es').format(DateTime.parse(event.day))} - ${TimeOfDay.fromDateTime(DateTime.parse(event.range1Hour1)).format(context)}',
|
'${DateFormat('dd MMMM', 'es').format(DateTime.parse(event.day))} - ${DateFormat('h:mm a').format(DateTime.parse(event.range1Hour1))}',
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
color: Colors.grey[600],
|
color: Colors.grey[600],
|
||||||
fontSize: 16,
|
fontSize: 16,
|
||||||
),
|
|
||||||
),
|
),
|
||||||
],
|
),
|
||||||
),
|
],
|
||||||
),
|
),
|
||||||
subtitle: Column(
|
subtitle: Column(
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
@@ -182,12 +204,17 @@ class MyServicesProScreen extends StatelessWidget {
|
|||||||
],
|
],
|
||||||
),
|
),
|
||||||
Text(
|
Text(
|
||||||
'" ${event.description}"',
|
'"${event.description}"',
|
||||||
style: const TextStyle(fontStyle: FontStyle.italic),
|
style: const TextStyle(fontStyle: FontStyle.italic),
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
trailing: const Icon(Icons.keyboard_arrow_right),
|
trailing: const Column(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.end,
|
||||||
|
children: [
|
||||||
|
Icon(Icons.keyboard_arrow_right),
|
||||||
|
],
|
||||||
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
|
|||||||
@@ -168,11 +168,8 @@ class _ServiceScreenState extends State<ServiceScreen> {
|
|||||||
final TimeOfDay? pickedTime = await showTimePicker(
|
final TimeOfDay? pickedTime = await showTimePicker(
|
||||||
context: context,
|
context: context,
|
||||||
initialTime: TimeOfDay.now(),
|
initialTime: TimeOfDay.now(),
|
||||||
|
|
||||||
// builder: (context, child) {
|
|
||||||
// return Theme(data: ThemeData.dark(), child: child!);
|
|
||||||
// },
|
|
||||||
);
|
);
|
||||||
|
|
||||||
if (pickedTime != null) {
|
if (pickedTime != null) {
|
||||||
setState(() {
|
setState(() {
|
||||||
_selectedTime = pickedTime;
|
_selectedTime = pickedTime;
|
||||||
|
|||||||
@@ -84,38 +84,25 @@ class _ServiceAfterScreenState extends State<ServiceAfterScreen> {
|
|||||||
size: 55,
|
size: 55,
|
||||||
sizeCircle: 60,
|
sizeCircle: 60,
|
||||||
),
|
),
|
||||||
title: RichText(
|
title: Column(
|
||||||
text: TextSpan(
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
children: [
|
children: [
|
||||||
TextSpan(
|
Text(
|
||||||
text: '${user?.name}, ',
|
'${user?.name}',
|
||||||
style: const TextStyle(
|
style: const TextStyle(
|
||||||
color: Colors.black,
|
color: Colors.black,
|
||||||
fontWeight: FontWeight.w500,
|
fontWeight: FontWeight.bold,
|
||||||
fontSize: 16,
|
fontSize: 16,
|
||||||
),
|
|
||||||
),
|
),
|
||||||
TextSpan(
|
),
|
||||||
text: DateFormat('dd MMM', 'es').format(DateTime.parse(
|
Text(
|
||||||
evento?.day ?? '2023-01-01 00:00:00.000Z')),
|
'${DateFormat('dd MMMM', 'es').format(DateTime.parse(evento?.day ?? '2023-01-01 00:00:00.000Z'))} ${evento?.range1Hour1 != null ? DateFormat('h:mm a').format(DateTime.parse(evento!.range1Hour1)) : ''}',
|
||||||
style: const TextStyle(
|
style: TextStyle(
|
||||||
color: Colors.grey,
|
color: Colors.grey[600],
|
||||||
fontSize: 16,
|
fontSize: 16,
|
||||||
),
|
|
||||||
),
|
),
|
||||||
TextSpan(
|
),
|
||||||
text: evento?.range1Hour1 != null
|
],
|
||||||
? TimeOfDay.fromDateTime(
|
|
||||||
DateTime.parse(evento!.range1Hour1))
|
|
||||||
.format(context)
|
|
||||||
: '',
|
|
||||||
style: const TextStyle(
|
|
||||||
color: Colors.grey,
|
|
||||||
fontSize: 16,
|
|
||||||
),
|
|
||||||
),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
),
|
),
|
||||||
subtitle: Column(
|
subtitle: Column(
|
||||||
children: [
|
children: [
|
||||||
@@ -200,7 +187,7 @@ class _ServiceAfterScreenState extends State<ServiceAfterScreen> {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
Text(
|
Text(
|
||||||
'" ${evento?.description} "',
|
'"${evento?.description}"',
|
||||||
style:
|
style:
|
||||||
TextStyle(color: Colors.grey[600], fontStyle: FontStyle.italic),
|
TextStyle(color: Colors.grey[600], fontStyle: FontStyle.italic),
|
||||||
),
|
),
|
||||||
|
|||||||
@@ -100,32 +100,56 @@ class SolicitudScreen extends StatelessWidget {
|
|||||||
),
|
),
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
leading: Text(
|
leading: Column(
|
||||||
TimeOfDay.fromDateTime(DateTime.parse(event.range1Hour1))
|
mainAxisAlignment: MainAxisAlignment.center,
|
||||||
.format(context),
|
children: [
|
||||||
|
Text(DateFormat('h:mm a')
|
||||||
|
.format(DateTime.parse(event.range1Hour1))),
|
||||||
|
],
|
||||||
),
|
),
|
||||||
title: RichText(
|
title: Column(
|
||||||
text: TextSpan(
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
children: [
|
children: [
|
||||||
TextSpan(
|
Text(
|
||||||
text: '${event.title}, ',
|
event.title,
|
||||||
style: const TextStyle(
|
style: const TextStyle(
|
||||||
color: Colors.black,
|
color: Colors.black,
|
||||||
fontWeight: FontWeight.bold,
|
fontWeight: FontWeight.bold,
|
||||||
fontSize: 16,
|
fontSize: 16,
|
||||||
),
|
|
||||||
),
|
),
|
||||||
TextSpan(
|
),
|
||||||
text: DateFormat('dd MMM', 'es')
|
Text(
|
||||||
.format(DateTime.parse(event.day)),
|
'${DateFormat('dd MMMM', 'es').format(DateTime.parse(event.day))} - ${DateFormat('h:mm a').format(DateTime.parse(event.range1Hour1))}',
|
||||||
style: const TextStyle(
|
style: const TextStyle(
|
||||||
color: Colors.grey,
|
color: Colors.grey,
|
||||||
fontSize: 16,
|
fontSize: 16,
|
||||||
),
|
|
||||||
),
|
),
|
||||||
],
|
)
|
||||||
),
|
],
|
||||||
),
|
),
|
||||||
|
|
||||||
|
// RichText(
|
||||||
|
// text: TextSpan(
|
||||||
|
// children: [
|
||||||
|
// TextSpan(
|
||||||
|
// text: '${event.title}, ',
|
||||||
|
// style: const TextStyle(
|
||||||
|
// color: Colors.black,
|
||||||
|
// fontWeight: FontWeight.bold,
|
||||||
|
// fontSize: 16,
|
||||||
|
// ),
|
||||||
|
// ),
|
||||||
|
// TextSpan(
|
||||||
|
// text: DateFormat('dd MMM', 'es')
|
||||||
|
// .format(DateTime.parse(event.day)),
|
||||||
|
// style: const TextStyle(
|
||||||
|
// color: Colors.grey,
|
||||||
|
// fontSize: 16,
|
||||||
|
// ),
|
||||||
|
// ),
|
||||||
|
// ],
|
||||||
|
// ),
|
||||||
|
// ),
|
||||||
subtitle: Column(
|
subtitle: Column(
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
children: [
|
children: [
|
||||||
@@ -154,7 +178,7 @@ class SolicitudScreen extends StatelessWidget {
|
|||||||
],
|
],
|
||||||
),
|
),
|
||||||
Text(
|
Text(
|
||||||
'" ${event.description}"',
|
'"${event.description}"',
|
||||||
style: const TextStyle(fontStyle: FontStyle.italic),
|
style: const TextStyle(fontStyle: FontStyle.italic),
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
|
|||||||
@@ -7,7 +7,6 @@
|
|||||||
#include "generated_plugin_registrant.h"
|
#include "generated_plugin_registrant.h"
|
||||||
|
|
||||||
#include <audioplayers_linux/audioplayers_linux_plugin.h>
|
#include <audioplayers_linux/audioplayers_linux_plugin.h>
|
||||||
#include <awesome_notifications/awesome_notifications_plugin.h>
|
|
||||||
#include <file_selector_linux/file_selector_plugin.h>
|
#include <file_selector_linux/file_selector_plugin.h>
|
||||||
#include <url_launcher_linux/url_launcher_plugin.h>
|
#include <url_launcher_linux/url_launcher_plugin.h>
|
||||||
|
|
||||||
@@ -15,9 +14,6 @@ void fl_register_plugins(FlPluginRegistry* registry) {
|
|||||||
g_autoptr(FlPluginRegistrar) audioplayers_linux_registrar =
|
g_autoptr(FlPluginRegistrar) audioplayers_linux_registrar =
|
||||||
fl_plugin_registry_get_registrar_for_plugin(registry, "AudioplayersLinuxPlugin");
|
fl_plugin_registry_get_registrar_for_plugin(registry, "AudioplayersLinuxPlugin");
|
||||||
audioplayers_linux_plugin_register_with_registrar(audioplayers_linux_registrar);
|
audioplayers_linux_plugin_register_with_registrar(audioplayers_linux_registrar);
|
||||||
g_autoptr(FlPluginRegistrar) awesome_notifications_registrar =
|
|
||||||
fl_plugin_registry_get_registrar_for_plugin(registry, "AwesomeNotificationsPlugin");
|
|
||||||
awesome_notifications_plugin_register_with_registrar(awesome_notifications_registrar);
|
|
||||||
g_autoptr(FlPluginRegistrar) file_selector_linux_registrar =
|
g_autoptr(FlPluginRegistrar) file_selector_linux_registrar =
|
||||||
fl_plugin_registry_get_registrar_for_plugin(registry, "FileSelectorPlugin");
|
fl_plugin_registry_get_registrar_for_plugin(registry, "FileSelectorPlugin");
|
||||||
file_selector_plugin_register_with_registrar(file_selector_linux_registrar);
|
file_selector_plugin_register_with_registrar(file_selector_linux_registrar);
|
||||||
|
|||||||
@@ -4,7 +4,6 @@
|
|||||||
|
|
||||||
list(APPEND FLUTTER_PLUGIN_LIST
|
list(APPEND FLUTTER_PLUGIN_LIST
|
||||||
audioplayers_linux
|
audioplayers_linux
|
||||||
awesome_notifications
|
|
||||||
file_selector_linux
|
file_selector_linux
|
||||||
url_launcher_linux
|
url_launcher_linux
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -6,7 +6,6 @@ import FlutterMacOS
|
|||||||
import Foundation
|
import Foundation
|
||||||
|
|
||||||
import audioplayers_darwin
|
import audioplayers_darwin
|
||||||
import awesome_notifications
|
|
||||||
import cloud_firestore
|
import cloud_firestore
|
||||||
import file_selector_macos
|
import file_selector_macos
|
||||||
import firebase_auth
|
import firebase_auth
|
||||||
@@ -22,7 +21,6 @@ import url_launcher_macos
|
|||||||
|
|
||||||
func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) {
|
func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) {
|
||||||
AudioplayersDarwinPlugin.register(with: registry.registrar(forPlugin: "AudioplayersDarwinPlugin"))
|
AudioplayersDarwinPlugin.register(with: registry.registrar(forPlugin: "AudioplayersDarwinPlugin"))
|
||||||
AwesomeNotificationsPlugin.register(with: registry.registrar(forPlugin: "AwesomeNotificationsPlugin"))
|
|
||||||
FLTFirebaseFirestorePlugin.register(with: registry.registrar(forPlugin: "FLTFirebaseFirestorePlugin"))
|
FLTFirebaseFirestorePlugin.register(with: registry.registrar(forPlugin: "FLTFirebaseFirestorePlugin"))
|
||||||
FileSelectorPlugin.register(with: registry.registrar(forPlugin: "FileSelectorPlugin"))
|
FileSelectorPlugin.register(with: registry.registrar(forPlugin: "FileSelectorPlugin"))
|
||||||
FLTFirebaseAuthPlugin.register(with: registry.registrar(forPlugin: "FLTFirebaseAuthPlugin"))
|
FLTFirebaseAuthPlugin.register(with: registry.registrar(forPlugin: "FLTFirebaseAuthPlugin"))
|
||||||
|
|||||||
+39
-42
@@ -13,10 +13,10 @@ packages:
|
|||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: _flutterfire_internals
|
name: _flutterfire_internals
|
||||||
sha256: "7bcb5c5d62b3907fb4a269c0f0843df46760d38e12829a715f2ff1fb492f19ef"
|
sha256: "5dadadeecceac19d6a63c9d2e037bb8df58ddd4aedb94e8a056af2f39ee50f9d"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.3.10"
|
version: "1.3.11"
|
||||||
analyzer:
|
analyzer:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@@ -105,14 +105,6 @@ packages:
|
|||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.0.2"
|
version: "2.0.2"
|
||||||
awesome_notifications:
|
|
||||||
dependency: "direct main"
|
|
||||||
description:
|
|
||||||
name: awesome_notifications
|
|
||||||
sha256: "65f730f9c0e73a346039ef746384bcff1773f9f03821b859705a7ab8db977b23"
|
|
||||||
url: "https://pub.dev"
|
|
||||||
source: hosted
|
|
||||||
version: "0.8.2"
|
|
||||||
boolean_selector:
|
boolean_selector:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@@ -149,26 +141,26 @@ packages:
|
|||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: cloud_firestore
|
name: cloud_firestore
|
||||||
sha256: "7dd7e9505e4e895c87e7bc0c4cf49a2c0b0255fae900ab7fcac3c5daa9f422d5"
|
sha256: "3ee12bfde22251a91e46bcb86e5ebe3f35006b8f6ed7fd5a5526cfa188ce68e9"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "4.12.0"
|
version: "4.12.2"
|
||||||
cloud_firestore_platform_interface:
|
cloud_firestore_platform_interface:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: cloud_firestore_platform_interface
|
name: cloud_firestore_platform_interface
|
||||||
sha256: f1a9436bc0d7f49e60df33b5eb872772733646d4f211516220a1f6006c8177f5
|
sha256: ed65b9d615d70c5b921e7f028ddab9b06c627d52a58d65fd84c3181f23cc9171
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "6.0.2"
|
version: "6.0.3"
|
||||||
cloud_firestore_web:
|
cloud_firestore_web:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: cloud_firestore_web
|
name: cloud_firestore_web
|
||||||
sha256: "8df1e484d57f771242c2d8b3a534b921dfb0ba144a1cd441f23b1c7c4f33c3a1"
|
sha256: "17fbdc86611ed8ae414e65de7f45b19a7a2f70ce3cf9a9370ffed68844a73156"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "3.8.2"
|
version: "3.8.3"
|
||||||
collection:
|
collection:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@@ -309,34 +301,34 @@ packages:
|
|||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: firebase_auth
|
name: firebase_auth
|
||||||
sha256: ee5e4f6e79483d1b39e2fe81cdef74f4c295c9865e150aefacd615eea96d3e7b
|
sha256: "738c4225bf8e766750423abcaeab1dc45f1bdb8975e2b32b69d561350b124685"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "4.12.0"
|
version: "4.12.1"
|
||||||
firebase_auth_platform_interface:
|
firebase_auth_platform_interface:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: firebase_auth_platform_interface
|
name: firebase_auth_platform_interface
|
||||||
sha256: a664a8f1dbf73e6a56fd41364bcd0ad24f8d9d57428b365199dc795ee52b7d27
|
sha256: "40f759021591e3ce5741e981ae7488903dd31cab59aa19a663a8255511d58f95"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "7.0.2"
|
version: "7.0.3"
|
||||||
firebase_auth_web:
|
firebase_auth_web:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: firebase_auth_web
|
name: firebase_auth_web
|
||||||
sha256: "6a3c8c09c9ffcfea83ac4ce3d18d8b4c467c77d57713b2d786fd69ece5bb4a48"
|
sha256: e068327d62503c32e2b3fbcc27991f6d8a687e2fdb60e9ad865835208b2a29ed
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "5.8.5"
|
version: "5.8.6"
|
||||||
firebase_core:
|
firebase_core:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: firebase_core
|
name: firebase_core
|
||||||
sha256: "37299e4907391d7fac8c7ea059bb3292768cc07b72b6c6c777675cc58da2ef4d"
|
sha256: "7706f4ade6cc2698c70074083bc262586a185047f6bfdd53938dcc35d35cbb9e"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.20.0"
|
version: "2.21.0"
|
||||||
firebase_core_platform_interface:
|
firebase_core_platform_interface:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@@ -357,50 +349,50 @@ packages:
|
|||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: firebase_messaging
|
name: firebase_messaging
|
||||||
sha256: d7b6f9c394f8575598fa94e67220cdd2097a0bc28ce20a3ef2db2da94ede5b47
|
sha256: "53952a6f7860c44429bec80719c411e0ff77ce6cf31fade1515c7bdd87abe4a1"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "14.7.2"
|
version: "14.7.3"
|
||||||
firebase_messaging_platform_interface:
|
firebase_messaging_platform_interface:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: firebase_messaging_platform_interface
|
name: firebase_messaging_platform_interface
|
||||||
sha256: "825356880eb94bf16ea7ef6a71384d2c32cc88143b54ecffed8b3987f7178854"
|
sha256: "543390d1c76aaf3fa563de223d1732a5def5a5efe31428e43a44e9a47efc5ed3"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "4.5.11"
|
version: "4.5.12"
|
||||||
firebase_messaging_web:
|
firebase_messaging_web:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: firebase_messaging_web
|
name: firebase_messaging_web
|
||||||
sha256: "9c82e55c4b470970c77a99c90733adff6be7d5a67251007727b2a98d4f04e0cd"
|
sha256: ecfe4e851652dc5f40f1e42efcac0c2bc6bf5ef08faca936c94e1472c247d222
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "3.5.11"
|
version: "3.5.12"
|
||||||
firebase_storage:
|
firebase_storage:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: firebase_storage
|
name: firebase_storage
|
||||||
sha256: c00e907fe1a136a662c47d60faf971094a5441095438c065f66c2f39dff47a9a
|
sha256: "4cce7efd856dfb98b0e0ffe3ee22039133f940e3a3cb00bfa7ce42bfebc17311"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "11.4.0"
|
version: "11.4.1"
|
||||||
firebase_storage_platform_interface:
|
firebase_storage_platform_interface:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: firebase_storage_platform_interface
|
name: firebase_storage_platform_interface
|
||||||
sha256: "387f903eb7cbe63e77197e73987c84201335c42250b7284580e3bac42ffd9dd4"
|
sha256: f8cd0343fbf0b53fd5d85172cdb3311206bf71500d538e29941f440cc034a0aa
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "5.0.0"
|
version: "5.0.1"
|
||||||
firebase_storage_web:
|
firebase_storage_web:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: firebase_storage_web
|
name: firebase_storage_web
|
||||||
sha256: "6128bfd8e03418983d457b980bf4fcc73e1fc88f51d00b3e04db8376a41d3047"
|
sha256: ea654cf19e2cb60acfd90e3f439aedbb36852b37b0c4521fbbd8569c80d65624
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "3.6.11"
|
version: "3.6.12"
|
||||||
flutter:
|
flutter:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description: flutter
|
description: flutter
|
||||||
@@ -462,6 +454,11 @@ packages:
|
|||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "7.0.0+1"
|
version: "7.0.0+1"
|
||||||
|
flutter_localizations:
|
||||||
|
dependency: "direct main"
|
||||||
|
description: flutter
|
||||||
|
source: sdk
|
||||||
|
version: "0.0.0"
|
||||||
flutter_otp_text_field:
|
flutter_otp_text_field:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
@@ -628,10 +625,10 @@ packages:
|
|||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: google_maps_flutter_android
|
name: google_maps_flutter_android
|
||||||
sha256: "1a4375d0ed0e36af4a2c7a7cd97ec8c423b40bff6c4270face40d2c1cba6c8af"
|
sha256: "4023e79184c762e63efe04da629d876085e0c296a7ca26745fb5750d4acd0aa2"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.5.2"
|
version: "2.5.3"
|
||||||
google_maps_flutter_ios:
|
google_maps_flutter_ios:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@@ -748,10 +745,10 @@ packages:
|
|||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: image_picker_ios
|
name: image_picker_ios
|
||||||
sha256: c5538cacefacac733c724be7484377923b476216ad1ead35a0d2eadcdc0fc497
|
sha256: "76ec722aeea419d03aa915c2c96bf5b47214b053899088c9abb4086ceecf97a7"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.8.8+2"
|
version: "0.8.8+4"
|
||||||
image_picker_linux:
|
image_picker_linux:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@@ -788,10 +785,10 @@ packages:
|
|||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: intl
|
name: intl
|
||||||
sha256: "3bc132a9dbce73a7e4a21a17d06e1878839ffbf975568bc875c60537824b0c4d"
|
sha256: a3715e3bc90294e971cb7dc063fbf3cd9ee0ebf8604ffeafabd9e6f16abbdbe6
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.18.1"
|
version: "0.18.0"
|
||||||
intl_phone_field:
|
intl_phone_field:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
|
|||||||
+3
-8
@@ -30,14 +30,11 @@ environment:
|
|||||||
dependencies:
|
dependencies:
|
||||||
flutter:
|
flutter:
|
||||||
sdk: flutter
|
sdk: flutter
|
||||||
|
intl: any
|
||||||
|
flutter_localizations:
|
||||||
|
sdk: flutter
|
||||||
shared_preferences: ^2.0.10
|
shared_preferences: ^2.0.10
|
||||||
|
|
||||||
|
|
||||||
# The following adds the Cupertino Icons font to your application.
|
|
||||||
# Use with the CupertinoIcons class for iOS style icons.
|
|
||||||
cupertino_icons: ^1.0.2
|
cupertino_icons: ^1.0.2
|
||||||
|
|
||||||
# Google Sign In
|
|
||||||
firebase_auth: ^4.6.2
|
firebase_auth: ^4.6.2
|
||||||
firebase_core: ^2.13.1
|
firebase_core: ^2.13.1
|
||||||
file_picker: ^5.3.2
|
file_picker: ^5.3.2
|
||||||
@@ -54,7 +51,6 @@ dependencies:
|
|||||||
flutter_animate:
|
flutter_animate:
|
||||||
flutter_rating_bar:
|
flutter_rating_bar:
|
||||||
table_calendar:
|
table_calendar:
|
||||||
intl:
|
|
||||||
google_maps_flutter: ^2.2.5
|
google_maps_flutter: ^2.2.5
|
||||||
http: ^0.13.5
|
http: ^0.13.5
|
||||||
geolocator: ^9.0.2
|
geolocator: ^9.0.2
|
||||||
@@ -71,7 +67,6 @@ dependencies:
|
|||||||
firebase_messaging: ^14.6.3
|
firebase_messaging: ^14.6.3
|
||||||
audioplayers: ^4.1.0
|
audioplayers: ^4.1.0
|
||||||
animated_splash_screen: ^1.3.0
|
animated_splash_screen: ^1.3.0
|
||||||
awesome_notifications: ^0.8.2
|
|
||||||
|
|
||||||
dev_dependencies:
|
dev_dependencies:
|
||||||
flutter_test:
|
flutter_test:
|
||||||
|
|||||||
@@ -7,7 +7,6 @@
|
|||||||
#include "generated_plugin_registrant.h"
|
#include "generated_plugin_registrant.h"
|
||||||
|
|
||||||
#include <audioplayers_windows/audioplayers_windows_plugin.h>
|
#include <audioplayers_windows/audioplayers_windows_plugin.h>
|
||||||
#include <awesome_notifications/awesome_notifications_plugin_c_api.h>
|
|
||||||
#include <cloud_firestore/cloud_firestore_plugin_c_api.h>
|
#include <cloud_firestore/cloud_firestore_plugin_c_api.h>
|
||||||
#include <file_selector_windows/file_selector_windows.h>
|
#include <file_selector_windows/file_selector_windows.h>
|
||||||
#include <firebase_auth/firebase_auth_plugin_c_api.h>
|
#include <firebase_auth/firebase_auth_plugin_c_api.h>
|
||||||
@@ -19,8 +18,6 @@
|
|||||||
void RegisterPlugins(flutter::PluginRegistry* registry) {
|
void RegisterPlugins(flutter::PluginRegistry* registry) {
|
||||||
AudioplayersWindowsPluginRegisterWithRegistrar(
|
AudioplayersWindowsPluginRegisterWithRegistrar(
|
||||||
registry->GetRegistrarForPlugin("AudioplayersWindowsPlugin"));
|
registry->GetRegistrarForPlugin("AudioplayersWindowsPlugin"));
|
||||||
AwesomeNotificationsPluginCApiRegisterWithRegistrar(
|
|
||||||
registry->GetRegistrarForPlugin("AwesomeNotificationsPluginCApi"));
|
|
||||||
CloudFirestorePluginCApiRegisterWithRegistrar(
|
CloudFirestorePluginCApiRegisterWithRegistrar(
|
||||||
registry->GetRegistrarForPlugin("CloudFirestorePluginCApi"));
|
registry->GetRegistrarForPlugin("CloudFirestorePluginCApi"));
|
||||||
FileSelectorWindowsRegisterWithRegistrar(
|
FileSelectorWindowsRegisterWithRegistrar(
|
||||||
|
|||||||
@@ -4,7 +4,6 @@
|
|||||||
|
|
||||||
list(APPEND FLUTTER_PLUGIN_LIST
|
list(APPEND FLUTTER_PLUGIN_LIST
|
||||||
audioplayers_windows
|
audioplayers_windows
|
||||||
awesome_notifications
|
|
||||||
cloud_firestore
|
cloud_firestore
|
||||||
file_selector_windows
|
file_selector_windows
|
||||||
firebase_auth
|
firebase_auth
|
||||||
|
|||||||
Reference in New Issue
Block a user