This commit is contained in:
Felipe
2024-04-18 15:51:23 -05:00
parent 631b8c5801
commit 8084d5fc7f
15 changed files with 364 additions and 56 deletions
+21 -13
View File
@@ -20,12 +20,16 @@ class UserCalendarScreen extends StatefulWidget {
class UserCalendarScreenState extends State<UserCalendarScreen> {
final settingRepository = Injector.appInstance.get<SettingRepository>();
final serviceRepository =
Injector.appInstance.get<FirebaseServiceRepository>();
SettingEntity? settings;
DateTime today = DateTime.now();
DateTime now = DateTime.now();
late int numDay;
List<ServiceEntity>? _services;
CalendarFormat _calendarFormat = CalendarFormat.month;
@override
@@ -36,6 +40,7 @@ class UserCalendarScreenState extends State<UserCalendarScreen> {
numDay = today.weekday;
_loadSettings();
_loadServices();
}
void _loadSettings() {
@@ -46,6 +51,17 @@ class UserCalendarScreenState extends State<UserCalendarScreen> {
);
}
void _loadServices() {
serviceRepository
.getServicesForProfessionalforCalendar(
widget.userProfessional.myUser.id)
.then((services) {
setState(() {
_services = services;
});
});
}
void _onDaySelected(DateTime day, DateTime focusedDay) {
setState(() {
today = day;
@@ -164,7 +180,7 @@ class UserCalendarScreenState extends State<UserCalendarScreen> {
schedule.range2Hour2!,
);
return rangesItemList(ranges, null);
return rangesItemList(ranges, _services);
}
List<TimeOfDay> ranges1 = TimeOfDayUtils.genRanges(
@@ -177,23 +193,15 @@ class UserCalendarScreenState extends State<UserCalendarScreen> {
);
return [
...rangesItemList(ranges1, null),
...rangesItemList(ranges2, null),
...rangesItemList(ranges1, _services),
...rangesItemList(ranges2, _services),
];
}
bool _isHora1Ocupada(TimeOfDay hora1, List<ServiceEntity>? events) {
if (events != null) {
for (ServiceEntity event in events) {
DateTime time1 = DateTime(
today.year,
today.month,
today.day,
hora1.hour,
hora1.minute,
);
if (event.range1Hour1 == time1.toString()) {
if (hora1 == event.range1Hour1) {
return true;
}
}
@@ -238,7 +246,7 @@ class UserCalendarScreenState extends State<UserCalendarScreen> {
),
),
title: Text(
time.format(context),
ScheduleEntity.getFormatTime(time) ?? '',
style: const TextStyle(fontSize: 15, fontWeight: FontWeight.bold),
),
subtitle: const Text(