Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit24ecf27

Browse files
committed
feat: add workspace status on tasks
1 parente96d69b commit24ecf27

File tree

4 files changed

+60
-29
lines changed

4 files changed

+60
-29
lines changed
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
import{MockDormantWorkspace,MockWorkspace}from"testHelpers/entities";
2+
importtype{Meta,StoryObj}from"@storybook/react-vite";
3+
import{WorkspaceStatus}from"./WorkspaceStatus";
4+
5+
constmeta:Meta<typeofWorkspaceStatus>={
6+
title:"modules/workspaces/WorkspaceStatus",
7+
component:WorkspaceStatus,
8+
args:{
9+
workspace:MockWorkspace,
10+
},
11+
};
12+
13+
exportdefaultmeta;
14+
typeStory=StoryObj<typeofWorkspaceStatus>;
15+
16+
exportconstRunning:Story={};
17+
18+
exportconstDormant:Story={
19+
args:{
20+
workspace:MockDormantWorkspace,
21+
},
22+
};
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
importtype{Workspace}from"api/typesGenerated";
2+
importtype{FC}from"react";
3+
import{lastUsedMessage}from"utils/workspace";
4+
import{WorkspaceDormantBadge}from"../WorkspaceDormantBadge/WorkspaceDormantBadge";
5+
import{WorkspaceStatusIndicator}from"../WorkspaceStatusIndicator/WorkspaceStatusIndicator";
6+
7+
typeWorkspaceStatusProps={
8+
workspace:Workspace;
9+
};
10+
11+
exportconstWorkspaceStatus:FC<WorkspaceStatusProps>=({ workspace})=>{
12+
return(
13+
<divclassName="flex flex-col">
14+
<WorkspaceStatusIndicatorworkspace={workspace}>
15+
{workspace.dormant_at&&(
16+
<WorkspaceDormantBadgeworkspace={workspace}/>
17+
)}
18+
</WorkspaceStatusIndicator>
19+
<spanclassName="text-xs font-medium text-content-secondary ml-6 whitespace-nowrap">
20+
{lastUsedMessage(workspace.last_used_at)}
21+
</span>
22+
</div>
23+
);
24+
};

‎site/src/pages/TasksPage/TasksTable.tsx‎

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ import {
1919
import{RotateCcwIcon}from"lucide-react";
2020
importtype{Task}from"modules/tasks/tasks";
2121
import{WorkspaceAppStatus}from"modules/workspaces/WorkspaceAppStatus/WorkspaceAppStatus";
22+
import{WorkspaceStatus}from"modules/workspaces/WorkspaceStatus/WorkspaceStatus";
2223
importtype{FC,ReactNode}from"react";
2324
import{LinkasRouterLink}from"react-router";
2425
import{relativeTime}from"utils/time";
@@ -47,7 +48,8 @@ export const TasksTable: FC<TasksTableProps> = ({ tasks, error, onRetry }) => {
4748
<TableHeader>
4849
<TableRow>
4950
<TableHead>Task</TableHead>
50-
<TableHead>Status</TableHead>
51+
<TableHead>Agent status</TableHead>
52+
<TableHead>Workspace status</TableHead>
5153
<TableHead>Created by</TableHead>
5254
</TableRow>
5355
</TableHeader>
@@ -144,6 +146,9 @@ const Tasks: FC<TasksProps> = ({ tasks }) => {
144146
status={workspace.latest_app_status}
145147
/>
146148
</TableCell>
149+
<TableCell>
150+
<WorkspaceStatusworkspace={workspace}/>
151+
</TableCell>
147152
<TableCell>
148153
<AvatarData
149154
title={workspace.owner_name}
@@ -170,6 +175,9 @@ const TasksSkeleton: FC = () => {
170175
<TableCell>
171176
<SkeletonclassName="w-[100px] h-6"/>
172177
</TableCell>
178+
<TableCell>
179+
<SkeletonclassName="w-[100px] h-6"/>
180+
</TableCell>
173181
<TableCell>
174182
<AvatarDataSkeleton/>
175183
</TableCell>

‎site/src/pages/WorkspacesPage/WorkspacesTable.tsx‎

Lines changed: 5 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -65,10 +65,9 @@ import { useAppLink } from "modules/apps/useAppLink";
6565
import{useDashboard}from"modules/dashboard/useDashboard";
6666
import{abilitiesByWorkspaceStatus}from"modules/workspaces/actions";
6767
import{WorkspaceBuildCancelDialog}from"modules/workspaces/WorkspaceBuildCancelDialog/WorkspaceBuildCancelDialog";
68-
import{WorkspaceDormantBadge}from"modules/workspaces/WorkspaceDormantBadge/WorkspaceDormantBadge";
6968
import{WorkspaceMoreActions}from"modules/workspaces/WorkspaceMoreActions/WorkspaceMoreActions";
7069
import{WorkspaceOutdatedTooltip}from"modules/workspaces/WorkspaceOutdatedTooltip/WorkspaceOutdatedTooltip";
71-
import{WorkspaceStatusIndicator}from"modules/workspaces/WorkspaceStatusIndicator/WorkspaceStatusIndicator";
70+
import{WorkspaceStatus}from"modules/workspaces/WorkspaceStatus/WorkspaceStatus";
7271
import{
7372
useWorkspaceUpdate,
7473
WorkspaceUpdateDialogs,
@@ -83,10 +82,7 @@ import {
8382
import{useMutation,useQuery,useQueryClient}from"react-query";
8483
import{useNavigate}from"react-router";
8584
import{cn}from"utils/cn";
86-
import{
87-
getDisplayWorkspaceTemplateName,
88-
lastUsedMessage,
89-
}from"utils/workspace";
85+
import{getDisplayWorkspaceTemplateName}from"utils/workspace";
9086
import{WorkspacesEmpty}from"./WorkspacesEmpty";
9187

9288
interfaceWorkspacesTableProps{
@@ -256,7 +252,9 @@ export const WorkspacesTable: FC<WorkspacesTableProps> = ({
256252
/>
257253
</TableCell>
258254

259-
<WorkspaceStatusCellworkspace={workspace}/>
255+
<TableCell>
256+
<WorkspaceStatusworkspace={workspace}/>
257+
</TableCell>
260258

261259
<WorkspaceActionsCell
262260
workspace={workspace}
@@ -354,27 +352,6 @@ const cantBeChecked = (workspace: Workspace) => {
354352
return["deleting","pending"].includes(workspace.latest_build.status);
355353
};
356354

357-
typeWorkspaceStatusCellProps={
358-
workspace:Workspace;
359-
};
360-
361-
constWorkspaceStatusCell:FC<WorkspaceStatusCellProps>=({ workspace})=>{
362-
return(
363-
<TableCell>
364-
<divclassName="flex flex-col">
365-
<WorkspaceStatusIndicatorworkspace={workspace}>
366-
{workspace.dormant_at&&(
367-
<WorkspaceDormantBadgeworkspace={workspace}/>
368-
)}
369-
</WorkspaceStatusIndicator>
370-
<spanclassName="text-xs font-medium text-content-secondary ml-6 whitespace-nowrap">
371-
{lastUsedMessage(workspace.last_used_at)}
372-
</span>
373-
</div>
374-
</TableCell>
375-
);
376-
};
377-
378355
typeWorkspaceActionsCellProps={
379356
workspace:Workspace;
380357
onActionSuccess:()=>Promise<void>;

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp