From c1526a06ead1bb5b48e64a2ed3f6c293d48b5e7a Mon Sep 17 00:00:00 2001 From: Anmol Singh Bhatia Date: Wed, 7 Aug 2024 13:07:16 +0530 Subject: [PATCH 1/9] chore: favorite collapsible spacing --- .../components/workspace/sidebar/favorites/favorites-menu.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/web/core/components/workspace/sidebar/favorites/favorites-menu.tsx b/web/core/components/workspace/sidebar/favorites/favorites-menu.tsx index 4dc0f40ec3a..422484498e2 100644 --- a/web/core/components/workspace/sidebar/favorites/favorites-menu.tsx +++ b/web/core/components/workspace/sidebar/favorites/favorites-menu.tsx @@ -133,7 +133,7 @@ export const SidebarFavoritesMenu = observer(() => { toggleFavoriteMenu(!isFavoriteMenuOpen)} className="flex-1 text-start"> YOUR FAVORITES - + { setCreateNewFolder(true); From e80441472c87a1511ed4c6348b566185f367b85e Mon Sep 17 00:00:00 2001 From: Anmol Singh Bhatia Date: Wed, 7 Aug 2024 13:08:32 +0530 Subject: [PATCH 2/9] chore: favorite collapsible tooltip added --- .../sidebar/favorites/favorites-menu.tsx | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/web/core/components/workspace/sidebar/favorites/favorites-menu.tsx b/web/core/components/workspace/sidebar/favorites/favorites-menu.tsx index 422484498e2..7e0e91c3362 100644 --- a/web/core/components/workspace/sidebar/favorites/favorites-menu.tsx +++ b/web/core/components/workspace/sidebar/favorites/favorites-menu.tsx @@ -134,13 +134,15 @@ export const SidebarFavoritesMenu = observer(() => { YOUR FAVORITES - { - setCreateNewFolder(true); - !isFavoriteMenuOpen && toggleFavoriteMenu(!isFavoriteMenuOpen); - }} - className={cn("size-4 flex-shrink-0 text-custom-sidebar-text-400 transition-transform")} - /> + + { + setCreateNewFolder(true); + !isFavoriteMenuOpen && toggleFavoriteMenu(!isFavoriteMenuOpen); + }} + className={cn("size-4 flex-shrink-0 text-custom-sidebar-text-400 transition-transform")} + /> + toggleFavoriteMenu(!isFavoriteMenuOpen)} className={cn("size-4 flex-shrink-0 text-custom-sidebar-text-400 transition-transform", { From 638529b47d115f3cacc74f2fef5712cf6296ce3d Mon Sep 17 00:00:00 2001 From: Anmol Singh Bhatia Date: Wed, 7 Aug 2024 13:19:30 +0530 Subject: [PATCH 3/9] chore: user favorites icon improvement and code refactor --- packages/types/src/favorite/favorite.d.ts | 13 +++++ .../sidebar/favorites/favorite-item.tsx | 50 ++++++++++++------- 2 files changed, 44 insertions(+), 19 deletions(-) diff --git a/packages/types/src/favorite/favorite.d.ts b/packages/types/src/favorite/favorite.d.ts index 154d0e26616..d8bc4573604 100644 --- a/packages/types/src/favorite/favorite.d.ts +++ b/packages/types/src/favorite/favorite.d.ts @@ -1,9 +1,22 @@ +type TLogoProps = { + in_use: "emoji" | "icon"; + emoji?: { + value?: string; + url?: string; + }; + icon?: { + name?: string; + color?: string; + }; +}; + export type IFavorite = { id: string; name: string; entity_type: string; entity_data: { name: string; + logo_props: TLogoProps | undefined; }; is_folder: boolean; sort_order: number; diff --git a/web/core/components/workspace/sidebar/favorites/favorite-item.tsx b/web/core/components/workspace/sidebar/favorites/favorite-item.tsx index 79cd8dc563a..ca099114a31 100644 --- a/web/core/components/workspace/sidebar/favorites/favorite-item.tsx +++ b/web/core/components/workspace/sidebar/favorites/favorite-item.tsx @@ -9,7 +9,16 @@ import { useParams } from "next/navigation"; import { Briefcase, FileText, Layers, MoreHorizontal, Star } from "lucide-react"; // ui import { IFavorite } from "@plane/types"; -import { ContrastIcon, CustomMenu, DiceIcon, DragHandle, FavoriteFolderIcon, LayersIcon, Tooltip } from "@plane/ui"; +import { + ContrastIcon, + CustomMenu, + DiceIcon, + DragHandle, + FavoriteFolderIcon, + LayersIcon, + Logo, + Tooltip, +} from "@plane/ui"; // components import { SidebarNavItem } from "@/components/sidebar"; @@ -51,24 +60,27 @@ export const FavoriteItem = observer( const getIcon = () => { const className = `flex-shrink-0 size-4 stroke-[1.5] m-auto`; - switch (favorite.entity_type) { - case "page": - return ; - case "project": - return ; - case "view": - return ; - case "module": - return ; - case "cycle": - return ; - case "issue": - return ; - case "folder": - return ; - default: - return ; - } + const icons: Record = { + page: , + project: , + view: , + module: , + cycle: , + issue: , + folder: , + }; + return ( + <> +
+ {favorite.entity_data?.logo_props?.in_use ? ( + + ) : ( + icons[favorite.entity_type] || + )} +
+
{icons[favorite.entity_type] || }
+ + ); }; const getLink = () => { From 63ff1a9947f2d22783fa0c57483c979b9b116cca Mon Sep 17 00:00:00 2001 From: Anmol Singh Bhatia Date: Wed, 7 Aug 2024 13:35:43 +0530 Subject: [PATCH 4/9] chore: favorites empty state added --- .../sidebar/favorites/favorites-menu.tsx | 64 +++++++++++-------- 1 file changed, 36 insertions(+), 28 deletions(-) diff --git a/web/core/components/workspace/sidebar/favorites/favorites-menu.tsx b/web/core/components/workspace/sidebar/favorites/favorites-menu.tsx index 7e0e91c3362..d4a18fc402a 100644 --- a/web/core/components/workspace/sidebar/favorites/favorites-menu.tsx +++ b/web/core/components/workspace/sidebar/favorites/favorites-menu.tsx @@ -170,34 +170,42 @@ export const SidebarFavoritesMenu = observer(() => { static > {createNewFolder && } - {uniqBy(orderBy(Object.values(favoriteMap), "sequence", "desc"), "id") - .filter((fav) => !fav.parent) - .map((fav, index) => ( - - {fav.is_folder ? ( - - ) : ( - - )} - - ))} + {Object.keys(favoriteMap).length === 0 ? ( + <> + {!sidebarCollapsed && ( + No favorites yet + )} + + ) : ( + uniqBy(orderBy(Object.values(favoriteMap), "sequence", "desc"), "id") + .filter((fav) => !fav.parent) + .map((fav, index) => ( + + {fav.is_folder ? ( + + ) : ( + + )} + + )) + )} )} From 28b67cfd0ac0996b848d2bdebeb22019e7e8f240 Mon Sep 17 00:00:00 2001 From: Anmol Singh Bhatia Date: Wed, 7 Aug 2024 13:42:32 +0530 Subject: [PATCH 5/9] chore: project identifier message updated --- web/core/components/project/create-project-form.tsx | 2 +- web/core/components/project/form.tsx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/web/core/components/project/create-project-form.tsx b/web/core/components/project/create-project-form.tsx index 65c620635c6..53de7297964 100644 --- a/web/core/components/project/create-project-form.tsx +++ b/web/core/components/project/create-project-form.tsx @@ -294,7 +294,7 @@ export const CreateProjectForm: FC = observer((props) => { /> diff --git a/web/core/components/project/form.tsx b/web/core/components/project/form.tsx index 737f819835c..332c7528490 100644 --- a/web/core/components/project/form.tsx +++ b/web/core/components/project/form.tsx @@ -298,7 +298,7 @@ export const ProjectDetailsForm: FC = (props) => { /> From dd869b96de0c844cfe1c956cb39b9bc648ddaaa4 Mon Sep 17 00:00:00 2001 From: Anmol Singh Bhatia Date: Wed, 7 Aug 2024 13:47:54 +0530 Subject: [PATCH 6/9] chore: favorties collapsible improvement --- .../components/workspace/sidebar/favorites/favorite-item.tsx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/web/core/components/workspace/sidebar/favorites/favorite-item.tsx b/web/core/components/workspace/sidebar/favorites/favorite-item.tsx index ca099114a31..b31e4141dc3 100644 --- a/web/core/components/workspace/sidebar/favorites/favorite-item.tsx +++ b/web/core/components/workspace/sidebar/favorites/favorite-item.tsx @@ -145,7 +145,10 @@ export const FavoriteItem = observer(
Date: Wed, 7 Aug 2024 14:04:30 +0530 Subject: [PATCH 7/9] chore: code refactor --- .../sidebar/favorites/favorite-item.tsx | 48 +++++++++---------- 1 file changed, 23 insertions(+), 25 deletions(-) diff --git a/web/core/components/workspace/sidebar/favorites/favorite-item.tsx b/web/core/components/workspace/sidebar/favorites/favorite-item.tsx index b31e4141dc3..f824fc493f3 100644 --- a/web/core/components/workspace/sidebar/favorites/favorite-item.tsx +++ b/web/core/components/workspace/sidebar/favorites/favorite-item.tsx @@ -29,6 +29,17 @@ import { useAppTheme } from "@/hooks/store"; import useOutsideClickDetector from "@/hooks/use-outside-click-detector"; import { usePlatformOS } from "@/hooks/use-platform-os"; +const iconClassName = `flex-shrink-0 size-4 stroke-[1.5] m-auto`; +const ICONS: Record = { + page: , + project: , + view: , + module: , + cycle: , + issue: , + folder: , +}; + export const FavoriteItem = observer( ({ favoriteMap, @@ -57,31 +68,18 @@ export const FavoriteItem = observer( const dragHandleRef = useRef(null); const actionSectionRef = useRef(null); - const getIcon = () => { - const className = `flex-shrink-0 size-4 stroke-[1.5] m-auto`; - - const icons: Record = { - page: , - project: , - view: , - module: , - cycle: , - issue: , - folder: , - }; - return ( - <> -
- {favorite.entity_data?.logo_props?.in_use ? ( - - ) : ( - icons[favorite.entity_type] || - )} -
-
{icons[favorite.entity_type] || }
- - ); - }; + const getIcon = () => ( + <> +
{ICONS[favorite.entity_type] || }
+
+ {favorite.entity_data?.logo_props?.in_use ? ( + + ) : ( + ICONS[favorite.entity_type] || + )} +
+ + ); const getLink = () => { switch (favorite.entity_type) { From 8287ce5b6e7ae90294fa34bcb50898703e008cad Mon Sep 17 00:00:00 2001 From: Anmol Singh Bhatia Date: Wed, 7 Aug 2024 14:29:19 +0530 Subject: [PATCH 8/9] fix: build error --- packages/types/src/favorite/favorite.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/types/src/favorite/favorite.d.ts b/packages/types/src/favorite/favorite.d.ts index d8bc4573604..092a1209599 100644 --- a/packages/types/src/favorite/favorite.d.ts +++ b/packages/types/src/favorite/favorite.d.ts @@ -16,7 +16,7 @@ export type IFavorite = { entity_type: string; entity_data: { name: string; - logo_props: TLogoProps | undefined; + logo_props?: TLogoProps | undefined; }; is_folder: boolean; sort_order: number; From bb05366ef7b5fc60123df26196344ce75b583c0a Mon Sep 17 00:00:00 2001 From: Anmol Singh Bhatia Date: Wed, 7 Aug 2024 14:33:22 +0530 Subject: [PATCH 9/9] fix: app sidebar draft issue z-index --- web/core/components/workspace/sidebar/quick-actions.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/web/core/components/workspace/sidebar/quick-actions.tsx b/web/core/components/workspace/sidebar/quick-actions.tsx index 30f20e4da24..f0eca5cf091 100644 --- a/web/core/components/workspace/sidebar/quick-actions.tsx +++ b/web/core/components/workspace/sidebar/quick-actions.tsx @@ -108,7 +108,7 @@ export const SidebarQuickActions = observer(() => { )} {isDraftButtonOpen && ( -
+