From 7bcd1df35a5abdc9f551ded0468dc60ad85d3754 Mon Sep 17 00:00:00 2001 From: Ammar Ahmed Date: Mon, 4 Dec 2023 12:25:22 +0500 Subject: [PATCH] core: add sidebar order settings --- packages/core/src/collections/settings.ts | 27 ++++++++++++++++++++++- packages/core/src/database/index.ts | 4 +++- 2 files changed, 29 insertions(+), 2 deletions(-) diff --git a/packages/core/src/collections/settings.ts b/packages/core/src/collections/settings.ts index 32483f98e..6a744538e 100644 --- a/packages/core/src/collections/settings.ts +++ b/packages/core/src/collections/settings.ts @@ -24,6 +24,7 @@ import { GroupingKey, SettingItem, SettingItemMap, + SideBarSectionKey, ToolbarConfig, ToolbarConfigPlatforms, TrashCleanupInterval @@ -62,7 +63,15 @@ const defaultSettings: SettingItemMap = { "groupOptions:reminders": DEFAULT_GROUP_OPTIONS("reminders"), "toolbarConfig:desktop": undefined, - "toolbarConfig:mobile": undefined + "toolbarConfig:mobile": undefined, + + "sideBarOrder:colors": [], + "sideBarOrder:menu": [], + "sideBarOrder:pinned": [], + + "sideBarHiddenItems:colors": [], + "sideBarHiddenItems:menu": [], + "sideBarHiddenItems:pinned": [] }; export class Settings implements ICollection { @@ -169,4 +178,20 @@ export class Settings implements ICollection { setTimeFormat(format: TimeFormat) { return this.set("timeFormat", format); } + + getSideBarOrder(section: SideBarSectionKey) { + return this.get(`sideBarOrder:${section}`); + } + + setSideBarOrder(section: SideBarSectionKey, order: string[]) { + return this.set(`sideBarOrder:${section}`, order); + } + + getSideBarHiddenItems(section: SideBarSectionKey) { + return this.get(`sideBarHiddenItems:${section}`); + } + + setSideBarHiddenItems(section: SideBarSectionKey, order: string[]) { + return this.set(`sideBarHiddenItems:${section}`, order); + } } diff --git a/packages/core/src/database/index.ts b/packages/core/src/database/index.ts index 9d27b182a..bc2047d0d 100644 --- a/packages/core/src/database/index.ts +++ b/packages/core/src/database/index.ts @@ -189,7 +189,9 @@ const DataMappers: Partial void>> = { if ( row.value && (row.key.startsWith("groupOptions") || - row.key.startsWith("toolbarConfig")) + row.key.startsWith("toolbarConfig") || + row.key.startsWith("sideBarOrder") || + row.key.startsWith("sideBarHidenItems")) ) row.value = JSON.parse(row.value); },