fix: improve settings menu spacing by moving logout into last section (#11202)

Issue: https://github.com/twentyhq/twenty/issues/11194

- Remove separate navigation drawer section for logout button
- Move logout button into the last section of settings menu
- Fix visual spacing between menu items

---------

Co-authored-by: Charles Bochet <charles@twenty.com>
This commit is contained in:
João Benedet
2025-03-26 18:10:12 -03:00
committed by GitHub
parent 4c7d71e325
commit 6f7e6e63f8
2 changed files with 8 additions and 11 deletions

View File

@ -1,4 +1,3 @@
import { useAuth } from '@/auth/hooks/useAuth';
import { AdvancedSettingsWrapper } from '@/settings/components/AdvancedSettingsWrapper'; import { AdvancedSettingsWrapper } from '@/settings/components/AdvancedSettingsWrapper';
import { SettingsNavigationDrawerItem } from '@/settings/components/SettingsNavigationDrawerItem'; import { SettingsNavigationDrawerItem } from '@/settings/components/SettingsNavigationDrawerItem';
import { import {
@ -6,7 +5,6 @@ import {
SettingsNavigationSection, SettingsNavigationSection,
useSettingsNavigationItems, useSettingsNavigationItems,
} from '@/settings/hooks/useSettingsNavigationItems'; } from '@/settings/hooks/useSettingsNavigationItems';
import { NavigationDrawerItem } from '@/ui/navigation/navigation-drawer/components/NavigationDrawerItem';
import { NavigationDrawerItemGroup } from '@/ui/navigation/navigation-drawer/components/NavigationDrawerItemGroup'; import { NavigationDrawerItemGroup } from '@/ui/navigation/navigation-drawer/components/NavigationDrawerItemGroup';
import { NavigationDrawerSection } from '@/ui/navigation/navigation-drawer/components/NavigationDrawerSection'; import { NavigationDrawerSection } from '@/ui/navigation/navigation-drawer/components/NavigationDrawerSection';
import { NavigationDrawerSectionTitle } from '@/ui/navigation/navigation-drawer/components/NavigationDrawerSectionTitle'; import { NavigationDrawerSectionTitle } from '@/ui/navigation/navigation-drawer/components/NavigationDrawerSectionTitle';
@ -15,7 +13,6 @@ import { ScrollWrapper } from '@/ui/utilities/scroll/components/ScrollWrapper';
import styled from '@emotion/styled'; import styled from '@emotion/styled';
import { useLingui } from '@lingui/react/macro'; import { useLingui } from '@lingui/react/macro';
import { matchPath, resolvePath, useLocation } from 'react-router-dom'; import { matchPath, resolvePath, useLocation } from 'react-router-dom';
import { IconDoorEnter } from 'twenty-ui';
import { getSettingsPath } from '~/utils/navigation/getSettingsPath'; import { getSettingsPath } from '~/utils/navigation/getSettingsPath';
const StyledInnerContainer = styled.div` const StyledInnerContainer = styled.div`
@ -23,7 +20,6 @@ const StyledInnerContainer = styled.div`
`; `;
export const SettingsNavigationDrawerItems = () => { export const SettingsNavigationDrawerItems = () => {
const { signOut } = useAuth();
const { t } = useLingui(); const { t } = useLingui();
const settingsNavigationItems: SettingsNavigationSection[] = const settingsNavigationItems: SettingsNavigationSection[] =
@ -129,13 +125,6 @@ export const SettingsNavigationDrawerItems = () => {
</NavigationDrawerSection> </NavigationDrawerSection>
); );
})} })}
<NavigationDrawerSection>
<NavigationDrawerItem
label={t`Logout`}
onClick={signOut}
Icon={IconDoorEnter}
/>
</NavigationDrawerSection>
</StyledInnerContainer> </StyledInnerContainer>
</ScrollWrapper> </ScrollWrapper>
); );

View File

@ -6,6 +6,7 @@ import {
IconColorSwatch, IconColorSwatch,
IconComponent, IconComponent,
IconCurrencyDollar, IconCurrencyDollar,
IconDoorEnter,
IconFlask, IconFlask,
IconFunction, IconFunction,
IconHierarchy2, IconHierarchy2,
@ -22,6 +23,7 @@ import {
import { SettingsPath } from '@/types/SettingsPath'; import { SettingsPath } from '@/types/SettingsPath';
import { useAuth } from '@/auth/hooks/useAuth';
import { currentUserState } from '@/auth/states/currentUserState'; import { currentUserState } from '@/auth/states/currentUserState';
import { billingState } from '@/client-config/states/billingState'; import { billingState } from '@/client-config/states/billingState';
import { labPublicFeatureFlagsState } from '@/client-config/states/labPublicFeatureFlagsState'; import { labPublicFeatureFlagsState } from '@/client-config/states/labPublicFeatureFlagsState';
@ -52,6 +54,7 @@ export type SettingsNavigationItem = {
const useSettingsNavigationItems = (): SettingsNavigationSection[] => { const useSettingsNavigationItems = (): SettingsNavigationSection[] => {
const billing = useRecoilValue(billingState); const billing = useRecoilValue(billingState);
const { signOut } = useAuth();
const isFunctionSettingsEnabled = false; const isFunctionSettingsEnabled = false;
const isBillingEnabled = billing?.isBillingEnabled ?? false; const isBillingEnabled = billing?.isBillingEnabled ?? false;
@ -197,6 +200,11 @@ const useSettingsNavigationItems = (): SettingsNavigationSection[] => {
path: SettingsPath.Releases, path: SettingsPath.Releases,
Icon: IconRocket, Icon: IconRocket,
}, },
{
label: t`Logout`,
onClick: signOut,
Icon: IconDoorEnter,
},
], ],
}, },
]; ];