Skip to content

Commit 0ddf4f2

Browse files
PRTTMPRPHTpascalbreuninger
authored andcommitted
feat: Add empty state and move selection checkbox
1 parent 8cd021f commit 0ddf4f2

File tree

2 files changed

+29
-11
lines changed

2 files changed

+29
-11
lines changed

desktop/src/views/Pro/ListWorkspaces.tsx

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,8 @@ import { IWorkspaceStore } from "@/contexts/DevPodContext/workspaceStore"
3838
import { TWorkspaceStatusFilterState, WorkspaceSorter, WorkspaceStatusFilter } from "@/components"
3939
import { determineDisplayStatus } from "@/views/Pro/Workspace/WorkspaceStatus"
4040

41+
import EmptyImage from "@/images/empty-default.svg"
42+
4143
export function ListWorkspaces() {
4244
const { store } = useWorkspaceStore<IWorkspaceStore<string, ProWorkspaceInstance>>()
4345
const instances = useWorkspaces<ProWorkspaceInstance>()
@@ -171,7 +173,20 @@ export function ListWorkspaces() {
171173
/>
172174
</HStack>
173175
</HStack>
174-
<List w="full" mb="4">
176+
<List w="full" h={"full"} mb="4">
177+
{!sortedWorkspaces?.length && (
178+
<VStack
179+
w={"full"}
180+
h={"full"}
181+
justifyContent={"center"}
182+
alignItems={"center"}
183+
flexGrow={1}>
184+
<Image src={EmptyImage} />
185+
<Text fontWeight={"semibold"} fontSize={"sm"} color={"text.secondary"}>
186+
No items found
187+
</Text>
188+
</VStack>
189+
)}
175190
{sortedWorkspaces?.map((instance) => (
176191
<ListItem key={instance.id}>
177192
<WorkspaceInstanceCard

desktop/src/views/Pro/Workspace/WorkspaceCardHeader.tsx

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,12 @@ import { TIDE, TIDEs, TWorkspaceSource } from "@/types"
1717
import { useGroupIDEs, useIDEs } from "@/useIDEs"
1818
import { ChevronDownIcon } from "@chakra-ui/icons"
1919
import {
20+
Box,
2021
Button,
2122
ButtonGroup,
22-
HStack,
23+
Checkbox,
2324
Heading,
25+
HStack,
2426
IconButton,
2527
Menu,
2628
MenuButton,
@@ -30,10 +32,9 @@ import {
3032
Text,
3133
TextProps,
3234
VStack,
33-
Checkbox,
34-
Box,
3535
} from "@chakra-ui/react"
36-
import React, { ReactNode, createContext, useContext, useCallback } from "react"
36+
import React, { createContext, ReactNode, useCallback, useContext } from "react"
37+
3738
type TWorkspaceCardHeaderContext = ProWorkspaceInstance
3839
const WorkspaceCardHeaderContext = createContext<TWorkspaceCardHeaderContext>(null!)
3940

@@ -59,16 +60,11 @@ export function WorkspaceCardHeader({
5960
return (
6061
<HStack justify="space-between" align="start">
6162
<VStack align="start" spacing={0}>
62-
{showSource && (
63-
<Text color="gray.500">
64-
{source?.gitRepository || source?.image || source?.localFolder}
65-
</Text>
66-
)}
6763
<HStack alignItems={"center"}>
6864
{showSelection && (
6965
<Box mr={"1"} onClick={(e) => e.stopPropagation()}>
7066
<Checkbox
71-
mt={"1.5"}
67+
mt={"1"}
7268
isChecked={isSelected}
7369
onClick={(e) => e.stopPropagation()}
7470
onChange={(e) => {
@@ -77,6 +73,13 @@ export function WorkspaceCardHeader({
7773
/>
7874
</Box>
7975
)}
76+
{showSource && (
77+
<Text color="gray.500">
78+
{source?.gitRepository || source?.image || source?.localFolder}
79+
</Text>
80+
)}
81+
</HStack>
82+
<HStack alignItems={"center"}>
8083
<Heading size="md" my="1">
8184
<Text
8285
fontWeight="bold"

0 commit comments

Comments
 (0)