Skip to content

Commit 63447ed

Browse files
committed
refactor: update workspace state management in API and components
- Modified WorkspaceState interface to include 'name' and 'id' properties, enhancing workspace identification. - Updated ActionButton and Terminal components to utilize 'name' instead of 'workspace_id' for URL generation, improving consistency across the application. - Ensured all relevant references to workspace identification are aligned with the new state structure, streamlining the codebase.
1 parent 7b57a99 commit 63447ed

File tree

3 files changed

+7
-6
lines changed

3 files changed

+7
-6
lines changed

src/frontend/src/api/hooks.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,11 @@ import { queryClient } from './queryClient';
55
// Types
66
export interface WorkspaceState {
77
status: 'running' | 'starting' | 'stopping' | 'stopped' | 'error';
8-
workspace_id: string | null;
98
username: string | null;
9+
name: string | null;
1010
base_url: string | null;
1111
agent: string | null;
12+
id: string | null;
1213
error?: string;
1314
}
1415

src/frontend/src/pad/buttons/ActionButton.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -285,7 +285,7 @@ const ActionButton: React.FC<ActionButtonProps> = ({
285285
return '';
286286
}
287287

288-
return `${workspaceState.base_url}/@${workspaceState.username}/${workspaceState.workspace_id}.${workspaceState.agent}/apps/code-server`;
288+
return `${workspaceState.base_url}/@${workspaceState.username}/${workspaceState.name}.${workspaceState.agent}/apps/code-server`;
289289
};
290290

291291
// Placement logic has been moved to ExcalidrawElementFactory.placeInScene
@@ -345,7 +345,7 @@ const ActionButton: React.FC<ActionButtonProps> = ({
345345
return;
346346
}
347347

348-
const terminalUrl = `${workspaceState.base_url}/@${workspaceState.username}/${workspaceState.workspace_id}.${workspaceState.agent}/terminal`;
348+
const terminalUrl = `${workspaceState.base_url}/@${workspaceState.username}/${workspaceState.name}.${workspaceState.agent}/terminal`;
349349
console.debug(`[pad.ws] Opening terminal in new tab: ${terminalUrl}`);
350350
window.open(terminalUrl, '_blank');
351351
} else {
@@ -366,7 +366,7 @@ const ActionButton: React.FC<ActionButtonProps> = ({
366366
}
367367

368368
const owner = workspaceState.username;
369-
const workspace = workspaceState.workspace_id;
369+
const workspace = workspaceState.name;
370370
const url = workspaceState.base_url;
371371
const agent = workspaceState.agent;
372372

src/frontend/src/pad/containers/Terminal.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ export const Terminal: React.FC<TerminalProps> = ({
5656
terminalId,
5757
baseUrl: workspaceState.base_url,
5858
username: workspaceState.username,
59-
workspaceId: workspaceState.workspace_id,
59+
workspaceId: workspaceState.name,
6060
agent: workspaceState.agent
6161
};
6262

@@ -162,7 +162,7 @@ export const Terminal: React.FC<TerminalProps> = ({
162162
return '';
163163
}
164164

165-
const baseUrl = `${workspaceState.base_url}/@${workspaceState.username}/${workspaceState.workspace_id}.${workspaceState.agent}/terminal`;
165+
const baseUrl = `${workspaceState.base_url}/@${workspaceState.username}/${workspaceState.name}.${workspaceState.agent}/terminal`;
166166

167167
// Add reconnect parameter if terminal ID exists
168168
if (terminalId) {

0 commit comments

Comments
 (0)