From 2263e143949b416bb804a26294b8e66c6c5fd1f3 Mon Sep 17 00:00:00 2001 From: Thomas des Francs Date: Mon, 30 Mar 2026 17:37:35 +0200 Subject: [PATCH] clean paddings in favorites section (#19112) ## Summary - hide the Favorites section wrapper when there are no top-level favorites and no folder creation in progress - remove the extra top padding from the Favorites list so the section title-to-content gap matches other navigation sections - prevent the empty animated container from adding stray space in the navbar ## screens Before CleanShot 2026-03-30 at 12 02 11@2x CleanShot 2026-03-30 at 12 02
29@2x (arrows = paddings too big) After CleanShot 2026-03-30 at 12 01
24@2x --- .../favorites/components/FavoritesSection.tsx | 1 - .../components/FavoritesSectionDispatcher.tsx | 14 ++++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/packages/twenty-front/src/modules/navigation-menu-item/display/sections/favorites/components/FavoritesSection.tsx b/packages/twenty-front/src/modules/navigation-menu-item/display/sections/favorites/components/FavoritesSection.tsx index 935e199c9e..a9c7115211 100644 --- a/packages/twenty-front/src/modules/navigation-menu-item/display/sections/favorites/components/FavoritesSection.tsx +++ b/packages/twenty-front/src/modules/navigation-menu-item/display/sections/favorites/components/FavoritesSection.tsx @@ -32,7 +32,6 @@ const StyledList = styled.div` display: flex; flex-direction: column; gap: ${themeCssVariables.betweenSiblingsGap}; - padding-top: ${themeCssVariables.betweenSiblingsGap}; `; const StyledListItemRow = styled.div` diff --git a/packages/twenty-front/src/modules/navigation-menu-item/display/sections/favorites/components/FavoritesSectionDispatcher.tsx b/packages/twenty-front/src/modules/navigation-menu-item/display/sections/favorites/components/FavoritesSectionDispatcher.tsx index f23857584d..ba8e8d8a6c 100644 --- a/packages/twenty-front/src/modules/navigation-menu-item/display/sections/favorites/components/FavoritesSectionDispatcher.tsx +++ b/packages/twenty-front/src/modules/navigation-menu-item/display/sections/favorites/components/FavoritesSectionDispatcher.tsx @@ -1,14 +1,28 @@ import { isLayoutCustomizationModeEnabledState } from '@/layout-customization/states/isLayoutCustomizationModeEnabledState'; import { NavigationSections } from '@/navigation-menu-item/common/constants/NavigationSections.constants'; +import { isNavigationMenuItemFolderCreatingState } from '@/navigation-menu-item/common/states/isNavigationMenuItemFolderCreatingState'; import { NavigationMenuItemDndKitProvider } from '@/navigation-menu-item/display/dnd/providers/NavigationMenuItemDndKitProvider'; +import { useSortedNavigationMenuItems } from '@/navigation-menu-item/display/hooks/useSortedNavigationMenuItems'; import { FavoritesSection } from '@/navigation-menu-item/display/sections/favorites/components/FavoritesSection'; import { useAtomStateValue } from '@/ui/utilities/state/jotai/hooks/useAtomStateValue'; import { AnimatedEaseInOut } from 'twenty-ui/utilities'; export const FavoritesSectionDispatcher = () => { + const { navigationMenuItemsSorted } = useSortedNavigationMenuItems(); const isLayoutCustomizationModeEnabled = useAtomStateValue( isLayoutCustomizationModeEnabledState, ); + const isNavigationMenuItemFolderCreating = useAtomStateValue( + isNavigationMenuItemFolderCreatingState, + ); + + const hasFavoritesSectionContent = + isNavigationMenuItemFolderCreating || + navigationMenuItemsSorted.some((item) => !item.folderId); + + if (!hasFavoritesSectionContent) { + return null; + } return (