fix: wrap all update action views in pageLayout so navbar persists on WebSocket updates
HyperView update actions replace only the hyper component — without pageLayout the navbar disappears after any interactive action (create chore, navigate pages, refresh, create household, etc.). Every hyper-returning update now wraps the view in pageLayout us.
This commit is contained in:
@@ -44,10 +44,10 @@ instance (DB :> es, IOE :> es) => HyperView ActivityPage es where
|
|||||||
Just us -> do
|
Just us -> do
|
||||||
hhs <- getUserHouseholds (UserId (usUserId us))
|
hhs <- getUserHouseholds (UserId (usUserId us))
|
||||||
case hhs of
|
case hhs of
|
||||||
[] -> pure $ hyper ActivityPage $ el "No households"
|
[] -> pure $ hyper ActivityPage $ pageLayout us $ el "No households"
|
||||||
(h : _) -> do
|
(h : _) -> do
|
||||||
log <- getActivityLog (unHouseholdId (householdId h)) pageNum 20
|
log <- getActivityLog (unHouseholdId (householdId h)) pageNum 20
|
||||||
pure $ hyper ActivityPage $ activityView log
|
pure $ hyper ActivityPage $ pageLayout us $ activityView log
|
||||||
|
|
||||||
activityView :: ActivityLogPage -> View ActivityPage ()
|
activityView :: ActivityLogPage -> View ActivityPage ()
|
||||||
activityView log = do
|
activityView log = do
|
||||||
|
|||||||
@@ -50,10 +50,10 @@ instance (DB :> es, IOE :> es) => HyperView ChoresPage es where
|
|||||||
Just us -> do
|
Just us -> do
|
||||||
hhs <- getUserHouseholds (UserId (usUserId us))
|
hhs <- getUserHouseholds (UserId (usUserId us))
|
||||||
case hhs of
|
case hhs of
|
||||||
[] -> pure $ hyper ChoresPage $ el "No households"
|
[] -> pure $ hyper ChoresPage $ pageLayout us $ el "No households"
|
||||||
(h : _) -> do
|
(h : _) -> do
|
||||||
chores' <- getChores (unHouseholdId (householdId h))
|
chores' <- getChores (unHouseholdId (householdId h))
|
||||||
pure $ hyper ChoresPage $ choresView chores'
|
pure $ hyper ChoresPage $ pageLayout us $ choresView chores'
|
||||||
update (CDeleteChore cid) = do
|
update (CDeleteChore cid) = do
|
||||||
deleteChore (unChoreId cid)
|
deleteChore (unChoreId cid)
|
||||||
update CRefreshChores
|
update CRefreshChores
|
||||||
@@ -64,12 +64,12 @@ instance (DB :> es, IOE :> es) => HyperView ChoresPage es where
|
|||||||
Just us -> do
|
Just us -> do
|
||||||
hhs <- getUserHouseholds (UserId (usUserId us))
|
hhs <- getUserHouseholds (UserId (usUserId us))
|
||||||
case hhs of
|
case hhs of
|
||||||
[] -> pure $ hyper ChoresPage $ el "No households"
|
[] -> pure $ hyper ChoresPage $ pageLayout us $ el "No households"
|
||||||
(h : _) -> do
|
(h : _) -> do
|
||||||
let hid = unHouseholdId (householdId h)
|
let hid = unHouseholdId (householdId h)
|
||||||
chores' <- getChores hid
|
chores' <- getChores hid
|
||||||
mems <- getMembers hid
|
mems <- getMembers hid
|
||||||
pure $ hyper ChoresPage $ choresViewWithForm chores' mems
|
pure $ hyper ChoresPage $ pageLayout us $ choresViewWithForm chores' mems
|
||||||
update CCreateChore = do
|
update CCreateChore = do
|
||||||
form <- formData @ChoreFormData
|
form <- formData @ChoreFormData
|
||||||
mUser <- lookupSession @UserSession
|
mUser <- lookupSession @UserSession
|
||||||
@@ -78,14 +78,14 @@ instance (DB :> es, IOE :> es) => HyperView ChoresPage es where
|
|||||||
Just us -> do
|
Just us -> do
|
||||||
hhs <- getUserHouseholds (UserId (usUserId us))
|
hhs <- getUserHouseholds (UserId (usUserId us))
|
||||||
case hhs of
|
case hhs of
|
||||||
[] -> pure $ hyper ChoresPage $ el "No households"
|
[] -> pure $ hyper ChoresPage $ pageLayout us $ el "No households"
|
||||||
(h : _) -> do
|
(h : _) -> do
|
||||||
let hid = unHouseholdId (householdId h)
|
let hid = unHouseholdId (householdId h)
|
||||||
let schedule = parseSchedule (cfdStartDate form)
|
let schedule = parseSchedule (cfdStartDate form)
|
||||||
assignee = parseAssignee (cfdAssignee form)
|
assignee = parseAssignee (cfdAssignee form)
|
||||||
_ <- createChore hid (cfdName form) assignee schedule (cfdNotify form)
|
_ <- createChore hid (cfdName form) assignee schedule (cfdNotify form)
|
||||||
chores' <- getChores hid
|
chores' <- getChores hid
|
||||||
pure $ hyper ChoresPage $ choresView chores'
|
pure $ hyper ChoresPage $ pageLayout us $ choresView chores'
|
||||||
|
|
||||||
----------------------------------------------------------------------
|
----------------------------------------------------------------------
|
||||||
-- Views
|
-- Views
|
||||||
|
|||||||
@@ -45,10 +45,10 @@ instance (DB :> es, IOE :> es) => HyperView DashboardPage es where
|
|||||||
today <- liftIO (utctDay <$> getCurrentTime)
|
today <- liftIO (utctDay <$> getCurrentTime)
|
||||||
hhs <- getUserHouseholds (UserId (usUserId us))
|
hhs <- getUserHouseholds (UserId (usUserId us))
|
||||||
case hhs of
|
case hhs of
|
||||||
[] -> pure $ hyper DashboardPage $ el "No households"
|
[] -> pure $ hyper DashboardPage $ pageLayout us $ el "No households"
|
||||||
(h : _) -> do
|
(h : _) -> do
|
||||||
dash <- getDashboard (unHouseholdId (householdId h)) today
|
dash <- getDashboard (unHouseholdId (householdId h)) today
|
||||||
pure $ hyper DashboardPage $ dashboardView dash
|
pure $ hyper DashboardPage $ pageLayout us $ dashboardView dash
|
||||||
update (CheckOff _oid) = do
|
update (CheckOff _oid) = do
|
||||||
-- TODO: wire up to activity form
|
-- TODO: wire up to activity form
|
||||||
update RefreshDashboard
|
update RefreshDashboard
|
||||||
|
|||||||
@@ -45,12 +45,12 @@ instance (DB :> es, IOE :> es) => HyperView HouseholdPage es where
|
|||||||
Just us -> do
|
Just us -> do
|
||||||
hhs <- getUserHouseholds (UserId (usUserId us))
|
hhs <- getUserHouseholds (UserId (usUserId us))
|
||||||
case hhs of
|
case hhs of
|
||||||
[] -> pure $ hyper HouseholdPage noHouseholdView
|
[] -> pure $ hyper HouseholdPage $ pageLayout us noHouseholdView
|
||||||
(h : _) -> do
|
(h : _) -> do
|
||||||
let hid = unHouseholdId (householdId h)
|
let hid = unHouseholdId (householdId h)
|
||||||
mems <- getMembers hid
|
mems <- getMembers hid
|
||||||
invs <- getInvites hid
|
invs <- getInvites hid
|
||||||
pure $ hyper HouseholdPage $ householdView h mems invs
|
pure $ hyper HouseholdPage $ pageLayout us $ householdView h mems invs
|
||||||
update CreateHouseholdAction = do
|
update CreateHouseholdAction = do
|
||||||
form <- formData @HouseholdFormData
|
form <- formData @HouseholdFormData
|
||||||
mUser <- lookupSession @UserSession
|
mUser <- lookupSession @UserSession
|
||||||
@@ -62,7 +62,7 @@ instance (DB :> es, IOE :> es) => HyperView HouseholdPage es where
|
|||||||
let hid = unHouseholdId (householdId h)
|
let hid = unHouseholdId (householdId h)
|
||||||
mems <- getMembers hid
|
mems <- getMembers hid
|
||||||
invs <- getInvites hid
|
invs <- getInvites hid
|
||||||
pure $ hyper HouseholdPage $ householdView h mems invs
|
pure $ hyper HouseholdPage $ pageLayout us $ householdView h mems invs
|
||||||
update CreateInviteAction = do
|
update CreateInviteAction = do
|
||||||
mUser <- lookupSession @UserSession
|
mUser <- lookupSession @UserSession
|
||||||
case mUser of
|
case mUser of
|
||||||
|
|||||||
Reference in New Issue
Block a user