foto portada

This commit is contained in:
Juan Felipe Duarte
2023-04-20 14:15:53 -05:00
parent 93f00e7399
commit 5ef0809929
8 changed files with 311 additions and 39 deletions
+1
View File
@@ -26,6 +26,7 @@ class ReferenceBannerPhoto extends StatelessWidget {
if (imageData != null) {
return Image.memory(
imageData,
width: double.infinity,
height: size,
fit: BoxFit.fill,
);
+74 -2
View File
@@ -1,4 +1,6 @@
import 'package:cloud_firestore/cloud_firestore.dart';
import 'package:flutter/material.dart';
import 'package:intl/intl.dart';
import 'package:prosappco/src/components/primary_btn.dart';
typedef TimeCallback = void Function(TimeOfDay? pickedTime);
@@ -60,8 +62,8 @@ class _SchedulePickerState extends State<SchedulePicker> {
const Text('-'),
]
: []),
datePicker(widget.schedule.range1Hour2,
(pickedTime) => widget.schedule.range1Hour2 = pickedTime),
datePicker(widget.schedule.range2Hour2,
(pickedTime) => widget.schedule.range2Hour2 = pickedTime),
]),
),
];
@@ -137,4 +139,74 @@ class Schedule {
Schedule(this.habilitado, this.jornadaContinua, this.range1Hour1,
this.range1Hour2, this.range2Hour1, this.range2Hour2);
static Future<Map<String, Schedule>> fromJson(
Map<String, dynamic>? json) async {
try {
if (json == null) {
return {
"Lunes": Schedule(false, false, null, null, null, null),
"Martes": Schedule(false, false, null, null, null, null),
"Miercoles": Schedule(false, false, null, null, null, null),
"Jueves": Schedule(false, false, null, null, null, null),
"Viernes": Schedule(false, false, null, null, null, null),
"Sabado": Schedule(false, false, null, null, null, null),
"Domingo": Schedule(false, false, null, null, null, null),
};
}
Map<String, dynamic> horarios = json['horario'];
horarios.entries;
print('Entrada ${horarios.entries}');
var hora = horarios.map((key, value) => MapEntry(
key,
Schedule(
value['habilitado'],
value['jornadaContinua'],
stringToTimeOfDay(value['range1Hour1']),
stringToTimeOfDay(value['range1Hour2']),
stringToTimeOfDay(value['range2Hour1']),
stringToTimeOfDay(value['range2Hour2']))));
print('Entradas ${hora}');
return hora;
} catch (e) {
return {
"Lunes": Schedule(false, false, null, null, null, null),
"Martes": Schedule(false, false, null, null, null, null),
"Miercoles": Schedule(false, false, null, null, null, null),
"Jueves": Schedule(false, false, null, null, null, null),
"Viernes": Schedule(false, false, null, null, null, null),
"Sabado": Schedule(false, false, null, null, null, null),
"Domingo": Schedule(false, false, null, null, null, null),
};
}
}
static TimeOfDay stringToTimeOfDay(String? tod) {
if (tod == null) {
return TimeOfDay.now();
}
final format = DateFormat.jm();
return TimeOfDay.fromDateTime(format.parse(tod));
}
static Future<Map<String, Schedule>> getHorarios(String uid) async {
try {
final snapshot =
await FirebaseFirestore.instance.collection('users').doc(uid).get();
final Map<String, dynamic>? data = snapshot.data();
return fromJson(data);
} catch (e) {
print('Error getting user: $e');
return {
"Lunes": Schedule(false, false, null, null, null, null),
"Martes": Schedule(false, false, null, null, null, null),
"Miercoles": Schedule(false, false, null, null, null, null),
"Jueves": Schedule(false, false, null, null, null, null),
"Viernes": Schedule(false, false, null, null, null, null),
"Sabado": Schedule(false, false, null, null, null, null),
"Domingo": Schedule(false, false, null, null, null, null),
};
}
}
}