Skip to content

Commit e403132

Browse files
committed
feat(workspaces): manual Apply, duplicate validation, newcomer copy + modern redesign
- Replace the debounced autosave (and flush-on-close) with an explicit Apply button in every mode. Edit mode stays disabled until something changes and shows an unsaved-changes hint; closing discards unsaved edits. - Inline duplicate-folder validation: block + explain when a folder is already mapped (excludes the row being edited). - Reframe "binding" -> "mapping" in user-facing copy; add a "What is a mapping?" primer and plain-language hints for Workspace folder / Space / Feature set. Same terminology in the new-workspace sheet. - Modern card redesign: gradient folder tile, pulsing live dot, folder-name-first hierarchy, clearer "Not mapped" state. - Explain why Apply is disabled when no feature set is selected. Signed-off-by: Mohammod Al Amin Ashik <maa.ashik00@gmail.com>
1 parent 78b4611 commit e403132

2 files changed

Lines changed: 281 additions & 217 deletions

File tree

apps/desktop/src/features/workspaces/WorkspaceBindingSheet.tsx

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -194,10 +194,12 @@ export function WorkspaceBindingSheet() {
194194
New workspace detected
195195
</div>
196196
<h2 className="text-[22px] font-semibold leading-tight tracking-tight text-[rgb(var(--foreground))]">
197-
Which tools should this folder see?
197+
Which tools should this folder get?
198198
</h2>
199199
<p className="mt-2 text-sm text-[rgb(var(--muted))]">
200-
Pick a Space and its tool set — every client you open here will get the same one.
200+
You just opened this folder in a connected app. Choose a Space and a
201+
feature set, and every app you open here will get exactly those
202+
tools.
201203
</p>
202204

203205
<div className="mt-5 flex items-start gap-3 rounded-xl border border-[rgb(var(--border))] bg-[rgb(var(--surface))] px-4 py-3">
@@ -215,9 +217,13 @@ export function WorkspaceBindingSheet() {
215217

216218
<div className="flex-1 overflow-y-auto px-8 pb-6 space-y-6">
217219
<div>
218-
<div className="mb-3 text-xs font-medium uppercase tracking-wider text-[rgb(var(--muted))]">
220+
<div className="mb-1 text-xs font-medium uppercase tracking-wider text-[rgb(var(--muted))]">
219221
Space
220222
</div>
223+
<p className="mb-3 text-xs text-[rgb(var(--muted))]">
224+
A profile that groups MCP servers — pick the one this folder draws
225+
its tools from.
226+
</p>
221227
<div className="relative">
222228
<select
223229
value={selectedSpaceId}
@@ -238,9 +244,13 @@ export function WorkspaceBindingSheet() {
238244
</div>
239245

240246
<div>
241-
<div className="mb-3 text-xs font-medium uppercase tracking-wider text-[rgb(var(--muted))]">
242-
Tool set
247+
<div className="mb-1 text-xs font-medium uppercase tracking-wider text-[rgb(var(--muted))]">
248+
Feature set
243249
</div>
250+
<p className="mb-3 text-xs text-[rgb(var(--muted))]">
251+
The exact tools, prompts, and resources this folder is allowed to
252+
use.
253+
</p>
244254
{loadingFs ? (
245255
<div className="flex items-center justify-center py-8 text-[rgb(var(--muted))]">
246256
<Loader2 className="h-4 w-4 animate-spin" />

0 commit comments

Comments
 (0)