Skip to content

Commit 19a9edd

Browse files
committed
Use the SideMenuPreferences.parse() directly
1 parent 9b477dc commit 19a9edd

File tree

1 file changed

+7
-8
lines changed

1 file changed

+7
-8
lines changed

apps/webapp/app/services/dashboardPreferences.server.ts

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,6 @@ const SideMenuPreferences = z.object({
88
manageSectionCollapsed: z.boolean().default(false),
99
});
1010

11-
export const SideMenuPreferencesDefaults = SideMenuPreferences.parse({});
12-
1311
export type SideMenuPreferences = z.infer<typeof SideMenuPreferences>;
1412

1513
const DashboardPreferences = z.object({
@@ -123,12 +121,13 @@ export async function updateSideMenuPreferences({
123121
return;
124122
}
125123

126-
const currentSideMenu = user.dashboardPreferences.sideMenu ?? SideMenuPreferencesDefaults;
127-
128-
const updatedSideMenu: SideMenuPreferences = {
129-
isCollapsed: isCollapsed ?? currentSideMenu.isCollapsed,
130-
manageSectionCollapsed: manageSectionCollapsed ?? currentSideMenu.manageSectionCollapsed,
131-
};
124+
// Parse with schema to apply defaults, then overlay any new values
125+
const currentSideMenu = SideMenuPreferences.parse(user.dashboardPreferences.sideMenu ?? {});
126+
const updatedSideMenu = SideMenuPreferences.parse({
127+
...currentSideMenu,
128+
...(isCollapsed !== undefined && { isCollapsed }),
129+
...(manageSectionCollapsed !== undefined && { manageSectionCollapsed }),
130+
});
132131

133132
// Only update if something changed
134133
if (

0 commit comments

Comments
 (0)