fix(ui): de-surface updates center from primary navigation

- remove Updates Center from sidebar general nav

- remove updates spotlight banners from home, api, and cliproxy pages

- adjust updates catalog copy to reflect on-demand inbox usage
This commit is contained in:
Tam Nhu Tran committed 2026-02-25 20:14:41 +07:00
1 parent ae7ab59746
commit 69378ada3e
5 files changed
+10 -21

No files matched your search

-2
View File
@@ -11,7 +11,6 @@ import {
BarChart3, BarChart3,
Gauge, Gauge,
Github, Github,
Megaphone,
} from 'lucide-react'; } from 'lucide-react';
import type { LucideIcon } from 'lucide-react'; import type { LucideIcon } from 'lucide-react';
import { import {
@@ -68,7 +67,6 @@ const navGroups: SidebarGroupDef[] = [
title: 'General', title: 'General',
items: [ items: [
{ path: '/', icon: Home, label: 'Home' }, { path: '/', icon: Home, label: 'Home' },
{ path: '/updates', icon: Megaphone, label: 'Updates Center' },
{ path: '/analytics', icon: BarChart3, label: 'Analytics' }, { path: '/analytics', icon: BarChart3, label: 'Analytics' },
], ],
}, },
+10 -9
View File
@@ -114,24 +114,25 @@ export const SUPPORT_NOTICES: SupportNotice[] = [
}, },
{ {
id: 'updates-center-launch', id: 'updates-center-launch',
title: 'Updates Center added to dashboard navigation', title: 'Updates inbox is available for rollout tasks',
summary: summary:
'CCS now has a dedicated updates route so support announcements are visible and reusable.', 'A focused updates inbox exists for setup tasks and rollout guidance when you need it.',
primaryAction: 'Use this page as your action inbox, then close updates when done.', primaryAction:
'Use this page only when needed for rollout tasks, then return to your normal workflow.',
publishedAt: '2026-02-25', publishedAt: '2026-02-25',
status: 'new', status: 'new',
scopes: ['target', 'cliproxy', 'api-profiles', 'websearch'], scopes: ['target', 'cliproxy', 'api-profiles', 'websearch'],
entryIds: ['droid-target', 'codex-cliproxy', 'custom-api-profiles', 'opencode-websearch'], entryIds: ['droid-target', 'codex-cliproxy', 'custom-api-profiles', 'opencode-websearch'],
highlights: [ highlights: [
'Single data source powers Home spotlight and Updates Center page.', 'Single data source powers update content and integration mapping.',
'New support entries can be added without touching multiple pages.', 'Notices can be tracked as new, seen, done, or dismissed.',
'Catalog includes targets, CLIProxy providers, and WebSearch integrations.', 'Catalog covers target CLI, CLIProxy providers, and WebSearch integrations.',
], ],
actions: [ actions: [
{ {
id: 'open-updates-page', id: 'open-updates-page',
label: 'Review new support updates', label: 'Open updates inbox when needed',
description: 'Work through pending notices and mark them done when configured.', description: 'Review rollout tasks only when you want guided setup changes.',
type: 'route', type: 'route',
path: '/updates', path: '/updates',
}, },
@@ -143,7 +144,7 @@ export const SUPPORT_NOTICES: SupportNotice[] = [
command: 'ccs config', command: 'ccs config',
}, },
], ],
routes: [{ label: 'Updates Center', path: '/updates' }], routes: [{ label: 'Updates Inbox', path: '/updates' }],
commands: ['ccs config'], commands: ['ccs config'],
}, },
]; ];
-5
View File
@@ -23,7 +23,6 @@ import { ProfileCreateDialog } from '@/components/profiles/profile-create-dialog
import { OpenRouterBanner } from '@/components/profiles/openrouter-banner'; import { OpenRouterBanner } from '@/components/profiles/openrouter-banner';
import { OpenRouterQuickStart } from '@/components/profiles/openrouter-quick-start'; import { OpenRouterQuickStart } from '@/components/profiles/openrouter-quick-start';
import { OpenRouterPromoCard } from '@/components/profiles/openrouter-promo-card'; import { OpenRouterPromoCard } from '@/components/profiles/openrouter-promo-card';
import { UpdatesSpotlight } from '@/components/updates/updates-spotlight';
import { useProfiles, useDeleteProfile } from '@/hooks/use-profiles'; import { useProfiles, useDeleteProfile } from '@/hooks/use-profiles';
import { useOpenRouterModels } from '@/hooks/use-openrouter-models'; import { useOpenRouterModels } from '@/hooks/use-openrouter-models';
import { ConfirmDialog } from '@/components/shared/confirm-dialog'; import { ConfirmDialog } from '@/components/shared/confirm-dialog';
@@ -97,10 +96,6 @@ export function ApiPage() {
{/* OpenRouter Announcement Banner */} {/* OpenRouter Announcement Banner */}
<OpenRouterBanner onCreateClick={() => setCreateDialogOpen(true)} /> <OpenRouterBanner onCreateClick={() => setCreateDialogOpen(true)} />
<div className="px-4 pt-4">
<UpdatesSpotlight compact />
</div>
{/* Main Content */} {/* Main Content */}
<div className="flex-1 flex min-h-0"> <div className="flex-1 flex min-h-0">
{/* Left Panel - Profiles List */} {/* Left Panel - Profiles List */}
-2
View File
@@ -17,7 +17,6 @@ import { AccountSafetyWarningCard } from '@/components/account/account-safety-wa
import { ProviderEditor } from '@/components/cliproxy/provider-editor'; import { ProviderEditor } from '@/components/cliproxy/provider-editor';
import { ProviderLogo } from '@/components/cliproxy/provider-logo'; import { ProviderLogo } from '@/components/cliproxy/provider-logo';
import { ProxyStatusWidget } from '@/components/monitoring/proxy-status-widget'; import { ProxyStatusWidget } from '@/components/monitoring/proxy-status-widget';
import { UpdatesSpotlight } from '@/components/updates/updates-spotlight';
import { import {
useCliproxy, useCliproxy,
useCliproxyAuth, useCliproxyAuth,
@@ -398,7 +397,6 @@ export function CliproxyPage() {
{/* Right Panel */} {/* Right Panel */}
<div className="flex-1 flex flex-col min-w-0 bg-background"> <div className="flex-1 flex flex-col min-w-0 bg-background">
<UpdatesSpotlight className="mx-4 mt-4" compact />
{showAccountSafetyWarning && <AccountSafetyWarningCard className="mx-4 mt-4" />} {showAccountSafetyWarning && <AccountSafetyWarningCard className="mx-4 mt-4" />}
{selectedVariantData && parentAuthForVariant ? ( {selectedVariantData && parentAuthForVariant ? (
-3
View File
@@ -7,7 +7,6 @@ import { Skeleton } from '@/components/ui/skeleton';
import { Key, Zap, Users, Activity, AlertTriangle } from 'lucide-react'; import { Key, Zap, Users, Activity, AlertTriangle } from 'lucide-react';
import { useOverview } from '@/hooks/use-overview'; import { useOverview } from '@/hooks/use-overview';
import { useSharedSummary } from '@/hooks/use-shared'; import { useSharedSummary } from '@/hooks/use-shared';
import { UpdatesSpotlight } from '@/components/updates/updates-spotlight';
import { cn } from '@/lib/utils'; import { cn } from '@/lib/utils';
import type { LucideIcon } from 'lucide-react'; import type { LucideIcon } from 'lucide-react';
@@ -166,8 +165,6 @@ export function HomePage() {
</div> </div>
</div> </div>
<UpdatesSpotlight />
{/* Configuration Warning */} {/* Configuration Warning */}
{shared?.symlinkStatus && !shared.symlinkStatus.valid && ( {shared?.symlinkStatus && !shared.symlinkStatus.valid && (
<Alert variant="warning"> <Alert variant="warning">