[WEB-3175]fix: favorites menu (#6773)

* fix: favrotites menu open

* fix: open fav menu on starring projec

* chore: added constant for hardcoded text
This commit is contained in:
Vamsi Krishna 2025-03-20 14:03:24 +05:30 committed by GitHub
parent 04fb13cbca
commit bc539e0d01
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
9 changed files with 78 additions and 16 deletions

View file

@ -13,7 +13,9 @@ import {
MODULE_UNFAVORITED,
EUserPermissions,
EUserPermissionsLevel,
IS_FAVORITE_MENU_OPEN,
} from "@plane/constants";
import { useLocalStorage } from "@plane/hooks";
import { IModule } from "@plane/types";
import {
Card,
@ -30,7 +32,6 @@ import { DateRangeDropdown } from "@/components/dropdowns";
import { ButtonAvatars } from "@/components/dropdowns/member/avatar";
import { ModuleQuickActions } from "@/components/modules";
import { ModuleStatusDropdown } from "@/components/modules/module-status-dropdown";
// constants
// helpers
import { getDate, renderFormattedPayloadDate } from "@/helpers/date-time.helper";
import { generateQueryParams } from "@/helpers/router.helper";
@ -59,6 +60,9 @@ export const ModuleCardItem: React.FC<Props> = observer((props) => {
const { getUserDetails } = useMember();
const { captureEvent } = useEventTracker();
// local storage
const { setValue: toggleFavoriteMenu, storedValue } = useLocalStorage<boolean>(IS_FAVORITE_MENU_OPEN, false);
// derived values
const moduleDetails = getModuleById(moduleId);
const isEditingAllowed = allowPermissions(
@ -76,6 +80,7 @@ export const ModuleCardItem: React.FC<Props> = observer((props) => {
const addToFavoritePromise = addModuleToFavorites(workspaceSlug.toString(), projectId.toString(), moduleId).then(
() => {
if (!storedValue) toggleFavoriteMenu(true);
captureEvent(MODULE_FAVORITED, {
module_id: moduleId,
element: "Grid layout",

View file

@ -12,7 +12,9 @@ import {
MODULE_UNFAVORITED,
EUserPermissions,
EUserPermissionsLevel,
IS_FAVORITE_MENU_OPEN,
} from "@plane/constants";
import { useLocalStorage } from "@plane/hooks";
import { useTranslation } from "@plane/i18n";
import { IModule } from "@plane/types";
// ui
@ -45,6 +47,8 @@ export const ModuleListItemAction: FC<Props> = observer((props) => {
const { t } = useTranslation();
// local storage
const { setValue: toggleFavoriteMenu, storedValue } = useLocalStorage<boolean>(IS_FAVORITE_MENU_OPEN, false);
// derived values
const moduleStatus = MODULE_STATUS.find((status) => status.value === moduleDetails.status);
@ -63,6 +67,8 @@ export const ModuleListItemAction: FC<Props> = observer((props) => {
const addToFavoritePromise = addModuleToFavorites(workspaceSlug.toString(), projectId.toString(), moduleId).then(
() => {
// open favorites menu if closed
if (!storedValue) toggleFavoriteMenu(true);
captureEvent(MODULE_FAVORITED, {
module_id: moduleId,
element: "Grid layout",