Skip to content

Commit 7e22e7a

Browse files
committed
style(ui): modern empty states; on-template onboarding tile; app-first copy
Final sweep of the design pass: - Tools page empty state: replace the 📦-emoji block with the app's empty pattern — dashed card, tinted Compass tile, explanatory copy, CTA into Discover with a Lucide arrow (was inline SVG). - Apps onboarding card: gradient icon tile → flat primary tint (the template language is flat tints + accent strips, no gradients); copy modernized ("Connect your first AI app", "AI app" not "IDE/client"). Naming decision (kept, deliberately): the built-in server stays "Tool Optimization" — benefit-led ("keeps the AI's toolset lean") beats the mechanism-led "Self-management", which reads ambiguous and scarier to an approval-conscious newcomer. "Self-management" remains the mechanism term in developer docs only; the descriptor copy in builtin.rs already explains the behavior and the approval model. Verified: vitest 174 passed, tsc clean, eslint 0 errors. Signed-off-by: Mohammod Al Amin Ashik <maa.ashik00@gmail.com>
1 parent d6adf7d commit 7e22e7a

2 files changed

Lines changed: 18 additions & 22 deletions

File tree

apps/desktop/src/features/clients/ClientsPage.tsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -904,14 +904,14 @@ function EmptyStateOnboarding({ gatewayStatus }: { gatewayStatus: GatewayStatus
904904
<Card data-testid="clients-empty-onboarding">
905905
<CardContent className="p-8">
906906
<div className="mb-1 flex items-start gap-4">
907-
<div className="from-primary-500 to-primary-600 flex h-12 w-12 flex-shrink-0 items-center justify-center rounded-xl bg-gradient-to-br text-white shadow-[0_6px_16px_-4px_rgb(99_102_241/0.45)]">
907+
<div className="flex h-12 w-12 flex-shrink-0 items-center justify-center rounded-xl bg-[rgb(var(--primary))]/10 text-[rgb(var(--primary))]">
908908
<PlugZap className="h-6 w-6" />
909909
</div>
910910
<div>
911-
<h2 className="text-xl font-semibold">Let&apos;s hook up your first IDE</h2>
911+
<h2 className="text-xl font-semibold">Connect your first AI app</h2>
912912
<p className="mt-1 text-sm text-[rgb(var(--muted))]">
913-
mcpmux is one connection your AI client uses to reach every MCP server. Three steps
914-
and you&apos;re done:
913+
McpMux is one connection your AI app uses to reach every tool. Three steps and
914+
you&apos;re done:
915915
</p>
916916
</div>
917917
</div>

apps/desktop/src/features/servers/ServersPage.tsx

Lines changed: 14 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@ import {
1919
Clock,
2020
FileJson,
2121
FolderOpen,
22+
Compass,
23+
ArrowRight,
2224
} from 'lucide-react';
2325
import { PageHeader } from '@mcpmux/ui';
2426
import { ServerActionMenu } from './ServerActionMenu';
@@ -956,28 +958,22 @@ export function ServersPage() {
956958

957959
{/* Server List */}
958960
{installedServers.length === 0 ? (
959-
<div className="py-12 text-center text-[rgb(var(--muted))]">
960-
<div className="mb-4 text-5xl">📦</div>
961-
<p className="mb-2 text-lg">No servers installed</p>
961+
<div className="flex flex-col items-center rounded-xl border border-dashed border-[rgb(var(--border))] bg-[rgb(var(--surface))] px-6 py-12 text-center">
962+
<span className="flex h-12 w-12 items-center justify-center rounded-xl bg-[rgb(var(--primary))]/10 text-[rgb(var(--primary))]">
963+
<Compass className="h-6 w-6" />
964+
</span>
965+
<p className="mt-4 text-base font-semibold">No tools in this Space yet</p>
966+
<p className="mt-1 max-w-sm text-sm text-[rgb(var(--muted))]">
967+
Install an MCP server from the registry and its tools become available to every
968+
connected AI app.
969+
</p>
962970
<button
963971
onClick={() => navigateTo('registry')}
964-
className="mt-3 inline-flex items-center gap-2 rounded-lg bg-[rgb(var(--primary))] px-5 py-2.5 text-sm font-medium text-[rgb(var(--primary-foreground))] shadow-sm transition-all hover:bg-[rgb(var(--primary-hover))] hover:shadow"
972+
className="mt-5 inline-flex items-center gap-2 rounded-lg bg-[rgb(var(--primary))] px-5 py-2.5 text-sm font-medium text-[rgb(var(--primary-foreground))] shadow-sm transition-all hover:bg-[rgb(var(--primary-hover))] hover:shadow"
965973
data-testid="discover-servers-btn"
966974
>
967-
Discover MCP Servers
968-
<svg
969-
width="16"
970-
height="16"
971-
viewBox="0 0 24 24"
972-
fill="none"
973-
stroke="currentColor"
974-
strokeWidth="2"
975-
strokeLinecap="round"
976-
strokeLinejoin="round"
977-
>
978-
<path d="M5 12h14" />
979-
<path d="m12 5 7 7-7 7" />
980-
</svg>
975+
Browse Discover
976+
<ArrowRight className="h-4 w-4" />
981977
</button>
982978
</div>
983979
) : (

0 commit comments

Comments
 (0)