1
0
Fork 0
mirror of https://github.com/portainer/portainer.git synced 2025-08-02 20:35:25 +02:00

feat(sidebar): implement new design [EE-3447] (#7118)

This commit is contained in:
Chaim Lev-Ari 2022-06-28 10:42:42 +03:00 committed by GitHub
parent e5e57978af
commit ed8f9b5931
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
54 changed files with 1928 additions and 857 deletions

View file

@ -2,6 +2,8 @@ import { UserContext } from '@/portainer/hooks/useUser';
import { UserViewModel } from '@/portainer/models/user';
import { render, within } from '@/react-tools/test-utils';
import { TestSidebarProvider } from '../useSidebarState';
import { AzureSidebar } from './AzureSidebar';
test('dashboard items should render correctly', () => {
@ -11,11 +13,9 @@ test('dashboard items should render correctly', () => {
expect(dashboardItem).toHaveTextContent('Dashboard');
const dashboardItemElements = within(dashboardItem);
expect(dashboardItemElements.getByLabelText('itemIcon')).toBeVisible();
expect(dashboardItemElements.getByLabelText('itemIcon')).toHaveClass(
'fa-tachometer-alt',
'fa-fw'
);
expect(
dashboardItemElements.getByRole('img', { hidden: true })
).toBeVisible();
const containerInstancesItem = getByLabelText(/Container Instances/i);
expect(containerInstancesItem).toBeVisible();
@ -23,12 +23,8 @@ test('dashboard items should render correctly', () => {
const containerInstancesItemElements = within(containerInstancesItem);
expect(
containerInstancesItemElements.getByLabelText('itemIcon')
containerInstancesItemElements.getByRole('img', { hidden: true })
).toBeVisible();
expect(containerInstancesItemElements.getByLabelText('itemIcon')).toHaveClass(
'fa-cubes',
'fa-fw'
);
});
function renderComponent() {
@ -36,7 +32,9 @@ function renderComponent() {
return render(
<UserContext.Provider value={{ user }}>
<AzureSidebar environmentId={1} />
<TestSidebarProvider>
<AzureSidebar environmentId={1} />
</TestSidebarProvider>
</UserContext.Provider>
);
}

View file

@ -1,5 +1,8 @@
import { Box } from 'react-feather';
import { EnvironmentId } from '@/portainer/environments/types';
import { DashboardLink } from '../items/DashboardLink';
import { SidebarItem } from '../SidebarItem';
interface Props {
@ -9,16 +12,11 @@ interface Props {
export function AzureSidebar({ environmentId }: Props) {
return (
<>
<SidebarItem
to="azure.dashboard"
params={{ endpointId: environmentId }}
iconClass="fa-tachometer-alt fa-fw"
label="Dashboard"
/>
<DashboardLink environmentId={environmentId} platformPath="azure" />
<SidebarItem
to="azure.containerinstances"
params={{ endpointId: environmentId }}
iconClass="fa-cubes fa-fw"
icon={Box}
label="Container instances"
/>
</>