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:
@ -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>
|
||||||
);
|
);
|
||||||
|
|||||||
@ -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,
|
||||||
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|||||||
Reference in New Issue
Block a user