Workspace Kinds Summary:UX Enchancements
Signed-off-by: DominikKawka <dkawka@redhat.com>
This commit is contained in:
parent
526ef9dd58
commit
f766f767bc
|
|
@ -1,13 +1,13 @@
|
||||||
import React, { useCallback, useRef, useState } from 'react';
|
import React, { useCallback, useRef, useState } from 'react';
|
||||||
import {
|
import {
|
||||||
Button,
|
|
||||||
Content,
|
Content,
|
||||||
ContentVariants,
|
ContentVariants,
|
||||||
PageSection,
|
PageSection,
|
||||||
Stack,
|
Stack,
|
||||||
StackItem,
|
StackItem,
|
||||||
|
Breadcrumb,
|
||||||
|
BreadcrumbItem,
|
||||||
} from '@patternfly/react-core';
|
} from '@patternfly/react-core';
|
||||||
import { ArrowLeftIcon } from '@patternfly/react-icons';
|
|
||||||
import { useTypedLocation, useTypedNavigate, useTypedParams } from '~/app/routerHelper';
|
import { useTypedLocation, useTypedNavigate, useTypedParams } from '~/app/routerHelper';
|
||||||
import WorkspaceTable, {
|
import WorkspaceTable, {
|
||||||
WorkspaceTableFilteredColumn,
|
WorkspaceTableFilteredColumn,
|
||||||
|
|
@ -22,7 +22,6 @@ import { useWorkspaceRowActions } from '~/app/hooks/useWorkspaceRowActions';
|
||||||
import { usePolling } from '~/app/hooks/usePolling';
|
import { usePolling } from '~/app/hooks/usePolling';
|
||||||
|
|
||||||
const WorkspaceKindSummary: React.FC = () => {
|
const WorkspaceKindSummary: React.FC = () => {
|
||||||
const navigate = useTypedNavigate();
|
|
||||||
const [isSummaryExpanded, setIsSummaryExpanded] = useState(true);
|
const [isSummaryExpanded, setIsSummaryExpanded] = useState(true);
|
||||||
|
|
||||||
const { state } = useTypedLocation<'workspaceKindSummary'>();
|
const { state } = useTypedLocation<'workspaceKindSummary'>();
|
||||||
|
|
@ -60,18 +59,15 @@ const WorkspaceKindSummary: React.FC = () => {
|
||||||
}
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<PageSection isFilled>
|
<PageSection>
|
||||||
<Stack hasGutter>
|
<Stack hasGutter>
|
||||||
<StackItem>
|
<StackItem>
|
||||||
<Button
|
<Breadcrumb>
|
||||||
variant="link"
|
<BreadcrumbItem to="workspaceKinds">Workspace Kinds</BreadcrumbItem>
|
||||||
icon={<ArrowLeftIcon />}
|
<BreadcrumbItem to="#" isActive>
|
||||||
iconPosition="left"
|
Workspaces in {kind}
|
||||||
onClick={() => navigate('workspaceKinds')}
|
</BreadcrumbItem>
|
||||||
aria-label="Back to Workspace Kinds"
|
</Breadcrumb>
|
||||||
>
|
|
||||||
Back
|
|
||||||
</Button>
|
|
||||||
</StackItem>
|
</StackItem>
|
||||||
<StackItem>
|
<StackItem>
|
||||||
<Content component={ContentVariants.h1}>{kind}</Content>
|
<Content component={ContentVariants.h1}>{kind}</Content>
|
||||||
|
|
@ -87,7 +83,7 @@ const WorkspaceKindSummary: React.FC = () => {
|
||||||
onAddFilter={onAddFilter}
|
onAddFilter={onAddFilter}
|
||||||
/>
|
/>
|
||||||
</StackItem>
|
</StackItem>
|
||||||
<StackItem isFilled>
|
<StackItem>
|
||||||
<WorkspaceTable
|
<WorkspaceTable
|
||||||
ref={workspaceTableRef}
|
ref={workspaceTableRef}
|
||||||
workspaces={workspaces}
|
workspaces={workspaces}
|
||||||
|
|
|
||||||
|
|
@ -54,7 +54,7 @@ const WorkspaceKindSummaryExpandableCard: React.FC<WorkspaceKindSummaryExpandabl
|
||||||
);
|
);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Card isExpanded={isExpanded}>
|
<Card isExpanded={isExpanded} variant="secondary">
|
||||||
<CardHeader onExpand={onExpandToggle}>
|
<CardHeader onExpand={onExpandToggle}>
|
||||||
<CardTitle>
|
<CardTitle>
|
||||||
<Content component={ContentVariants.h2}>Workspaces Summary</Content>
|
<Content component={ContentVariants.h2}>Workspaces Summary</Content>
|
||||||
|
|
@ -65,7 +65,9 @@ const WorkspaceKindSummaryExpandableCard: React.FC<WorkspaceKindSummaryExpandabl
|
||||||
<Flex wrap="wrap">
|
<Flex wrap="wrap">
|
||||||
<SectionFlex title="Total GPUs in use">
|
<SectionFlex title="Total GPUs in use">
|
||||||
<FlexItem>
|
<FlexItem>
|
||||||
<Content>
|
<Content
|
||||||
|
style={{ fontSize: LargeFontSize.value, fontWeight: BoldFontWeight.value }}
|
||||||
|
>
|
||||||
{countGpusFromWorkspaces(filterRunningWorkspaces(workspaces))} GPUs
|
{countGpusFromWorkspaces(filterRunningWorkspaces(workspaces))} GPUs
|
||||||
</Content>
|
</Content>
|
||||||
</FlexItem>
|
</FlexItem>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue