feat(ws): Notebooks 2.0 // Frontend // Workspace details // Applies MUI Theming (#185)
Signed-off-by: Jenny <32821331+jenny-s51@users.noreply.github.com> fix tab content padding apply horizontal variant to description list, add dividers to match KF central UI update spacer size Signed-off-by: Jenny <32821331+jenny-s51@users.noreply.github.com> update font size for description list term
This commit is contained in:
parent
8ceb835f1e
commit
6fe77160d0
|
|
@ -9,6 +9,8 @@ import {
|
||||||
Tab,
|
Tab,
|
||||||
TabTitleText,
|
TabTitleText,
|
||||||
Title,
|
Title,
|
||||||
|
TabContentBody,
|
||||||
|
TabContent,
|
||||||
} from '@patternfly/react-core';
|
} from '@patternfly/react-core';
|
||||||
import { Workspace } from '~/shared/types';
|
import { Workspace } from '~/shared/types';
|
||||||
import { WorkspaceDetailsOverview } from '~/app/pages/Workspaces/Details/WorkspaceDetailsOverview';
|
import { WorkspaceDetailsOverview } from '~/app/pages/Workspaces/Details/WorkspaceDetailsOverview';
|
||||||
|
|
@ -37,7 +39,7 @@ export const WorkspaceDetails: React.FunctionComponent<WorkspaceDetailsProps> =
|
||||||
};
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<DrawerPanelContent isResizable defaultSize="50%">
|
<DrawerPanelContent>
|
||||||
<DrawerHead>
|
<DrawerHead>
|
||||||
<Title headingLevel="h6">{workspace.name}</Title>
|
<Title headingLevel="h6">{workspace.name}</Title>
|
||||||
<WorkspaceDetailsActions onEditClick={onEditClick} onDeleteClick={onDeleteClick} />
|
<WorkspaceDetailsActions onEditClick={onEditClick} onDeleteClick={onDeleteClick} />
|
||||||
|
|
@ -48,20 +50,30 @@ export const WorkspaceDetails: React.FunctionComponent<WorkspaceDetailsProps> =
|
||||||
<DrawerPanelBody>
|
<DrawerPanelBody>
|
||||||
<Tabs activeKey={activeTabKey} onSelect={handleTabClick}>
|
<Tabs activeKey={activeTabKey} onSelect={handleTabClick}>
|
||||||
<Tab eventKey={0} title={<TabTitleText>Overview</TabTitleText>} aria-label="Overview">
|
<Tab eventKey={0} title={<TabTitleText>Overview</TabTitleText>} aria-label="Overview">
|
||||||
|
<TabContent id="overviewSectionBodyPadding">
|
||||||
|
<TabContentBody hasPadding>
|
||||||
<WorkspaceDetailsOverview workspace={workspace} />
|
<WorkspaceDetailsOverview workspace={workspace} />
|
||||||
|
</TabContentBody>
|
||||||
|
</TabContent>
|
||||||
</Tab>
|
</Tab>
|
||||||
<Tab eventKey={1} title={<TabTitleText>Activity</TabTitleText>} aria-label="Activity">
|
<Tab eventKey={1} title={<TabTitleText>Activity</TabTitleText>} aria-label="Activity">
|
||||||
Activity
|
<TabContent id="activitySectionBodyPadding">
|
||||||
|
<TabContentBody hasPadding>Activity</TabContentBody>
|
||||||
|
</TabContent>
|
||||||
</Tab>
|
</Tab>
|
||||||
<Tab eventKey={2} title={<TabTitleText>Logs</TabTitleText>} aria-label="Logs">
|
<Tab eventKey={2} title={<TabTitleText>Logs</TabTitleText>} aria-label="Logs">
|
||||||
Logs
|
<TabContent id="logsSectionBodyPadding">
|
||||||
|
<TabContentBody hasPadding>Logs</TabContentBody>
|
||||||
|
</TabContent>
|
||||||
</Tab>
|
</Tab>
|
||||||
<Tab
|
<Tab
|
||||||
eventKey={3}
|
eventKey={3}
|
||||||
title={<TabTitleText>Pod template</TabTitleText>}
|
title={<TabTitleText>Pod template</TabTitleText>}
|
||||||
aria-label="Pod template"
|
aria-label="Pod template"
|
||||||
>
|
>
|
||||||
Pod template
|
<TabContent id="podTemplateBodyPadding">
|
||||||
|
<TabContentBody hasPadding>Pod template</TabContentBody>
|
||||||
|
</TabContent>
|
||||||
</Tab>
|
</Tab>
|
||||||
</Tabs>
|
</Tabs>
|
||||||
</DrawerPanelBody>
|
</DrawerPanelBody>
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@ import {
|
||||||
DescriptionListTerm,
|
DescriptionListTerm,
|
||||||
DescriptionListGroup,
|
DescriptionListGroup,
|
||||||
DescriptionListDescription,
|
DescriptionListDescription,
|
||||||
|
Divider,
|
||||||
} from '@patternfly/react-core';
|
} from '@patternfly/react-core';
|
||||||
import { Workspace } from '~/shared/types';
|
import { Workspace } from '~/shared/types';
|
||||||
|
|
||||||
|
|
@ -14,24 +15,28 @@ type WorkspaceDetailsOverviewProps = {
|
||||||
export const WorkspaceDetailsOverview: React.FunctionComponent<WorkspaceDetailsOverviewProps> = ({
|
export const WorkspaceDetailsOverview: React.FunctionComponent<WorkspaceDetailsOverviewProps> = ({
|
||||||
workspace,
|
workspace,
|
||||||
}) => (
|
}) => (
|
||||||
<DescriptionList>
|
<DescriptionList isHorizontal>
|
||||||
<DescriptionListGroup>
|
<DescriptionListGroup>
|
||||||
<DescriptionListTerm>Name</DescriptionListTerm>
|
<DescriptionListTerm>Name</DescriptionListTerm>
|
||||||
<DescriptionListDescription>{workspace.name}</DescriptionListDescription>
|
<DescriptionListDescription>{workspace.name}</DescriptionListDescription>
|
||||||
</DescriptionListGroup>
|
</DescriptionListGroup>
|
||||||
|
<Divider />
|
||||||
<DescriptionListGroup>
|
<DescriptionListGroup>
|
||||||
<DescriptionListTerm>Kind</DescriptionListTerm>
|
<DescriptionListTerm>Kind</DescriptionListTerm>
|
||||||
<DescriptionListDescription>{workspace.kind}</DescriptionListDescription>
|
<DescriptionListDescription>{workspace.kind}</DescriptionListDescription>
|
||||||
</DescriptionListGroup>
|
</DescriptionListGroup>
|
||||||
|
<Divider />
|
||||||
<DescriptionListGroup>
|
<DescriptionListGroup>
|
||||||
<DescriptionListTerm>Labels</DescriptionListTerm>
|
<DescriptionListTerm>Labels</DescriptionListTerm>
|
||||||
<DescriptionListDescription>
|
<DescriptionListDescription>
|
||||||
{workspace.podTemplate.podMetadata.labels.join(', ')}
|
{workspace.podTemplate.podMetadata.labels.join(', ')}
|
||||||
</DescriptionListDescription>
|
</DescriptionListDescription>
|
||||||
</DescriptionListGroup>
|
</DescriptionListGroup>
|
||||||
|
<Divider />
|
||||||
<DescriptionListGroup>
|
<DescriptionListGroup>
|
||||||
<DescriptionListTerm>Pod config</DescriptionListTerm>
|
<DescriptionListTerm>Pod config</DescriptionListTerm>
|
||||||
<DescriptionListDescription>{workspace.options.podConfig}</DescriptionListDescription>
|
<DescriptionListDescription>{workspace.options.podConfig}</DescriptionListDescription>
|
||||||
</DescriptionListGroup>
|
</DescriptionListGroup>
|
||||||
|
<Divider />
|
||||||
</DescriptionList>
|
</DescriptionList>
|
||||||
);
|
);
|
||||||
|
|
|
||||||
|
|
@ -375,7 +375,7 @@ export const Workspaces: React.FunctionComponent = () => {
|
||||||
);
|
);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Drawer isExpanded={selectedWorkspace != null}>
|
<Drawer isInline isExpanded={selectedWorkspace != null}>
|
||||||
<DrawerContent panelContent={workspaceDetailsContent}>
|
<DrawerContent panelContent={workspaceDetailsContent}>
|
||||||
<DrawerContentBody>
|
<DrawerContentBody>
|
||||||
<PageSection isFilled>
|
<PageSection isFilled>
|
||||||
|
|
|
||||||
|
|
@ -23,6 +23,9 @@
|
||||||
--mui-button--LineHeight: 1.75;
|
--mui-button--LineHeight: 1.75;
|
||||||
--mui-link-underlineColor: rgba(33, 150, 243, 0.4);
|
--mui-link-underlineColor: rgba(33, 150, 243, 0.4);
|
||||||
|
|
||||||
|
// Drawer
|
||||||
|
--mui-drawer-BorderLeft: var(--mui-palette-grey-300);
|
||||||
|
|
||||||
// Menu item
|
// Menu item
|
||||||
--mui-menu__item--PaddingBlockStart: 6px;
|
--mui-menu__item--PaddingBlockStart: 6px;
|
||||||
--mui-menu__item--PaddingBlockEnd: 6px;
|
--mui-menu__item--PaddingBlockEnd: 6px;
|
||||||
|
|
@ -175,10 +178,24 @@
|
||||||
--pf-v6-c-button--BackgroundColor: rgba(33, 150, 243, 0.04);
|
--pf-v6-c-button--BackgroundColor: rgba(33, 150, 243, 0.04);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.mui-theme .pf-v6-c-description-list {
|
||||||
|
--pf-v6-c-description-list--RowGap: var(--pf-t--global--spacer--gap--group-to-group--horizontal--compact);
|
||||||
|
}
|
||||||
|
|
||||||
|
.mui-theme .pf-v6-c-description-list__term {
|
||||||
|
font: var(--mui-font-subtitle2);
|
||||||
|
}
|
||||||
|
|
||||||
.mui-theme .pf-v6-c-description-list__text .pf-v6-l-split__item.pf-m-fill {
|
.mui-theme .pf-v6-c-description-list__text .pf-v6-l-split__item.pf-m-fill {
|
||||||
align-content: center;
|
align-content: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
.mui-theme .pf-v6-c-drawer {
|
||||||
|
--pf-v6-c-drawer--m-inline--m-expanded__panel--after--BackgroundColor: var(--mui-drawer-BorderLeft);
|
||||||
|
}
|
||||||
|
|
||||||
.mui-theme .pf-v6-c-form__group {
|
.mui-theme .pf-v6-c-form__group {
|
||||||
position: relative;
|
position: relative;
|
||||||
}
|
}
|
||||||
|
|
@ -669,6 +686,13 @@
|
||||||
--pf-v6-c-tab-content__body--m-padding--PaddingInlineStart: var(--pf-t--global--spacer--lg);
|
--pf-v6-c-tab-content__body--m-padding--PaddingInlineStart: var(--pf-t--global--spacer--lg);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.pf-v6-c-tab-content__body.pf-m-padding {
|
||||||
|
--pf-v6-c-tab-content__body--PaddingInlineStart: 0px;
|
||||||
|
--pf-v6-c-tab-content__body--PaddingInlineEnd: 0px;
|
||||||
|
--pf-v6-c-tab-content__body--PaddingBlockStart: var(--mui-spacing-8px);
|
||||||
|
--pf-v6-c-tab-content__body--PaddingBlockEnd: var(--mui-spacing-8px);
|
||||||
|
}
|
||||||
|
|
||||||
.mui-theme .pf-v6-c-tabs {
|
.mui-theme .pf-v6-c-tabs {
|
||||||
--pf-v6-c-tabs__link--hover--BackgroundColor: var(--mui-tabs__link--hover--BackgroundColor);
|
--pf-v6-c-tabs__link--hover--BackgroundColor: var(--mui-tabs__link--hover--BackgroundColor);
|
||||||
--pf-v6-c-tabs__item--PaddingBlockStart: var(--mui-tabs__item--PaddingBlockStart);
|
--pf-v6-c-tabs__item--PaddingBlockStart: var(--mui-tabs__item--PaddingBlockStart);
|
||||||
|
|
@ -760,6 +784,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.mui-theme .pf-v6-c-page__main-container {
|
.mui-theme .pf-v6-c-page__main-container {
|
||||||
|
--pf-v6-c-page__main-container--BorderWidth: 0px;
|
||||||
--pf-v6-c-page__main-container--BorderRadius: var(--mui-shape-borderRadius);
|
--pf-v6-c-page__main-container--BorderRadius: var(--mui-shape-borderRadius);
|
||||||
box-shadow: var(--mui-shadows-1);
|
box-shadow: var(--mui-shadows-1);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue