-
+
{{ i18n.baseText('agents.builder.agentEvals.review.loadMore') }}
diff --git a/packages/frontend/editor-ui/src/features/agents/components/AgentEvalTryRow.vue b/packages/frontend/editor-ui/src/features/agents/components/AgentEvalTryRow.vue
index b1e2b948e54..0df2928d40f 100644
--- a/packages/frontend/editor-ui/src/features/agents/components/AgentEvalTryRow.vue
+++ b/packages/frontend/editor-ui/src/features/agents/components/AgentEvalTryRow.vue
@@ -279,7 +279,7 @@ watch(
{
expect(button?.getAttribute('style')).toBeNull();
});
+ it('should map the subtle variant to outline without legacy style overrides', () => {
+ cloudPlanStore.state.data = {
+ bannerConfig: {
+ cta: {
+ text: 'Upgrade',
+ style: 'success',
+ variant: 'subtle',
+ },
+ },
+ } as never;
+
+ const { container } = renderComponent();
+ const button = container.querySelector('button');
+ expect(button?.className).toContain('outline');
+ expect(button?.getAttribute('style')).toBeNull();
+ });
+
it('should apply legacy style overrides when backend sends style without variant', () => {
cloudPlanStore.state.data = {
bannerConfig: {
diff --git a/packages/frontend/editor-ui/src/features/shared/banners/components/banners/TrialBanner.vue b/packages/frontend/editor-ui/src/features/shared/banners/components/banners/TrialBanner.vue
index 0b92eb56492..77b2ec2d719 100644
--- a/packages/frontend/editor-ui/src/features/shared/banners/components/banners/TrialBanner.vue
+++ b/packages/frontend/editor-ui/src/features/shared/banners/components/banners/TrialBanner.vue
@@ -106,14 +106,18 @@ const shouldHideTrialBanner = computed(
// Banner config from backend
const bannerTimeLeft = computed(() => cloudPlanStore.bannerTimeLeft);
const showExecutions = computed(() => cloudPlanStore.showExecutions);
-const bannerCta = computed(() => ({
- text: cloudPlanStore.bannerCta.text,
- icon: cloudPlanStore.bannerCta.icon as IconName | undefined,
- size: cloudPlanStore.bannerCta.size as 'small' | 'medium',
- style: cloudPlanStore.bannerCta.style,
- variant: cloudPlanStore.bannerCta.variant as ButtonVariant | undefined,
- href: cloudPlanStore.bannerCta.href,
-}));
+const bannerCta = computed(() => {
+ const variant = cloudPlanStore.bannerCta.variant;
+ return {
+ text: cloudPlanStore.bannerCta.text,
+ icon: cloudPlanStore.bannerCta.icon as IconName | undefined,
+ size: cloudPlanStore.bannerCta.size as 'small' | 'medium',
+ style: cloudPlanStore.bannerCta.style,
+ // BannerConfig.cta.variant still lists the old button value 'subtle'.
+ variant: variant === 'subtle' ? 'outline' : variant,
+ href: cloudPlanStore.bannerCta.href,
+ };
+});
const bannerIcon = computed(() => cloudPlanStore.bannerIcon as IconName | undefined);
// If backend sends variant, use it directly. Otherwise, map legacy style to variant.
diff --git a/packages/frontend/editor-ui/src/features/workflows/workflowHistory/components/WorkflowPublishTimelineContent.vue b/packages/frontend/editor-ui/src/features/workflows/workflowHistory/components/WorkflowPublishTimelineContent.vue
index 14f3ce14615..2170552e016 100644
--- a/packages/frontend/editor-ui/src/features/workflows/workflowHistory/components/WorkflowPublishTimelineContent.vue
+++ b/packages/frontend/editor-ui/src/features/workflows/workflowHistory/components/WorkflowPublishTimelineContent.vue
@@ -375,7 +375,7 @@ onBeforeUnmount(() => {