From db7238da5e519fad5b249a55cece2bc491225cba Mon Sep 17 00:00:00 2001 From: Sarah Vaupel <> Date: Sat, 24 Oct 2020 19:40:17 +0200 Subject: [PATCH] refactor(schedule): use ScheduleOffset in ScheduleOptionsAction --- src/Handler/Schedule.hs | 2 +- .../Utils/Schedule/Types/ScheduleEntry.hs | 2 +- .../Utils/Schedule/Types/ScheduleOptions.hs | 26 ++++++++++--------- 3 files changed, 16 insertions(+), 14 deletions(-) diff --git a/src/Handler/Schedule.hs b/src/Handler/Schedule.hs index 9d907495c..7cb846c5a 100644 --- a/src/Handler/Schedule.hs +++ b/src/Handler/Schedule.hs @@ -67,7 +67,7 @@ postScheduleR = do { scheduleOffset = case sNewOffset of ScheduleOffsetNone -> ScheduleOffsetNone _ -> (scheduleOffset currentScheduleOptions) `addOffset` sNewOffset - , scheduleOptionsAction = ScheduleSetOffset (offsetInDays sNewOffset) + , scheduleOptionsAction = ScheduleSetOffset sNewOffset }) _ -> mempty diff --git a/src/Handler/Utils/Schedule/Types/ScheduleEntry.hs b/src/Handler/Utils/Schedule/Types/ScheduleEntry.hs index 589ebc4af..536623ff8 100644 --- a/src/Handler/Utils/Schedule/Types/ScheduleEntry.hs +++ b/src/Handler/Utils/Schedule/Types/ScheduleEntry.hs @@ -6,7 +6,7 @@ import Import data ScheduleEntry = ScheduleCourseEvent - { sceCourse :: Entity Course -- TODO: just course? + { sceCourse :: Entity Course , sceType :: CourseEventType , sceRoom :: CourseEventRoom , sceOccurrence :: Either OccurrenceException OccurrenceSchedule diff --git a/src/Handler/Utils/Schedule/Types/ScheduleOptions.hs b/src/Handler/Utils/Schedule/Types/ScheduleOptions.hs index 75f23f7da..3bef17dbc 100644 --- a/src/Handler/Utils/Schedule/Types/ScheduleOptions.hs +++ b/src/Handler/Utils/Schedule/Types/ScheduleOptions.hs @@ -30,7 +30,7 @@ derivePathPiece ''ScheduleOffset (camelToPathPiece' 1) "_" data ScheduleOptionsAction = ScheduleSetView - | ScheduleSetOffset Int -- TODO: use ScheduleOffset instead of Int + | ScheduleSetOffset ScheduleOffset | ScheduleSetDefault deriving (Eq, Ord, Show, Read, Generic, Typeable) @@ -49,14 +49,16 @@ derivePathPiece ''ScheduleOptions (camelToPathPiece' 1) "__" instance Button UniWorX ScheduleOptions where btnClasses = const [BCIsButton] btnLabel ScheduleOptions{..} = case scheduleOptionsAction of - ScheduleSetDefault -> [whamlet| _{MsgScheduleReset} |] - ScheduleSetView -> case scheduleView of - ScheduleViewWeek -> [whamlet| _{MsgScheduleViewWeek} |] - ScheduleSetOffset d -> case scheduleView of - ScheduleViewWeek -> let iconTooltipMessage i m = iconTooltip [whamlet| _{m} |] (Just i) True in case d of - (-7) -> [whamlet| ^{iconTooltipMessage IconFastBackward MsgScheduleOffsetWeekBackwardWeek} |] - (-1) -> [whamlet| ^{iconTooltipMessage IconBackward MsgScheduleOffsetWeekBackwardDay} |] - 0 -> [whamlet| ^{iconTooltipMessage IconCurrent MsgScheduleOffsetWeekCurrent} |] - 1 -> [whamlet| ^{iconTooltipMessage IconForward MsgScheduleOffsetWeekForwardDay} |] - 7 -> [whamlet| ^{iconTooltipMessage IconFastForward MsgScheduleOffsetWeekForwardWeek} |] - _ -> [whamlet| #{tshow d} |] + ScheduleSetDefault -> [whamlet| _{MsgScheduleReset} |] + ScheduleSetView -> case scheduleView of + ScheduleViewWeek -> [whamlet| _{MsgScheduleViewWeek} |] + ScheduleSetOffset o -> case scheduleView of + ScheduleViewWeek -> let iconTooltipMessage i m = iconTooltip [whamlet| _{m} |] (Just i) True in case o of + ScheduleOffsetNone -> [whamlet| ^{iconTooltipMessage IconCurrent MsgScheduleOffsetWeekCurrent} |] + ScheduleOffsetDays d -> case d of + (-7) -> [whamlet| ^{iconTooltipMessage IconFastBackward MsgScheduleOffsetWeekBackwardWeek} |] + (-1) -> [whamlet| ^{iconTooltipMessage IconBackward MsgScheduleOffsetWeekBackwardDay} |] + 0 -> [whamlet| ^{iconTooltipMessage IconCurrent MsgScheduleOffsetWeekCurrent} |] + 1 -> [whamlet| ^{iconTooltipMessage IconForward MsgScheduleOffsetWeekForwardDay} |] + 7 -> [whamlet| ^{iconTooltipMessage IconFastForward MsgScheduleOffsetWeekForwardWeek} |] + _ -> [whamlet| #{tshow d} |]