diff --git a/apps/web/src/common/index.ts b/apps/web/src/common/index.ts
index d8656c92a..ef69cf90b 100644
--- a/apps/web/src/common/index.ts
+++ b/apps/web/src/common/index.ts
@@ -20,7 +20,7 @@ along with this program. If not, see .
import Config from "../utils/config";
import { hashNavigate, getCurrentHash } from "../navigation";
import { db } from "./db";
-import { sanitizeFilename } from "@notesnook/common";
+import { isFeatureAvailable, sanitizeFilename } from "@notesnook/common";
import { useStore as useUserStore } from "../stores/user-store";
import { HomePage, useStore as useSettingStore } from "../stores/setting-store";
import { showToast } from "../utils/toast";
@@ -49,6 +49,7 @@ import { ZipFile } from "../utils/streams/zip-stream";
import { ConfirmDialog, showLogoutConfirmation } from "../dialogs/confirm";
import { Home } from "../components/icons";
import { MenuItem } from "@notesnook/ui";
+import { showFeatureNotAllowedToast } from "./toasts";
export const CREATE_BUTTON_MAP = {
notes: {
@@ -466,8 +467,14 @@ export function createSetDefaultHomepageMenuItem(
type: "button",
title: strings.setAsHomepage(),
isChecked: homepage?.id === id && homepage?.type === type,
- onClick: () => {
- useSettingStore.getState().setHomepage({ id, type });
+ onClick: async () => {
+ if (homepage?.id === id && homepage?.type === type)
+ useSettingStore.getState().setHomepage();
+ else {
+ const result = await isFeatureAvailable("customHomepage");
+ if (!result.isAllowed) return showFeatureNotAllowedToast(result);
+ useSettingStore.getState().setHomepage({ id, type });
+ }
},
icon: Home.path
} as MenuItem;
diff --git a/apps/web/src/stores/setting-store.ts b/apps/web/src/stores/setting-store.ts
index eec7a1bc0..68885ea1e 100644
--- a/apps/web/src/stores/setting-store.ts
+++ b/apps/web/src/stores/setting-store.ts
@@ -150,9 +150,15 @@ class SettingStore extends BaseStore {
Config.set("encryptBackups", encryptBackups);
};
- setHomepage = (homepage: HomePage) => {
+ setHomepage = (homepage?: HomePage) => {
this.set({ homepage });
- Config.set("homepage-v2", homepage);
+ Config.set(
+ "homepage-v2",
+ homepage || {
+ type: "route",
+ id: "notes"
+ }
+ );
};
setDefaultSidebarTab = (defaultSidebarTab: "home" | "notebooks" | "tags") => {