diff --git a/src/Handler/Schedule.hs b/src/Handler/Schedule.hs index 1242a5b1b..32542f46c 100644 --- a/src/Handler/Schedule.hs +++ b/src/Handler/Schedule.hs @@ -18,11 +18,11 @@ postScheduleR = do -- TODO: local instead of global get params? mOptions <- lookupGlobalGetParam GetScheduleOptions + -- TODO: remove (for PathPiece instance debugging only) let debugScheduleOptions = ScheduleOptions { scheduleView = ScheduleViewWeek , scheduleOffset = ScheduleOffsetDays 5 } - $logInfoS "TEST" $ "debugScheduleOptions: " <> toPathPiece debugScheduleOptions $logInfoS "SCHEDULE" $ "encountered param: " <> tshow mOptions <> ", param path piece: " <> toPathPiece GetScheduleOptions @@ -42,6 +42,7 @@ postScheduleR = do currentScheduleOffset :: ScheduleOffset currentScheduleOffset = scheduleOffset $ fromMaybe defaultScheduleOptions mOptions + -- TODO: remove --offsetFromWeekBtn :: ButtonScheduleOffsetWeek -> ScheduleOffset --offsetFromWeekBtn btn = case schedBtnOffset btn of -- ScheduleOffsetNone -> ScheduleOffsetNone @@ -85,7 +86,7 @@ postScheduleR = do (offsetRess, offsetWidgets) <- fmap unzip . for offsetBtns $ \btn -> mopt (buttonField btn) ("" { fsName = Just $ toPathPiece GetScheduleOptions - , fsAttrs = if scheduleOffset btn == currentScheduleOffset then [("disabled","")] else mempty + , fsAttrs = if offsetInDays (scheduleOffset btn) == offsetInDays currentScheduleOffset then [("disabled","")] else mempty }) Nothing offsetRes <- if @@ -127,3 +128,8 @@ addOffset :: ScheduleOffset -> ScheduleOffset -> ScheduleOffset addOffset ScheduleOffsetNone offset = offset addOffset offset ScheduleOffsetNone = offset addOffset (ScheduleOffsetDays d) (ScheduleOffsetDays d') = ScheduleOffsetDays $ d + d' + +-- | Calculate number of offset days from ScheduleOffset +offsetInDays :: ScheduleOffset -> Int +offsetInDays ScheduleOffsetNone = 0 +offsetInDays (ScheduleOffsetDays d) = d