diff --git a/application/single_app/config.py b/application/single_app/config.py index 24a90b32c..031f58018 100644 --- a/application/single_app/config.py +++ b/application/single_app/config.py @@ -101,7 +101,7 @@ EXECUTOR_TYPE = 'thread' EXECUTOR_MAX_WORKERS = 30 SESSION_TYPE = 'filesystem' -VERSION = "0.261.295" +VERSION = "0.261.296" IS_DEVELOPMENT = is_development_env_enabled() # Opt-out for deployments where App Service Easy Auth is active but the platform diff --git a/application/v2_ui/src/components/settings/WorkspaceListTab.tsx b/application/v2_ui/src/components/settings/WorkspaceListTab.tsx index 80443cae0..974959730 100644 --- a/application/v2_ui/src/components/settings/WorkspaceListTab.tsx +++ b/application/v2_ui/src/components/settings/WorkspaceListTab.tsx @@ -6,8 +6,9 @@ // been fetched would quietly hide matches. import { useCallback, useEffect, useRef, useState } from 'react'; +import { useNavigate } from 'react-router-dom'; import { clsx } from 'clsx'; -import { Check, Globe2, Loader2, Search, Users } from 'lucide-react'; +import { ArrowUpRight, Check, Globe2, Loader2, Search, Users } from 'lucide-react'; import { ApiError } from '../../lib/apiClient'; import type { WorkspaceKind, WorkspaceSummary } from '../../lib/workspaces'; import { GlassPanel, Skeleton } from '../ui/primitives'; @@ -23,13 +24,14 @@ function RoleBadge({ role }: { role?: string }) { return null; } return ( - + {role} ); } export function WorkspaceListTab({ kind }: { kind: WorkspaceKind }) { + const navigate = useNavigate(); const needsReconciliation = useGroupWorkspaceStore((state) => kind.scope === 'group' && state.needsReconciliation); const [items, setItems] = useState([]); const [page, setPage] = useState(1); @@ -128,6 +130,18 @@ export function WorkspaceListTab({ kind }: { kind: WorkspaceKind }) { } }; + // Open never activates from here; the page it lands on decides, as with the directories. + const openWorkspace = (workspace: WorkspaceSummary) => { + let path: string; + try { + path = kind.openPath(workspace.id); + } catch { + setActionError(`Could not open that ${kind.noun}.`); + return; + } + navigate(path); + }; + const lastPage = Math.max(1, Math.ceil(totalCount / PAGE_SIZE)); const title = `Your ${kind.pluralNoun}`; @@ -186,15 +200,17 @@ export function WorkspaceListTab({ kind }: { kind: WorkspaceKind }) {