foto portada
This commit is contained in:
@@ -26,6 +26,7 @@ class ReferenceBannerPhoto extends StatelessWidget {
|
||||
if (imageData != null) {
|
||||
return Image.memory(
|
||||
imageData,
|
||||
width: double.infinity,
|
||||
height: size,
|
||||
fit: BoxFit.fill,
|
||||
);
|
||||
|
||||
@@ -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),
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user