Skip to content

Commit 077e83f

Browse files
authored
Merge pull request #530 from code0-tech/feat/#525
Data list components should have a minimized variant
2 parents 7646aee + cf448bc commit 077e83f

File tree

3 files changed

+23
-8
lines changed

3 files changed

+23
-8
lines changed

src/components/d-runtime/DRuntimeCard.tsx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,18 @@ import {DRuntimeView} from "./DRuntime.view";
77
export interface DRuntimeCardProps {
88
runtimeId: Runtime['id']
99
onSetting?: (runtime: DRuntimeView) => void
10+
minimized?: boolean
1011
}
1112

1213
export const DRuntimeCard: React.FC<DRuntimeCardProps> = (props) => {
1314
const {
1415
runtimeId,
16+
minimized = false,
1517
onSetting = () => {
1618
}
1719
} = props
1820

1921
return <Card>
20-
<DRuntimeContent runtimeId={runtimeId} onSetting={onSetting}/>
22+
<DRuntimeContent minimized={minimized} runtimeId={runtimeId} onSetting={onSetting}/>
2123
</Card>
2224
}

src/components/d-runtime/DRuntimeContent.tsx

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import {Runtime} from "@code0-tech/sagittarius-graphql-types";
22
import React from "react";
33
import {Text} from "../text/Text";
44
import {Flex} from "../flex/Flex";
5-
import {IconSettings} from "@tabler/icons-react";
5+
import {IconServer, IconSettings} from "@tabler/icons-react";
66
import {Button} from "../button/Button";
77
import {useService, useStore} from "../../utils";
88
import {DRuntimeReactiveService} from "./DRuntime.service";
@@ -12,12 +12,14 @@ import {DRuntimeView} from "./DRuntime.view";
1212
export interface DRuntimeContentProps {
1313
runtimeId: Runtime['id']
1414
onSetting?: (runtime: DRuntimeView) => void
15+
minimized?: boolean
1516
}
1617

1718
export const DRuntimeContent: React.FC<DRuntimeContentProps> = (props) => {
1819

1920
const {
2021
runtimeId,
22+
minimized = false,
2123
onSetting = () => {
2224
}
2325
} = props
@@ -26,15 +28,25 @@ export const DRuntimeContent: React.FC<DRuntimeContentProps> = (props) => {
2628
const runtimeStore = useStore(DRuntimeReactiveService)
2729
const runtime = React.useMemo(() => runtimeService.getById(runtimeId), [runtimeStore, runtimeId])
2830

29-
return <Flex justify={"space-between"} align={"center"}>
31+
return <Flex justify={"space-between"} align={"center"} style={{gap: "1.3rem"}}>
32+
33+
{minimized ? (
34+
<Flex align={"center"} style={{gap: "0.7rem"}}>
35+
<IconServer size={16}/>
36+
<Text size={"md"} hierarchy={"secondary"} display={"block"}>
37+
{runtime?.name}
38+
</Text>
39+
</Flex>
40+
) : (
3041
<Flex style={{flexDirection: "column", gap: "0.35rem"}}>
31-
<Text size={"lg"} hierarchy={"primary"} display={"block"}>
42+
<Text size={"lg"} hierarchy={"secondary"} display={"block"}>
3243
{runtime?.name}
3344
</Text>
3445
<Text size={"sm"} hierarchy={"tertiary"} display={"block"}>
3546
{runtime?.description}
3647
</Text>
3748
</Flex>
49+
)}
3850
<Flex align={"center"} style={{gap: "1.3rem"}}>
3951
<Flex align={"center"} style={{gap: "0.35rem", flexWrap: "wrap"}}>
4052
{runtime?.status === "CONNECTED" ? (
@@ -43,7 +55,7 @@ export const DRuntimeContent: React.FC<DRuntimeContentProps> = (props) => {
4355
<Badge color={"error"}>DISCONNECTED</Badge>
4456
)}
4557
</Flex>
46-
{runtime?.userAbilities?.deleteRuntime || runtime?.userAbilities?.updateRuntime || runtime?.userAbilities?.rotateRuntimeToken ? (
58+
{!minimized && (runtime?.userAbilities?.deleteRuntime || runtime?.userAbilities?.updateRuntime || runtime?.userAbilities?.rotateRuntimeToken) ? (
4759
<Button color={"secondary"} onClick={(event) => {
4860
event.stopPropagation()
4961
onSetting(runtime)

src/components/d-runtime/DRuntimeList.tsx

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,22 +12,23 @@ export interface DRuntimeListProps extends Omit<Card, "children" | "onSelect"> {
1212
filter?: (runtime: DRuntimeView, index: number) => boolean
1313
onSelect?: (runtime: DRuntimeView) => void
1414
onSetting?: (runtime: DRuntimeView) => void
15+
minimized?: boolean
1516
}
1617

1718
export const DRuntimeList: React.FC<DRuntimeListProps> = (props) => {
1819

19-
const {namespaceId, filter = () => true, onSetting, onSelect, ...rest} = props
20+
const {namespaceId, minimized = false, filter = () => true, onSetting, onSelect, ...rest} = props
2021

2122
const runtimeService = useService(DRuntimeReactiveService)
2223
const runtimeStore = useStore(DRuntimeReactiveService)
2324
const runtimes = React.useMemo(() => runtimeService.values({namespaceId: namespaceId}), [runtimeStore, namespaceId])
2425

25-
return <Card {...rest}>
26+
return <Card {...rest} {...(minimized ? {paddingSize: "sm"} : {})}>
2627
{runtimes.filter(filter).map((runtime) => runtime.id && (
2728
<CardSection border hover onClick={() => {
2829
if (onSelect) onSelect(runtime)
2930
}} key={runtime.id}>
30-
<DRuntimeContent onSetting={onSetting} runtimeId={runtime?.id}/>
31+
<DRuntimeContent minimized={minimized} onSetting={onSetting} runtimeId={runtime?.id}/>
3132
</CardSection>
3233
))}
3334
</Card>

0 commit comments

Comments
 (0)