From 948780e3fae46c78ea2bedf02667831a215ced80 Mon Sep 17 00:00:00 2001 From: t0ng7u Date: Fri, 8 May 2026 01:50:03 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=8E=A8=20fix(theme):=20align=20UI=20contr?= =?UTF-8?q?ols=20with=20global=20radius=20tokens?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Remove hard-coded and capped border radius overrides so shared controls and feature actions consistently follow the active theme radius. - Replace fixed radius utilities with semantic theme-aware radius tokens - Remove redundant `rounded-full` and pixel-based overrides from header, toolbar, Playground, and utility actions - Drop unused `StatusBadge` rounded prop usage - Keep existing component behavior intact while improving global theme consistency --- .../src/assets/custom/icon-theme-system.tsx | 2 +- .../src/components/ai-elements/branch.tsx | 4 +-- .../components/ai-elements/conversation.tsx | 2 +- .../ai-elements/inline-citation.tsx | 6 +--- .../components/ai-elements/prompt-input.tsx | 2 +- .../src/components/ai-elements/suggestion.tsx | 2 +- .../src/components/ai-elements/tool.tsx | 2 +- web/default/src/components/auto-skeleton.tsx | 5 ++- web/default/src/components/config-drawer.tsx | 6 ++-- .../components/data-table/bulk-actions.tsx | 2 +- .../data-table/mobile-card-list.tsx | 2 +- .../src/components/language-switcher.tsx | 8 +---- .../components/layout/components/mockup.tsx | 2 +- .../layout/components/nav-group.tsx | 2 +- .../layout/components/public-header.tsx | 9 +++-- web/default/src/components/learn-more.tsx | 2 +- .../src/components/model-group-selector.tsx | 4 +-- web/default/src/components/multi-select.tsx | 2 +- .../src/components/notification-button.tsx | 4 +-- .../src/components/profile-dropdown.tsx | 7 +--- web/default/src/components/status-badge.tsx | 3 -- .../src/components/theme-quick-switcher.tsx | 14 ++++---- web/default/src/components/theme-switch.tsx | 8 +---- web/default/src/components/ui/button.tsx | 9 +++-- web/default/src/components/ui/carousel.tsx | 4 +-- web/default/src/components/ui/chart.tsx | 4 +-- web/default/src/components/ui/checkbox.tsx | 2 +- web/default/src/components/ui/input-group.tsx | 7 ++-- .../src/components/ui/native-select.tsx | 2 +- web/default/src/components/ui/select.tsx | 2 +- .../src/components/ui/toggle-group.tsx | 2 +- web/default/src/components/ui/toggle.tsx | 2 +- .../auth/components/oauth-callback-screen.tsx | 2 +- .../components/secure-verification-dialog.tsx | 2 +- .../channels/components/channels-columns.tsx | 2 +- .../components/dialogs/codex-usage-dialog.tsx | 2 +- .../models/consumption-distribution-chart.tsx | 17 ++++++++-- .../components/models/model-charts.tsx | 17 ++++++++-- .../overview/overview-dashboard.tsx | 4 +-- .../components/users/user-charts.tsx | 1 + .../src/features/dashboard/lib/charts.ts | 6 ++-- .../features/home/components/gateway-card.tsx | 2 +- .../keys/components/api-keys-table.tsx | 2 +- .../src/features/legal/legal-document.tsx | 2 +- .../components/deployment-access-guard.tsx | 4 +-- .../models/components/deployments-columns.tsx | 3 -- .../prefill-group-management-dialog.tsx | 2 +- .../components/playground-input.tsx | 13 +++----- .../features/playground/lib/message-styles.ts | 2 +- .../components/dynamic-pricing-breakdown.tsx | 4 +-- .../pricing/components/loading-skeleton.tsx | 2 +- .../pricing/components/model-details-apps.tsx | 2 +- .../components/model-details-charts.tsx | 14 ++++++-- .../model-details-uptime-sparkline.tsx | 4 +-- .../pricing/components/pricing-sidebar.tsx | 2 +- .../pricing/components/pricing-toolbar.tsx | 2 +- .../components/checkin-calendar-card.tsx | 8 ++--- .../dialogs/telegram-bind-dialog.tsx | 2 +- .../components/market-share-section.tsx | 13 ++++++-- .../rankings/components/models-section.tsx | 13 ++++++-- .../setup/components/complete-step.tsx | 2 +- .../src/features/setup/setup-wizard.tsx | 2 +- .../amount-options-visual-editor.tsx | 2 +- web/default/src/lib/theme-radius.ts | 33 +++++++++++++++++++ 64 files changed, 193 insertions(+), 129 deletions(-) create mode 100644 web/default/src/lib/theme-radius.ts diff --git a/web/default/src/assets/custom/icon-theme-system.tsx b/web/default/src/assets/custom/icon-theme-system.tsx index 1af55543..7a93aee5 100644 --- a/web/default/src/assets/custom/icon-theme-system.tsx +++ b/web/default/src/assets/custom/icon-theme-system.tsx @@ -11,7 +11,7 @@ export function IconThemeSystem({ xmlns='http://www.w3.org/2000/svg' viewBox='0 0 79.86 51.14' className={cn( - 'overflow-hidden rounded-[6px]', + 'overflow-hidden rounded-md', 'stroke-primary fill-primary group-data-unchecked:stroke-muted-foreground group-data-unchecked:fill-muted-foreground', className )} diff --git a/web/default/src/components/ai-elements/branch.tsx b/web/default/src/components/ai-elements/branch.tsx index 2388719d..5fddaddb 100644 --- a/web/default/src/components/ai-elements/branch.tsx +++ b/web/default/src/components/ai-elements/branch.tsx @@ -159,7 +159,7 @@ export const BranchPrevious = ({ + diff --git a/web/default/src/components/learn-more.tsx b/web/default/src/components/learn-more.tsx index 210d6716..d9078ca4 100644 --- a/web/default/src/components/learn-more.tsx +++ b/web/default/src/components/learn-more.tsx @@ -25,7 +25,7 @@ export function LearnMore({ } > {t('Learn more')} diff --git a/web/default/src/components/model-group-selector.tsx b/web/default/src/components/model-group-selector.tsx index 8d340137..a79a6fb6 100644 --- a/web/default/src/components/model-group-selector.tsx +++ b/web/default/src/components/model-group-selector.tsx @@ -71,7 +71,7 @@ const ModelTriggerButton = React.forwardRef< size='sm' disabled={isDisabled} className={cn( - 'flex h-8 items-center gap-2 rounded-full border px-3 font-medium', + 'flex h-8 items-center gap-2 border px-3 font-medium', 'justify-center p-0 sm:w-auto sm:justify-start sm:px-3', 'w-8', 'bg-background text-foreground', @@ -107,7 +107,7 @@ const GroupTriggerButton = React.forwardRef< size='sm' disabled={isDisabled} className={cn( - 'flex h-8 items-center gap-2 rounded-full border px-3 font-medium', + 'flex h-8 items-center gap-2 border px-3 font-medium', 'justify-center p-0 sm:w-auto sm:justify-start sm:px-3', 'w-8', 'bg-background text-foreground', diff --git a/web/default/src/components/multi-select.tsx b/web/default/src/components/multi-select.tsx index c2e25a98..67ee75a6 100644 --- a/web/default/src/components/multi-select.tsx +++ b/web/default/src/components/multi-select.tsx @@ -70,7 +70,7 @@ export function MultiSelect({ variant='ghost' size='icon-sm' aria-label='Remove' - className='ml-1 size-auto rounded-full p-0' + className='ml-1 size-auto p-0' onKeyDown={(e) => { if (e.key === 'Enter') { handleUnselect(value) diff --git a/web/default/src/components/notification-button.tsx b/web/default/src/components/notification-button.tsx index 457fef9f..3a03ec12 100644 --- a/web/default/src/components/notification-button.tsx +++ b/web/default/src/components/notification-button.tsx @@ -26,7 +26,7 @@ export function NotificationButton({ variant='ghost' size='icon' onClick={onClick} - className={cn('h-9 w-9 rounded-full', className)} + className={cn('h-9 w-9', className)} aria-label={t('Notifications')} > @@ -35,7 +35,7 @@ export function NotificationButton({ {unreadCount > 0 && ( {unreadCount > 99 ? '99+' : unreadCount} diff --git a/web/default/src/components/profile-dropdown.tsx b/web/default/src/components/profile-dropdown.tsx index 5c1d0b5c..c759db32 100644 --- a/web/default/src/components/profile-dropdown.tsx +++ b/web/default/src/components/profile-dropdown.tsx @@ -38,12 +38,7 @@ export function ProfileDropdown() { <> - } + render={