1
0
mirror of https://github.com/Unleash/unleash.git synced 2024-12-22 19:07:54 +01:00

refactor: Composable new in unleash (#8505)

This commit is contained in:
Mateusz Kwasniewski 2024-10-22 10:52:08 +02:00 committed by GitHub
parent d3294d58c2
commit cbfdb8ca6e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 26 additions and 14 deletions

View File

@ -18,6 +18,7 @@ import { NavigationSidebar } from './NavigationSidebar/NavigationSidebar';
import { MainLayoutEventTimeline } from './MainLayoutEventTimeline';
import { EventTimelineProvider } from 'component/events/EventTimeline/EventTimelineProvider';
import { AIChat } from 'component/ai/AIChat';
import { NewInUnleash } from './NavigationSidebar/NewInUnleash/NewInUnleash';
interface IMainLayoutProps {
children: ReactNode;
@ -124,7 +125,11 @@ export const MainLayout = forwardRef<HTMLDivElement, IMainLayoutProps>(
>
<ConditionallyRender
condition={!isSmallScreen}
show={<NavigationSidebar />}
show={
<NavigationSidebar
NewInUnleash={NewInUnleash}
/>
}
/>
<Box

View File

@ -15,16 +15,17 @@ import {
import { useInitialPathname } from './useInitialPathname';
import { useLastViewedProject } from 'hooks/useLastViewedProject';
import { useLastViewedFlags } from 'hooks/useLastViewedFlags';
import { NewInUnleash } from './NewInUnleash/NewInUnleash';
import type { NewInUnleash } from './NewInUnleash/NewInUnleash';
export const MobileNavigationSidebar: FC<{ onClick: () => void }> = ({
onClick,
}) => {
export const MobileNavigationSidebar: FC<{
onClick: () => void;
NewInUnleash?: typeof NewInUnleash;
}> = ({ onClick, NewInUnleash }) => {
const { routes } = useRoutes();
return (
<>
<NewInUnleash onItemClick={onClick} />
{NewInUnleash ? <NewInUnleash /> : null}
<PrimaryNavigationList mode='full' onClick={onClick} />
<SecondaryNavigationList
routes={routes.mainNavRoutes}
@ -66,7 +67,9 @@ const StickyContainer = styled(Box)(({ theme }) => ({
borderTop: `1px solid ${theme.palette.divider}`,
}));
export const NavigationSidebar = () => {
export const NavigationSidebar: FC<{ NewInUnleash?: typeof NewInUnleash }> = ({
NewInUnleash,
}) => {
const { routes } = useRoutes();
const [mode, setMode] = useNavigationMode();
@ -154,10 +157,12 @@ export const NavigationSidebar = () => {
<Box sx={{ flex: 1 }} />
<StickyContainer>
<NewInUnleash
mode={mode}
onMiniModeClick={() => setMode('full')}
/>
{NewInUnleash ? (
<NewInUnleash
mode={mode}
onMiniModeClick={() => setMode('full')}
/>
) : null}
<ShowHide
mode={mode}
onChange={() => {

View File

@ -89,13 +89,11 @@ type NewItem = {
interface INewInUnleashProps {
mode?: NavigationMode;
onItemClick?: () => void;
onMiniModeClick?: () => void;
}
export const NewInUnleash = ({
mode = 'full',
onItemClick,
onMiniModeClick,
}: INewInUnleashProps) => {
const navigate = useNavigate();

View File

@ -8,6 +8,7 @@ import styles from './DrawerMenu.module.scss'; // FIXME: useStyle - theme
import theme from 'themes/theme';
import { ThemeMode } from 'component/common/ThemeMode/ThemeMode';
import { MobileNavigationSidebar } from 'component/layout/MainLayout/NavigationSidebar/NavigationSidebar';
import { NewInUnleash } from 'component/layout/MainLayout/NavigationSidebar/NewInUnleash/NewInUnleash';
const StyledDrawerHeader = styled('div')(({ theme }) => ({
display: 'flex',
@ -71,7 +72,10 @@ export const DrawerMenu: VFC<IDrawerMenuProps> = ({
</Link>
</StyledDrawerHeader>
<Divider />
<MobileNavigationSidebar onClick={toggleDrawer} />
<MobileNavigationSidebar
onClick={toggleDrawer}
NewInUnleash={NewInUnleash}
/>
</nav>
</Drawer>
);