This commit is contained in:
Felipe
2023-11-03 09:31:20 -05:00
parent 61d3ab4c29
commit cd70e946af
16 changed files with 279 additions and 229 deletions
-2
View File
@@ -90,7 +90,6 @@ class DrawerMenu extends StatelessWidget {
),
ListTile(
onTap: () {
Navigator.pop(context);
if (kIsWeb) {
Navigator.push(
context,
@@ -406,7 +405,6 @@ class DrawerMenu extends StatelessWidget {
ListTile infoUser(BuildContext context, UserModel? user) {
return ListTile(
onTap: () {
Navigator.pop(context);
if (kIsWeb) {
Navigator.push(
context,
+17 -19
View File
@@ -187,27 +187,25 @@ class _CitaScreenState extends State<CitaScreen> {
sizeCircle: 50,
sizeIcon: 35,
),
title: RichText(
text: TextSpan(
children: [
TextSpan(
text: '$nombre, ',
style: const TextStyle(
color: Colors.black,
fontWeight: FontWeight.bold,
fontSize: 16,
),
title: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
nombre,
style: const TextStyle(
color: Colors.black,
fontWeight: FontWeight.bold,
fontSize: 16,
),
TextSpan(
text:
'${DateFormat('dd MMM', 'es').format(DateTime.parse(widget.evento.day))} ${TimeOfDay.fromDateTime(DateTime.parse(widget.evento.range1Hour1)).format(context)}',
style: const TextStyle(
color: Colors.grey,
fontSize: 16,
),
),
Text(
'${DateFormat('dd MMMM', 'es').format(DateTime.parse(widget.evento.day))} ${DateFormat('h:mm a').format(DateTime.parse(widget.evento.range1Hour1))}',
style: const TextStyle(
color: Colors.grey,
fontSize: 16,
),
],
),
)
],
),
subtitle: Row(
children: [
+82 -53
View File
@@ -10,21 +10,12 @@ import 'package:prosappco/src/models/event_model.dart';
import 'package:prosappco/src/models/scores_model.dart';
import 'package:prosappco/src/screens/cita.dart';
class MyServicesScreen extends StatefulWidget {
class MyServicesScreen extends StatelessWidget {
MyServicesScreen({super.key});
@override
State<MyServicesScreen> createState() => _MyServicesScreenState();
}
class _MyServicesScreenState extends State<MyServicesScreen> {
DateTime today = DateTime.now();
final uid = AuthenticationRepository.instance.getCurrentUserUid();
@override
void initState() {
super.initState();
}
final uid = AuthenticationRepository.instance.getCurrentUserUid();
@override
Widget build(BuildContext context) {
@@ -119,7 +110,6 @@ class _MyServicesScreenState extends State<MyServicesScreen> {
if (profSnapshot.hasError) {
return const Text(
'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'
? const Icon(
Icons.check,
color: Colors.blue,
size: 40,
? const Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Icon(
Icons.check,
color: Colors.blue,
size: 30,
),
Text('Aceptado',
style: TextStyle(fontSize: 12)),
],
)
: event.status == 'iniciado'
? const Icon(
Icons.access_time,
color: Colors.blue,
size: 40,
? const Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Icon(
Icons.access_time,
color: Colors.blue,
size: 30,
),
Text('Iniciado',
style: TextStyle(fontSize: 12)),
],
)
: event.status == 'pendiente'
? const Icon(
Icons.access_time_outlined,
color: Colors.blue,
size: 40,
? const Column(
children: [
Icon(
Icons.access_time_outlined,
color: Colors.blue,
size: 30,
),
Text('Pendiente',
style: TextStyle(fontSize: 12)),
],
)
: event.status == 'terminado'
? const Icon(
Icons.rocket_launch,
color: Colors.blue,
size: 40,
? const Column(
children: [
Icon(
Icons.rocket_launch,
color: Colors.blue,
size: 30,
),
Text('Finalizado',
style:
TextStyle(fontSize: 12)),
],
)
: const Icon(
Icons.close,
color: Colors.red,
size: 40,
: const Column(
mainAxisAlignment:
MainAxisAlignment.center,
children: [
Icon(
Icons.close,
color: Colors.red,
size: 30,
),
Text('Cancelado',
style:
TextStyle(fontSize: 12)),
],
),
title: RichText(
text: TextSpan(
children: [
TextSpan(
text: '${professionalName}, ',
style: const TextStyle(
color: Colors.black,
fontWeight: FontWeight.bold,
fontSize: 16,
),
title: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
'$professionalName',
style: const TextStyle(
color: Colors.black,
fontWeight: FontWeight.bold,
fontSize: 16,
),
TextSpan(
text:
'${DateFormat('dd MMM', 'es').format(DateTime.parse(event.day))} - ${TimeOfDay.fromDateTime(DateTime.parse(event.range1Hour1)).format(context)}',
style: TextStyle(
color: Colors.grey[600],
fontSize: 16,
),
),
Text(
'${DateFormat('dd MMMM', 'es').format(DateTime.parse(event.day))} - ${DateFormat('h:mm a').format(DateTime.parse(event.range1Hour1))}',
style: TextStyle(
color: Colors.grey[600],
fontSize: 16,
),
],
),
),
],
),
subtitle: Column(
crossAxisAlignment: CrossAxisAlignment.start,
@@ -221,13 +245,18 @@ class _MyServicesScreenState extends State<MyServicesScreen> {
],
),
Text(
'" ${event.description}"',
'"${event.description}"',
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),
],
),
);
},
),
+62 -35
View File
@@ -44,8 +44,12 @@ class MyServicesProScreen extends StatelessWidget {
stream: FirebaseFirestore.instance
.collection('services')
.where('professional_id', isEqualTo: uid)
.where('status',
whereIn: ['aprobado', 'denegado', 'iniciado', 'terminado'])
.where('status', whereIn: [
'aprobado',
'denegado',
'iniciado',
'terminado',
])
.snapshots()
.asyncMap((snapshot) async {
try {
@@ -116,43 +120,61 @@ class MyServicesProScreen extends StatelessWidget {
],
)
: event.status == 'iniciado'
? const Icon(
Icons.access_time,
color: Colors.blue,
size: 40,
? const Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Icon(
Icons.access_time,
color: Colors.blue,
size: 30,
),
Text('Iniciado', style: TextStyle(fontSize: 12)),
],
)
: event.status == 'terminado'
? const Icon(
Icons.rocket_launch,
color: Colors.blue,
size: 40,
? const Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Icon(
Icons.rocket_launch,
color: Colors.blue,
size: 30,
),
Text('Finalizado',
style: TextStyle(fontSize: 12)),
],
)
: const Icon(
Icons.close,
color: Colors.red,
size: 40,
: const Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Icon(
Icons.close,
color: Colors.red,
size: 30,
),
Text('Cancelado',
style: TextStyle(fontSize: 12)),
],
),
title: RichText(
text: TextSpan(
children: [
TextSpan(
text: '${event.title}, ',
style: const TextStyle(
color: Colors.black,
fontWeight: FontWeight.bold,
fontSize: 16,
),
title: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
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))} - ${TimeOfDay.fromDateTime(DateTime.parse(event.range1Hour1)).format(context)}',
style: TextStyle(
color: Colors.grey[600],
fontSize: 16,
),
),
Text(
'${DateFormat('dd MMMM', 'es').format(DateTime.parse(event.day))} - ${DateFormat('h:mm a').format(DateTime.parse(event.range1Hour1))}',
style: TextStyle(
color: Colors.grey[600],
fontSize: 16,
),
],
),
),
],
),
subtitle: Column(
crossAxisAlignment: CrossAxisAlignment.start,
@@ -182,12 +204,17 @@ class MyServicesProScreen extends StatelessWidget {
],
),
Text(
'" ${event.description}"',
'"${event.description}"',
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),
],
),
),
),
],
+1 -4
View File
@@ -168,11 +168,8 @@ class _ServiceScreenState extends State<ServiceScreen> {
final TimeOfDay? pickedTime = await showTimePicker(
context: context,
initialTime: TimeOfDay.now(),
// builder: (context, child) {
// return Theme(data: ThemeData.dark(), child: child!);
// },
);
if (pickedTime != null) {
setState(() {
_selectedTime = pickedTime;
+18 -31
View File
@@ -84,38 +84,25 @@ class _ServiceAfterScreenState extends State<ServiceAfterScreen> {
size: 55,
sizeCircle: 60,
),
title: RichText(
text: TextSpan(
children: [
TextSpan(
text: '${user?.name}, ',
style: const TextStyle(
color: Colors.black,
fontWeight: FontWeight.w500,
fontSize: 16,
),
title: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
'${user?.name}',
style: const TextStyle(
color: Colors.black,
fontWeight: FontWeight.bold,
fontSize: 16,
),
TextSpan(
text: DateFormat('dd MMM', 'es').format(DateTime.parse(
evento?.day ?? '2023-01-01 00:00:00.000Z')),
style: const TextStyle(
color: Colors.grey,
fontSize: 16,
),
),
Text(
'${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: TextStyle(
color: Colors.grey[600],
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(
children: [
@@ -200,7 +187,7 @@ class _ServiceAfterScreenState extends State<ServiceAfterScreen> {
),
),
Text(
'" ${evento?.description} "',
'"${evento?.description}"',
style:
TextStyle(color: Colors.grey[600], fontStyle: FontStyle.italic),
),
+47 -23
View File
@@ -100,32 +100,56 @@ class SolicitudScreen extends StatelessWidget {
),
);
},
leading: Text(
TimeOfDay.fromDateTime(DateTime.parse(event.range1Hour1))
.format(context),
leading: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Text(DateFormat('h:mm a')
.format(DateTime.parse(event.range1Hour1))),
],
),
title: RichText(
text: TextSpan(
children: [
TextSpan(
text: '${event.title}, ',
style: const TextStyle(
color: Colors.black,
fontWeight: FontWeight.bold,
fontSize: 16,
),
title: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
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,
),
),
Text(
'${DateFormat('dd MMMM', 'es').format(DateTime.parse(event.day))} - ${DateFormat('h:mm a').format(DateTime.parse(event.range1Hour1))}',
style: const TextStyle(
color: Colors.grey,
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(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
@@ -154,7 +178,7 @@ class SolicitudScreen extends StatelessWidget {
],
),
Text(
'" ${event.description}"',
'"${event.description}"',
style: const TextStyle(fontStyle: FontStyle.italic),
),
],