feat(schedule-week): hide weekdays according to user settings

This commit is contained in:
Sarah Vaupel 2020-10-30 14:42:51 +01:00
parent e2b2b8e7e1
commit 6f4891bb90

View File

@ -19,7 +19,7 @@ import Utils.Schedule.Week.TimeSlot
weekSchedule :: Entity User -> ScheduleOffset -> Widget
weekSchedule (Entity uid User{..}) scheduleOffset = do
weekSchedule (Entity uid User{userScheduleWeekDays=ScheduleWeekDays userScheduleWeekDays,..}) scheduleOffset = do
now <- liftIO getCurrentTime
tz <- liftIO getCurrentTimeZone
ata <- getSessionActiveAuthTags
@ -112,11 +112,10 @@ weekSchedule (Entity uid User{..}) scheduleOffset = do
_ -> True
in filter isRegularWithoutException occurrencesInSlot
-- TODO: auto-hide saturday and sunday (if there are no events scheduled)?
week :: [Day]
week = go dayNowOffset
where go d
| dayOfWeek d == firstDay = [d .. toEnum (fromEnum d + 6)]
| dayOfWeek d == firstDay = filter (flip elem userScheduleWeekDays . dayOfWeek) [d .. toEnum (fromEnum d + 6)]
| otherwise = go $ pred d
firstDay = toEnum $ fromEnum userWeekStart + dayOffset