Commit b4ba091
committed
feat(ui): premium Active FeatureSet + empty-state Clients page onboarding
Three UX fixes driven by first real-app testing.
FeatureSets page — Active state is now recognisable
* Top-right corner ribbon with a gradient (emerald → green), Zap icon,
uppercase "ACTIVE" label, and a soft outer glow. Hard to miss, reads
"premium" not "toast notification".
* Active cards get a green ring + emerald-tinted background wash + a
stronger drop shadow so the whole card feels elevated, not just badged.
* "Applied to this Space" caption replaces the footer Set-Active button
when a card is Active — users don't have to hunt for what the ribbon
means.
* New explainer banner above the grid ("One Active FeatureSet per Space…")
so the feature is self-documenting.
"Set Active" button is now obviously a button
* Proper pill with emerald border, hover-fill gradient, Zap icon. No
longer competes visually with "Configure".
* Loading state (spinner + "Activating…") fires during the Tauri
round-trip so a slow backend doesn't feel like a no-op.
* Triple event-guards on click (stopPropagation + preventDefault +
nativeEvent.stopImmediatePropagation) so no wrapping card onClick can
hijack the gesture. onMouseDown is also guarded.
* Success toast now says "{name} is now Active" + describes scope so
users know what they just did.
Clients page — empty state is a guided three-step onboarding
* Replaces the "No clients connected" card with a numbered walk-through:
1. Add mcpmux to your IDE (ConnectIDEs grid, embedded)
2. Restart / reconnect the MCP server in that IDE
3. Approve the connection here — "on this page" pill
* ConnectIDEs is reused from the Dashboard so users never leave the
page to finish the flow. Gateway URL + status are fetched on mount.
* When the gateway is stopped, an amber warning box appears inside the
card telling users it needs to be running, otherwise the IDE will
hang at `initialize` (the exact bug that motivated this fix).
* ConnectIDEs header description now reminds users to restart the MCP
server in the IDE after add, and that approval shows up in this app.
Cleanup
* Drop a stale `eslint-disable no-console` directive in
MetaToolApprovalDialog that the linter flagged as unused.
pnpm typecheck + lint clean; no new warnings introduced. Existing 31
warnings are all pre-existing useEffect dependency suppressions.
Signed-off-by: Mohammod Al Amin Ashik <maa.ashik00@gmail.com>1 parent 382c374 commit b4ba091
4 files changed
Lines changed: 231 additions & 52 deletions
File tree
- apps/desktop/src
- components
- features
- clients
- featuresets
- metaTools
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
127 | 127 | | |
128 | 128 | | |
129 | 129 | | |
130 | | - | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
131 | 133 | | |
132 | 134 | | |
133 | 135 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
25 | 25 | | |
26 | 26 | | |
27 | 27 | | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
28 | 31 | | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
29 | 35 | | |
30 | 36 | | |
31 | 37 | | |
| |||
132 | 138 | | |
133 | 139 | | |
134 | 140 | | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
135 | 150 | | |
136 | 151 | | |
137 | 152 | | |
| |||
269 | 284 | | |
270 | 285 | | |
271 | 286 | | |
| 287 | + | |
| 288 | + | |
| 289 | + | |
272 | 290 | | |
273 | 291 | | |
274 | 292 | | |
| |||
603 | 621 | | |
604 | 622 | | |
605 | 623 | | |
606 | | - | |
607 | | - | |
608 | | - | |
609 | | - | |
610 | | - | |
611 | | - | |
612 | | - | |
613 | | - | |
614 | | - | |
615 | | - | |
616 | | - | |
617 | | - | |
618 | | - | |
619 | | - | |
| 624 | + | |
| 625 | + | |
| 626 | + | |
| 627 | + | |
| 628 | + | |
| 629 | + | |
| 630 | + | |
| 631 | + | |
| 632 | + | |
| 633 | + | |
| 634 | + | |
| 635 | + | |
| 636 | + | |
| 637 | + | |
| 638 | + | |
| 639 | + | |
| 640 | + | |
| 641 | + | |
| 642 | + | |
| 643 | + | |
| 644 | + | |
| 645 | + | |
| 646 | + | |
| 647 | + | |
| 648 | + | |
| 649 | + | |
| 650 | + | |
| 651 | + | |
| 652 | + | |
| 653 | + | |
| 654 | + | |
| 655 | + | |
| 656 | + | |
| 657 | + | |
| 658 | + | |
| 659 | + | |
| 660 | + | |
| 661 | + | |
| 662 | + | |
| 663 | + | |
| 664 | + | |
| 665 | + | |
| 666 | + | |
| 667 | + | |
| 668 | + | |
| 669 | + | |
| 670 | + | |
| 671 | + | |
| 672 | + | |
| 673 | + | |
| 674 | + | |
| 675 | + | |
| 676 | + | |
| 677 | + | |
| 678 | + | |
| 679 | + | |
| 680 | + | |
| 681 | + | |
| 682 | + | |
| 683 | + | |
| 684 | + | |
| 685 | + | |
| 686 | + | |
| 687 | + | |
| 688 | + | |
| 689 | + | |
| 690 | + | |
| 691 | + | |
| 692 | + | |
| 693 | + | |
| 694 | + | |
| 695 | + | |
| 696 | + | |
| 697 | + | |
| 698 | + | |
| 699 | + | |
| 700 | + | |
| 701 | + | |
| 702 | + | |
| 703 | + | |
| 704 | + | |
| 705 | + | |
| 706 | + | |
| 707 | + | |
| 708 | + | |
| 709 | + | |
| 710 | + | |
| 711 | + | |
| 712 | + | |
| 713 | + | |
| 714 | + | |
| 715 | + | |
| 716 | + | |
| 717 | + | |
| 718 | + | |
| 719 | + | |
| 720 | + | |
| 721 | + | |
| 722 | + | |
| 723 | + | |
| 724 | + | |
| 725 | + | |
| 726 | + | |
| 727 | + | |
| 728 | + | |
| 729 | + | |
| 730 | + | |
| 731 | + | |
620 | 732 | | |
621 | 733 | | |
622 | 734 | | |
| |||
0 commit comments