diff --git a/packages/ui/src/custom/org-landing-page/course-primary-action.svelte b/packages/ui/src/custom/org-landing-page/course-primary-action.svelte index 2e1b14a9..5a4a88eb 100644 --- a/packages/ui/src/custom/org-landing-page/course-primary-action.svelte +++ b/packages/ui/src/custom/org-landing-page/course-primary-action.svelte @@ -18,13 +18,11 @@ const landingSize = $derived(size === 'sm' ? 'sm' : size === 'lg' ? 'lg' : 'md'); const isDisabled = $derived(action.disabled ?? false); - const disabledClass = $derived( - variant === 'secondary' - ? 'ui:!bg-[var(--landing-button-secondary-bg)] ui:!text-[var(--landing-button-secondary-fg)] ui:hover:!bg-[var(--landing-button-secondary-bg)]' - : variant === 'tertiary' - ? 'ui:!bg-transparent ui:!text-[var(--landing-button-tertiary-fg)] ui:hover:!bg-transparent' - : 'ui:!bg-[var(--landing-button-primary-bg)] ui:!text-[var(--landing-button-primary-fg)] ui:hover:!bg-[var(--landing-button-primary-bg)]' - ); + // Match pricing CTA disabled appearance: theme hero color overrides must not win when enrollment is closed. + const disabledClass = + 'ui:pointer-events-none ui:!opacity-50 ui:disabled:opacity-50 ui:aria-disabled:opacity-50' + + ' ui:!bg-[var(--landing-button-primary-bg)] ui:!text-[var(--landing-button-primary-fg)]' + + ' ui:hover:!bg-[var(--landing-button-primary-bg)] ui:hover:!opacity-50 ui:!border-transparent'; import type { Snippet } from 'svelte'; + import { cn } from '../../tools'; type Variant = 'primary' | 'secondary' | 'tertiary'; type Size = 'sm' | 'md' | 'lg'; @@ -30,10 +31,10 @@ const sizeClass = $derived( size === 'sm' - ? 'ui:px-3 ui:py-1.5 ui:text-sm' + ? 'ui:h-8 ui:px-3 ui:text-sm' : size === 'lg' - ? 'ui:px-6 ui:py-3 ui:text-base' - : 'ui:px-4 ui:py-2 ui:text-sm' + ? 'ui:h-10 ui:px-6 ui:text-sm' + : 'ui:h-9 ui:px-4 ui:text-sm' ); const variantClass = $derived( @@ -47,7 +48,7 @@ const baseClass = 'ui:inline-flex ui:items-center ui:justify-center ui:gap-1.5 ui:rounded-md ui:font-medium ui:border ui:transition-colors ui:focus-visible:outline-none ui:focus-visible:ring-2 ui:focus-visible:ring-[var(--landing-accent)]/50 ui:disabled:opacity-50 ui:disabled:cursor-not-allowed ui:cursor-pointer ui:no-underline ui:whitespace-nowrap'; - const finalClass = $derived(`${baseClass} ${sizeClass} ${variantClass} ${extraClass}`); + const finalClass = $derived(cn(baseClass, sizeClass, variantClass, extraClass)); {#if href && !disabled} diff --git a/packages/ui/src/custom/org-landing-page/terminal/hero.svelte b/packages/ui/src/custom/org-landing-page/terminal/hero.svelte index 85122d6d..345838fd 100644 --- a/packages/ui/src/custom/org-landing-page/terminal/hero.svelte +++ b/packages/ui/src/custom/org-landing-page/terminal/hero.svelte @@ -108,11 +108,7 @@ {hero.secondaryAction.label} {/if} - + {/if}