[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
9 changed files with 78 additions and 16 deletions

View File

@@ -3,13 +3,13 @@ import { observer } from "mobx-react";
import { useParams } from "next/navigation";
import { Earth, Lock } from "lucide-react";
// types
import { EViewAccess, EUserPermissions, EUserPermissionsLevel } from "@plane/constants";
import { EViewAccess, EUserPermissions, EUserPermissionsLevel, IS_FAVORITE_MENU_OPEN } from "@plane/constants";
import { useLocalStorage } from "@plane/hooks";
import { IProjectView } from "@plane/types";
// ui
import { Tooltip, FavoriteStar } from "@plane/ui";
// components
import { DeleteProjectViewModal, CreateUpdateProjectViewModal, ViewQuickActions } from "@/components/views";
// constants
// helpers
import { calculateTotalFilters } from "@/helpers/filter.helper";
import { getPublishViewLink } from "@/helpers/project-views.helpers";
@@ -37,6 +37,12 @@ export const ViewListItemAction: FC<Props> = observer((props) => {
const { addViewToFavorites, removeViewFromFavorites } = useProjectView();
const { getUserDetails } = useMember();
// local storage
const { setValue: toggleFavoriteMenu, storedValue: isFavoriteOpen } = useLocalStorage<boolean>(
IS_FAVORITE_MENU_OPEN,
false
);
// derived values
const isEditingAllowed = allowPermissions(
[EUserPermissions.ADMIN, EUserPermissions.MEMBER],
@@ -50,10 +56,11 @@ export const ViewListItemAction: FC<Props> = observer((props) => {
const publishLink = getPublishViewLink(view?.anchor);
// handlers
const handleAddToFavorites = () => {
const handleAddToFavorites = async () => {
if (!workspaceSlug || !projectId) return;
addViewToFavorites(workspaceSlug.toString(), projectId.toString(), view.id);
await addViewToFavorites(workspaceSlug.toString(), projectId.toString(), view.id);
if (!isFavoriteOpen) toggleFavoriteMenu(true);
};
const handleRemoveFromFavorites = () => {